md raid10:如何确保复制的数据存储在正确的位置?

md raid10:如何确保复制的数据存储在正确的位置?

创建经典镜像 RAID 时,通常会将数据副本放在不同类型的磁盘上。在这种情况下,您可以混合使用不同系列和制造商的磁盘。这样可以降低整个系列出现故障时丢失数据的风险。

假设我想构建一个基于 md 的 raid 10,其中包含由两个制造商制造的四个磁盘。我如何确保数据在不同类型的磁盘上复制?

我知道可以指定布局nearfar并且offset描述)。这些布局指向正确的方向,但我不确定 md 如何“排序”磁盘。这可能会导致在相同类型的磁盘上进行复制。

答案1

如果您真的想要保证将制造商 1 和制造商 2 的驱动器配对,您可能应该手动设置 mdadm raid 10。

以超级用户身份使用lshw -class disk,验证每个磁盘的逻辑名称和供应商名称。

然后为您的 raid 10 创建底层 RAID 1 设备:

mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sda1 /dev/sdb1

mdadm --create /dev/md1 --level=1 --raid-devices=2 /dev/sdc1 /dev/sdd1

然后将 RAID 1 设备组装成 RAID 0 设备。

mdadm --create /dev/md2 --level=0 --raid-devices=2 /dev/md0 /dev/md1

这应该为您提供一个 RAID 10,让您知道哪些设备与哪些设备配对。

希望有所帮助。=)

答案2

我想你现在可能已经找到了解决这个问题的方法,但是下面的方法应该可以解决问题:

mdadm --create /dev/md0 --level=10 --raid-devices=4 /dev/sda missing /dev/sdc missing

其中 sda 和 sdc 来自不同的制造商。然后使用以下命令添加缺失的磁盘:

mdadm --add /dev/md0 /dev/sdb /dev/sdd

运行 mdadm --create 命令时,顺序似乎确实很重要,因此我假设,只要第 1 个和第 3 个磁盘(在 4 个驱动器阵列中)来自不同的制造商,您就会获得相同的效果,但您应该亲自测试一下。

相关内容