我有 2 个mdadm
数组。很久以前,当只有一次袭击时,我写道mdadm.conf
,它看起来像这样:
# mdadm.conf written out by anaconda
MAILADDR root
AUTO +imsm +1.x -all
ARRAY /dev/md/pv00 level=raid1 num-devices=2 UUID=55dc183e:d7199ced:929f5f4a:123c24a3
由于没有第二次突袭,我认为将其添加到它会是一个好主意。所以我跑了命令mdadm --detail --scan >> /etc/mdadm.conf
但是现在,第一次突袭有 2 个条目
# mdadm.conf written out by anaconda
MAILADDR root
AUTO +imsm +1.x -all
ARRAY /dev/md/pv00 level=raid1 num-devices=2 UUID=55dc183e:d7199ced:929f5f4a:123c24a3
ARRAY /dev/md/pv00 metadata=1.2 name=server.local:pv00 UUID=55dc183e:d7199ced:929f5f4a:123c24a3
ARRAY /dev/md/25 metadata=1.2 spares=2 name=server.local:25 UUID=a883dfb5:1a8f32ce:fd20e5d8:156a01ff
- 第一:我应该删除旧条目并只留下新条目吗?哪一个更好?
- 第二:为什么新旧条目有区别?旧的有,
level=raid1 num-devices=2
而新的只有metadata=1.2
代替。
编辑:部分找到的答案 - 3rd:找到信息,没有它,raid就不会开始。但是,挂载此数组的 fstab 中的条目似乎会自动启动它。所以需要还是不需要?
还发现有些人写信mdadm.conf
更新mdadm --verbose --detail --scan > /etc/mdadm.conf
源。合适吗?它还输出驱动器位置,例如:
ARRAY /dev/md/pv00 level=raid1 num-devices=2 metadata=1.2 name=server.local:pv00 UUID=55dc183e:d7199ced:929f5f4a:123c24a3
devices=/dev/sdi2,/dev/sdj1
ARRAY /dev/md/25 level=raid6 num-devices=6 metadata=1.2 spares=2 name=server.local:25 UUID=a883dfb5:1a8f32ce:fd20e5d8:156a01ff
devices=/dev/sda1,/dev/sdb1,/dev/sdc1,/dev/sdd1,/dev/sdf1,/dev/sdg1
它是正确的语法吗?我所知道的。驱动器/dev/sd*
可能会改变。那么添加devices
它是否安全?我最近不得不更换系统上的 SATA 电缆,并且字母发生了变化,因为我没有注意将它们连接到同一个端口。
mdadm
手册页是这样说的(强调我的):现在,对于你的问题,
不仅仅是设备名称可能会改变。其他一切都可能改变!
mdadm
支持不断增长的数组。所以你可以添加更多的变化的设备num-devices=2
,或者改变raidlevel=raid1
。驱动器可能会发生故障,从而导致备件自动接管,这会发生变化spares=2
,因为您的阵列仍然可用的备件将减少。甚至name=
也不受保护,因为处理主机名和数组名的方式存在各种问题mdadm
。元数据版本过去已更改,如果您使用过,metadata=0.90
则mdadm
可以将其更新为metadata=1.0
. 如果将来有新的元数据,可能会再次更新。数组在其整个生命周期中不变的一件事是
UUID=a883dfb5:1a8f32ce:fd20e5d8:156a01ff
,因此我在您链接的问题中的建议是:对于每个数组,只使用 UUID,没有别的。
所有这些变量的唯一目的是识别正确的数组,而 UUID 本身就可以完美地做到这一点,不需要其他任何东西。因此,只需删除其他内容。
当然,如果你真的想要,你也可以更改 UUID。但与阵列正常运行期间发生的其他更改相比,这是一个更加慎重的操作。
mdadm --detail --scan
只是一个起点,但不应按字面意思用作mdadm.conf
. 就像手册页所说的那样,它太详细了,太多的细节会导致组装失败。