Linux软件RAID1:如何在(物理上)删除/ dev / sda后启动? (LVM,mdadm,Grub2)

使用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方便,直到我做到这一点经常足以将其提交到记忆中.

相关文章

文章浏览阅读1.8k次,点赞63次,收藏54次。Linux下的目录权限...
文章浏览阅读1.6k次,点赞44次,收藏38次。关于Qt的安装、Wi...
本文介绍了使用shell脚本编写一个 Hello
文章浏览阅读1.5k次,点赞37次,收藏43次。【Linux】初识Lin...
文章浏览阅读3k次,点赞34次,收藏156次。Linux超详细笔记,...
文章浏览阅读6.8k次,点赞109次,收藏114次。【Linux】 Open...