Raid-10 mdadm - 如何手动配置镜像驱动器顺序?

Raid-10 mdadm - 如何手动配置镜像驱动器顺序?

如何配置新的mdadm软件 RAID-10 以使用特定顺序进行驱动器镜像?

假设我有 4 个硬盘:AC, 和

出于我自己的可靠性和性能原因,我希望驱动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

你不会知道AC或者直到您这样做,但您仍然满足初始标准,即每个外壳分离一个(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

我将在几天内更新结果,在阵列同步之后,在我添加热备用驱动器之后,我有时间进行测试。

相关内容