当我们尝试从 Debian Wheezy 上的 mdraid 启动时,我们遇到了一个非常奇怪的问题。我在网上找到的所有参考资料都告诉我,grub 1.99(Debian Wheezy 的一部分)从 mdraid 卷启动应该没有问题。然而,我们一直收到 grub 救援提示。
我们验证了 grub 可以与磁盘配合使用,因为从非 raid ext4 格式的分区启动没有问题。一旦我们将 /boot 放在使用 mdadm 创建的 RAID 阵列上,grub 就不再识别它了。
虽然我们一开始使用的是顶部带有 LVM 的 RAID5 阵列,但在测试时,我们已将 4 磁盘 RAID1 阵列上的 /boot 移回。这些是 4TB 磁盘,因此我们使用 GPT。我们使用以下命令在所有磁盘上安装了 grub:
grub-install --no-floppy --modules="raid mdraid09 mdraid1x" /dev/sda
当然还有 sdb、sdc 和 sdd。
Grub 不断将我们抛到 grub 救援。此时 ls 仅显示磁盘和 gpt 分区,没有 md 分区。我们尝试使用 --metadata=0.9 重新创建 RAID1,但这根本没有改变行为。
硬件是带有 PERC 710i RAID 控制器的 Dell PowerEdge R520。我们在 RAID 控制器中为每个磁盘创建了 RAID0,这似乎按预期工作。
安装时没有出现明显错误,无论是操作系统还是 grub 抱怨。
重新安装 grub-pc 包也不能解决问题。
我们不知道该尝试什么,并希望得到一些意见!
编辑
我们确实在每个磁盘上都安装了 grub。我们得到了 grub 提示,但它无法读取 mdraid。如果我们在机器上添加一个“普通”ext4 分区来启动,它就可以正常工作。
答案1
从我对 grub 的有限了解来看,我得出的结论是,在运行时确实安装 raid 阵列或使用选项指定raid 阵列raid
非常重要。/boot
/boot
grub-install
boot=
/boot/grub/grub.cfg
发出时你的文件是什么样子的grub-install
?从 grub 救援控制台查看“set”也很有趣。