使用Debian 6.0 / squeeze设置的服务器.在挤压安装期间,我将两个500GB SATA磁盘(/ dev / sda和/ dev / sdb)配置为RAID1(使用mdadm管理). RAID保留500 GB LVM卷组(vg0).在卷组中,有一个逻辑卷(lv0). vg0-lv0使用extfs3格式化并作为根分区挂载(没有专用/启动分区).系统使用GRUB2启动.
在正常使用中,系统启动正常.
此外,当我在关机后尝试删除第二个SATA驱动器(/ dev / sdb)时,系统出现问题,重新连接驱动器后,我能够–re-add / dev / sdb1到RAID阵列.
但是:删除第一个SATA驱动器(/ dev / sda)后,系统将不再启动! GRUB欢迎消息显示一秒钟,然后系统重新启动.
我试图在/ dev / sdb(“grub-install / dev / sdb”)上手动安装GRUB2,但这没有帮助.
当第一个磁盘被移除时,显然挤压无法设置GRUB2从第二个磁盘启动,这在运行这种软件RAID1时似乎是一个非常重要的功能,不是吗?
目前,我不知道这是GRUB2,LVM还是RAID设置的问题.任何提示?
解决方法
您需要将GRUB安装到两个驱动器的MBR上,并且需要以GRUB将每个磁盘视为系统中的第一个磁盘的方式执行此操作.
GRUB使用自己的磁盘枚举,这是从Linux内核提供的内容中抽象出来的.您可以通过在grub shell中使用“device”行来更改它认为是第一个磁盘(hd0)的设备,如下所示:
device (hd0) /dev/sdb
这告诉grub,对于所有后续命令,将/ dev / sdb视为磁盘hd0.从这里您可以手动完成安装:
device (hd0) /dev/sdb root (hd0,0) setup (hd0)
这会在它认为是hd0的磁盘的第一个分区上设置GRUB,您只需将其设置为/ dev / sdb.
我对/ dev / sda和/ dev / sdb都这样做,只是为了确定.
编辑添加:我总是找到Gentoo Wiki方便,直到我做到这一点经常足以将其提交到记忆中.