我一直在为一个问题而苦恼,现在我正在向互联网寻求帮助。
我有一个运行 Mandrake Linux 的系统,其配置如下:
/dev/hda
- 这是 IDE 驱动器。它上面有一些分区,用于启动系统并构成大部分文件系统。/dev/sda
- 这是软件 RAID 的 2 个驱动器中的 1 个/dev/md0
/dev/sdb
- 这是软件 RAID 的 2 个驱动器中的第 2 个/dev/md0
md0
已安装,但fstab
因为/data-storage
,因此它对系统启动能力并不重要。我们可以将其注释掉fstab
,无论哪种方式系统都可以正常工作。
问题是,我们的sdb
驱动器出现故障。因此我关闭了设备,取出故障磁盘并安装了一个新磁盘。
系统启动时,/proc/mdstat
仅显示sda
为 RAID 的一部分。然后我运行各种命令将 RAID 重建为/dev/sdb
。一切都正确重建,完成后,您会看到/proc/mdstat
它显示 2 个驱动器sda1(0)
和sdb1(1)
。一切看起来都很棒。
然后重新启动盒子...UGH!!!
重新启动后,sdb
RAID 中又不见了。好像重建从未发生过。我可以通过命令再次重建它,它会工作,但再次,重新启动后,盒子似乎消失sdb
了!
真正奇怪的是,如果在重启后,我将 sda 从盒子中拉出,并尝试让系统使用系统中重建的 sdb 驱动器加载,而当我这样做时,系统实际上会在 grub 之后抛出错误,并说一些关于驱动器错误的话,系统必须关闭。
有什么想法吗?我开始怀疑 grub 是否与这种混乱有关。驱动器未在 grub 中设置为在启动时可见?此 RAID 阵列对于系统启动不是必需的,但是当替换驱动器在其中时,如果没有 SDA,它将无法启动系统,所以这让我相信其中一定有某种原因。最重要的是,这里似乎有些不对劲,驱动器在重新启动后脱离了 RAID。
我已经到了用头敲击键盘的地步。任何帮助都将不胜感激!!!
答案1
现在可能已经太晚了,但是您在添加新驱动器后是否更新了 mdadm.conf 文件?如果您更换磁盘,您的阵列将不再具有相同的 uuid,并且在重新启动时它将寻找旧驱动器,而不知道新驱动器在这里。
这是生成 mdadm.conf 行的命令:
mdadm --detail --scan
关于启动问题,您的计算机必须使用 sda 上的 grub 在 hda 上启动,您必须在 bios 中更改这一点,并确保 grub 也安装在 hda 上。
答案2
尝试以下操作伟大的HowToForge 上的教程。您可能遗漏了 的一个或多个命令mdadm
,请参阅:http://www.howtoforge.com/replacing_hard_disks_in_a_raid1_array