分区上的 Raid 阵列渗透到块设备

分区上的 Raid 阵列渗透到块设备

编辑:看来这可能是 .9 超级块版本的固有问题。我想只有在这里发布后我才能找到这些链接。

https://bugs.launchpad.net/ubuntu/+source/debian-installer/+bug/599515 mdadm 使用驱动器而不是分区进行组装


最近,我给一台机器添加了两个新磁盘。我在每个驱动器上创建了一个分区,并使用软件 raid 在分区之间设置了一个 raid1。但是,出于某种原因,在我将分区添加到阵列后,mdadm 还会检测到底层块设备中的超级块。这在启动期间会导致很多问题,因为 udev 会尝试逐步组装阵列,并在 /dev/sda1 之前先遇到 /dev/sda。如下所示,只有 md3 遇到了这个问题。它是用 组装的mdadm -A /dev/md3 /dev/sda1 /dev/sdb1。我是否以某种方式错误地设置了这些分区?

root@blaster:/# mdadm --examine --verbose --scan
ARRAY /dev/md3 level=raid1 num-devices=2 UUID=33868dc0:becdb6b6:8b9f62c7:cb89d2ee
   spares=2   devices=/dev/sdb1,/dev/sdb,/dev/sda1,/dev/sda
ARRAY /dev/md0 level=raid1 num-devices=2 UUID=866cc7e5:f18b48c0:539d4f3e:4592bf76
   devices=/dev/sdd1,/dev/sdc1
ARRAY /dev/md1 level=raid1 num-devices=2 UUID=550101be:d1fac9c9:48c0e818:59501087
   devices=/dev/sdd2,/dev/sdc2
ARRAY /dev/md2 level=raid1 num-devices=2 UUID=7783bbb3:6e381768:8b9f62c7:cb89d2ee
   devices=/dev/sdf1,/dev/sde1

答案1

Linux RAID 超级块信息存储在设备或分区的最后几块中。重新格式化或重新分区设备通常不会覆盖此块,因此您必须手动执行此操作。运行mdadm --zero-superblock将执行此操作,但您必须非常使用时要小心,否则您将破坏 RAID 元数据。

答案2

元数据存储在磁盘末尾,正如您已经发现的那样,这导致了问题。为了避免这样的混淆,您可以尝试使用版本 1 超级块(man mdadm了解详情)。1.1 版将此信息存储在设备启动时,1.2 版从启动时起就将其存储在 4k 处。使用这两个版本,您都不会看到此问题。

相关内容