我有一个带有4个SATA磁盘的Ubuntu(9.10)机器。 每个磁盘的分区都是相同的,前几个GB用于引导卷的RAID 1arrays( /dev/md0 ),其余用于RAID 5( /dev/md1 )。
最近,我根据这里的说明,通过反复故障和卸下驱动器升级到更大的驱动器,将其replace为更大的驱动器,将其分割并重build。 这一切都成功完成。
但是,升级后第一次重新启动,Ubuntu踢我到一个initfsshell,声称它找不到根设备。 在检查/proc/mdstat ,我发现它以某种方式将整个驱动器( /dev/sda , /dev/sdb等)组装到/dev/md1下的单个RAID 5卷中,而不是将分区组装到它们自己的arrays中。 做mdadm --stop /dev/md1; mdadm --assemble --scan mdadm --stop /dev/md1; mdadm --assemble --scan修复它,并且两个卷都正确组装(并且无需挂载)。
出了什么问题,我该如何解决?
确保你的/etc/mdadm.confconfiguration适合你的arrays。 尽pipeLinux内核可以自动检测和组装mdadm数组,但有时候它确实有趣。 拥有/etc/mdadm.conf消除了不确定性。 这是我的样子:
DEVICE /dev/sdb /dev/sdc ARRAY /dev/md0 metadata=0.90 UUID=b8fdfd55:524cecb2:2d164f4f:84bee133
ARRAY行来自这个命令的输出:
mdadm --examine --scan
希望这可以帮助。