我有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
但现在,第一个raid有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
。
编辑:部分找到答案 - 第三:找到信息,没有它,突袭就不会开始。但是,安装此阵列的 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 电缆,并且字母发生了变化,因为我没有注意将它们连接到同一端口。
答案1
手册mdadm
页是这样写的(强调我的):
echo 'DEVICE /dev/hd*[0-9] /dev/sd*[0-9]' > mdadm.conf` mdadm --detail --scan >> mdadm.conf
这将创建一个原型配置文件描述当前活动的阵列,这些阵列已知由 IDE 或 SCSI 驱动器的分区组成。 使用前应检查该文件,因为它可能包含不需要的详细信息。
现在,针对你的问题,
据我所知。驱动器
/dev/sd*
可能会改变。那么向其中添加设备安全吗?
不仅仅是设备名称可能会改变。其他一切也可能会改变!
mdadm
支持增长数组。所以你可以添加更多改变的设备num-devices=2
,或者改变raid level=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
。就像联机帮助页所述,它太详细了,太多细节可能会导致程序集失败。
答案2
您可能需要在编辑 mdadm.conf 文件后更新启动设置,然后重新启动以验证:
$ sudo vi /etc/mdadm/mdadm.conf
$ sudo update-initramfs -u
update-initramfs: Generating /boot/initrd.img-5.19.0-35-generic
I: The initramfs will attempt to resume from /dev/sdg5
I: (UUID=9fdd3772-4599-40b0-89e3-ec79fd4787be)
I: Set the RESUME variable to override this.
$ sudo reboot
请阅读:https://raid.wiki.kernel.org/index.php/Tweaking,_tuning_and_troubleshooting