在 CentOS 6.4 中安装软件 RAID 1 的正确方法是什么?

在 CentOS 6.4 中安装软件 RAID 1 的正确方法是什么?

我将在 HP ProLiant ML310e Gen8 服务器上安装 CentOS 6.4。此服务器有 fakeraid 控制器,因此我决定使用软件 raid。问题是我不知道如何正确安装 GRUB 和/或使用软件 RAID 1 的引导扇区,以便在一个 HDD 发生故障时让系统成功启动。CentOS wiki 有 2 个与此问题相关的主题:

1)http://wiki.centos.org/HowTos/SoftwareRAIDonCentOS5

本主题介绍了如何在两个硬盘上手动安装 GRUB,据我所知,这是最常见的解决方案,但本主题有这样的警告:

本文介绍在没有真正的硬件 RAID* 控制器的系统上安装时设置软件 (mdraid) RAID1 的方法。CentOS 项目不支持它;对于非业余用户来说,这不是一种推荐的方法

2)http://wiki.centos.org/HowTos/Install_On_Partitionable_RAID1

如果您在可分区 RAID 上安装系统,则可以使用整个硬盘作为 RAID 组件设备,并且由于 RAID1 是一个镜像,因此在发生故障时您将能够从任何驱动器启动系统,而无需任何额外的技巧来保存引导加载程序配置等。

看起来正是我需要的,但我在互联网上搜索了有关可分区 RAID 的信息,发现它有很多错误。我甚至发现上游不支持这种方式的信息(我在那里找不到这个)。

那么在软件 RAID 1 上安装 CentOS 6.4 的正确方法是什么?我希望在其中一个磁盘发生故障时系统能够启动。

答案1

您应该尝试以下方法之一(假设您的 RAID 1 中有 /dev/sda 和 /dev/sdb):

安装 /dev/sda 和
grub

或者

# grub
grub> 根 (hd0,0)
grub> 设置 (hd0)
grub> 根 (hd1,0)
grub> 设置 (hd1)

此后,您可以尝试仅使用一个驱动器来加载系统以进行测试。

答案2

使用grub-install /dev/sdX可能是预期的做法。但是,我刚刚不得不拯救一台 CentOS 6.4 服务器,它有这样的设置,但现在在启动时冻结,因为它的另一个可启动 RAID 1 磁盘在几个月前被替换了(在此期间服务器一直处于运行状态)。

就我而言,解决问题的方法是grub-install /dev/md0,其中 md0 是由可启动磁盘 sda 和 sdb 创建的 RAID 1 设备。

但这似乎是一个不可靠的解决方案。我的直觉告诉我,如果一个磁盘发生故障,从 md0 启动也会失败。

答案3

我发现的情况是:/dev/md0 实际上是 /boot 分区,并且不包含停止启动的 MBR。

在我的计算机上,我可以通过 BIOS 选择从哪个硬盘启动。我在两个驱动器(/dev/sda 和 /dev/sdb)上都安装了 grub,当其中一个驱动器出现故障时,我会从另一个驱动器启动并更正 grub.conf。您会注意到,当 hd1 出现故障时,系统仍会启动 - 当 hd0 出现故障时则不会。查看 grub.conf,您会看到它通常使用 hd0,您必须对其进行修改才能使用 hd1。MBR 不是包含 /dev/sda1 的硬盘的一部分。引导加载程序有助于“查看”/dev/sda1 等位置。我从运行 OS/2 中学到了这一点 - OS/2 fdisk 有一个重新安装 MBR 的参数,文档很好地解释了所有这些。

基因

相关内容