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、安装Apache。 1)执行如下命令,安装Apache服务及其扩展包...
一、先说一下用ansible批量采集机器信息的实现办法: 1、先把...
安装配置 1. 安装vsftpd 检查是否安装了vsftpd # rpm -qa | ...
如何抑制stable_secret读取关键的“net.ipv6.conf.all.stabl...
1 删除0字节文件 find -type f -size 0 -exec rm -rf {} ...
## 步骤 1:安装必要的软件包 首先,需要确保系统已安装 `dh...