我已经在 x86_64 盒子上使用 mdadm 管理的软件 raid 设置了 4 驱动器 RAID-10 阵列。
它已启动并运行,并且按预期工作,
cat /proc/mdstat
md127 : active raid10 sdc2[2] sdd2[3] sda2[0] sdb2[1]
1951397888 blocks super 1.2 512K chunks 2 far-copies [4/4] [UUUU]
bitmap: 9/466 pages [36KB], 2048KB chunk
目前,四个 SATA 驱动器物理插入主板的前四个 SATA 端口。
我想收集灾难恢复所需的必要/完整信息。从这里开始阅读,http://neil.brown.name/blog以及邮件列表,我还不完全确信我的理解是否正确。
我理解“驱动顺序很重要”。这是逻辑顺序还是物理顺序很重要?
如果我拔下此阵列中的四个驱动器,然后将它们分别插入主板或 pci 卡上的不同端口,只要我没有在软件配置中进行任何更改,阵列是否会正确地自动重新组装?
答案1
正如@Fox 所说,元数据将保证无论以何种顺序检测驱动器,都可以组装阵列。
当然,您应该根据设备的序列号或物理设备特有的其他属性来考虑设备,而不是设备节点名。例如:
$ ls -la /dev/disk/by-id/ata-ST3320418AS_6VM9PNFT
lrwxrwxrwx 1 root root 9 2011-11-15 23:20 /dev/disk/by-id/ata-ST3320418AS_6VM9PNFT -> ../../sde
因为无法保证在启动时哪些物理设备被分配到哪些设备节点。如果您需要移除设备等,这可能很重要。因此,在我的情况下,我认为该磁盘是串行 6VM9PNFT,而不是 /dev/sde。
至于备份元数据,我认为这并不重要,因为只要你的阵列组装起来,你就会有元数据。如果阵列没有组装起来,那么元数据有什么意义呢?真的,你不应该摆弄元数据,你应该保留足够的可用设备!
但是,如果您确实想要备份它,您可以通过mdadm -E /dev/sde1
对每个阵列中的每个成员设备执行来将其转储出来。