创建经典镜像 RAID 时,通常会将数据副本放在不同类型的磁盘上。在这种情况下,您可以混合使用不同系列和制造商的磁盘。这样可以降低整个系列出现故障时丢失数据的风险。
假设我想构建一个基于 md 的 raid 10,其中包含由两个制造商制造的四个磁盘。我如何确保数据在不同类型的磁盘上复制?
我知道可以指定布局near
,far
并且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 个驱动器阵列中)来自不同的制造商,您就会获得相同的效果,但您应该亲自测试一下。