如何配置新的mdadm
软件 RAID-10 以使用特定顺序进行驱动器镜像?
假设我有 4 个硬盘:A,乙,C, 和德。
出于我自己的可靠性和性能原因,我希望驱动A成为驱动力的镜子C并驾驶乙成为驱动力的镜子德。然后每面镜子都画上条纹,像这样
|----- RAID-0 ----- |
RAID-1 RAID-1
|---------| |---------|
| drive A | | drive B |
| drive C | | drive D |
|---------| |---------|
我不知道该如何配置它。不确定此命令产生的驱动器顺序:
mdadm --create /dev/md0 --level=10 --raid-devices=4 /dev/sd[a-d]1
有没有办法手动对mdadm
阵列中的驱动器进行排序?
如果没有,有没有办法在创建阵列后检查顺序,以便我可以将驱动器物理移动到我想要的配置中?(我想我可以使用创建阵列成员,/dev/disk/by-id/ata*
这样我就可以物理移动它们而不必担心/dev/sd*
重新排序。)
附加问题。我还想要一个热备用驱动器埃,可供任一镜像集使用。
答案1
这是一个更好的选择,直接使用 RAID10。
首先创建一个有 2 个缺失驱动器的 RAID10,这些驱动器将是唯一保存没有副本(降级)的 RAID 数据的驱动器。例如,在这里,您可以使用来自同一外部机箱的两个驱动器A和乙。然后从另一个机箱添加另外 2 个驱动器,以便备份A+B总是碳+碳。
mdadm --create /dev/md0 --level=10 --raid-devices=4 /dev/sd[a-b]1 missing missing
mdadm --add /dev/md0 /dev/sd[c-d]1
mdadm --add /dev/md0 /dev/sde1
你不会知道A是C或者德直到您这样做,但您仍然满足初始标准,即每个外壳分离一个(1)个完整数据集。
我最后添加了备用数据,因为我假设它位于第三个位置,或者位置未知。这样,我们保证两个机箱各有一组数据。
答案2
我想我已经找到了自己的答案。首先设置两个 RAID-1,然后将它们一起设置为 RAID-0。
创建了两个 RAID-1 卷
sudo mdadm --create /dev/md/md2a --level=1 --raid-devices=2 /dev/disk/by-id/ata-WDC_serial_number_of_drive_A-part1 /dev/disk/by-id/ata-WDC_serial_number_of_drive_C-part1
sudo mdadm --create /dev/md/md2b --level=1 --raid-devices=2 /dev/disk/by-id/ata-WDC_serial_number_of_drive_B-part1 /dev/disk/by-id/ata-WDC_serial_number_of_drive_D-part1
(我使用驱动器 ID 而不是来/dev/sda,/dev/sdb,...
确保与我想要的驱动器完全匹配)
然后,使用两个 RAID-1 阵列创建 RAID-0
sudo mdadm --create /dev/md/md2 --level=0 --raid-devices=2 /dev/md/md2a /dev/md/md2b
我将在几天内更新结果,在阵列同步之后,在我添加热备用驱动器之后,我有时间进行测试。