我的笔记本电脑运行的是 Ubuntu Natty,分区如下:
- /dev/sda1:500MB,/boot
- /dev/sda2: 148GB,/
sda2 是具有 1 个设备的软件 RAID1。这是有意为之的——我会定期使用外部驱动器重塑阵列。
正常运行时,数组如下所示:
- /dev/md0,[sda2]
这一切都很好,除了当我启动时,阵列被检测为:
- /dev/md127,[sda]
即整个驱动器,而不是分区。我认为这是因为 0.90 元数据格式存储在最后,但是……它肯定存储了开始地址或设备?
mdadm --examine
对 /dev/sda 和 /dev/sda2 给出相同的结果;我预计它会在 /dev/sda 上失败,但(再次)我假设这是因为 sda2 的元数据恰好也在 sda 的正确位置。
为什么会自动检测到错误的 RAID 设备?除了重新分区驱动器外,还有什么方法可以防止 sda 被检测为 RAID 阵列?
答案1
您应该能够通过适当地制作条目来防止/dev/sda
被检测为阵列设备。具体来说,您可以通过指定如下模式来确保使用分区(如)——并忽略整个驱动器设备(如):DEVICE
/etc/mdadm/mdadm.conf
/dev/sda2
/dev/sda
DEVICE
DEVICE /dev/sd[a-z][1-9]
您还可以提供多个(glob 样式)模式,它们之间可以用空格分隔,也可以用附加DEVICE
行分隔。
最后,一定要注释掉/删除mdadm.conf
包含的任何行DEVICE partitions
,以便 mdadm 不会考虑的内容/proc/partitions
。