Linux MD 软件 RAID 如何避免将新旧设备组装到同一个阵列中?

Linux MD 软件 RAID 如何避免将新旧设备组装到同一个阵列中?

在 Linux MD 软件 RAID1 上,我移除了一个故障驱动器并添加了一个新驱动器。(现在一切正常。)旧驱动器和新驱动器从未同时存在于系统中。

我是否正确地看到了这一点,将旧驱动器添加到系统(进行检查)不会以任何方式妨碍启动时的 MD 组装?

我假设:

  • MD 将看到属于同一 RAID 的 3 个分区,
  • 但也会知道其中 2 个仍然是 RAID 的一部分,而 1 个不是

MD 会使用哪些超级块数据来帮助正确排序?是否有“目前不属于 RAID”位?哪些数据可以让 MD 子系统清楚地知道旧分区实际上并不是降级 RAID 的唯一成员?

新的设备/分区在 RAID 重建时是否获得了新的随机成员 UUID?

如果添加旧驱动器并混淆 MD 为阵列选择了错误的设备,则可能会造成灾难性的后果。我想避免这种情况。

答案1

实际上,即使您在 /etc/mdadm.conf 中指定了错误的磁盘 - 它也不应该在不使用 mdadm 的情况下构建 MD。

首先,您获得了写入所有磁盘的超级块。如果添加了新磁盘 - 它没有超级块,因此无法添加到 MD raid。

接下来,您将获得位图,它还保存阵列的重要数据并防止从错误副本同步(例如,删除了磁盘,将数据写入合作伙伴磁盘并稍后重新添加)。

最安全的方法是:

  • 运行带有检查和扫描选项的 mdadm
  • 创建 /etc/mdadm.conf,其中的条目指向“/dev/disk/by-id/...”,这些条目是唯一的并且不会改变(实际上,磁盘的序列号用于生成这些条目)

相关内容