Grub2是否支持将/ boot放在RAID5分区上?


9

看起来当前大多数OS安装程序都坚持将/ boot放在非RAID分区(或“看起来”为非RAID分区的RAID1分区)上,甚至支持RAID5和GRUB2的安装程序也是如此。

我猜想这种限制是Grub1遗留下来的历史遗物。我的理解是,Grub1对RAID一无所知,因此无法启动任何类型的RAID阵列-除了“看起来”像非RAID阵列的RAID阵列之外。

这是Grub2还是OS安装程序的限制?

我听说有传言说Grub2“能够在RAID-0,RAID-1或RAID-5,元数据0.90、1.0、1.1或1.2上支持/ boot”。

Grub2是否真的支持将/ boot放在具有1.2元数据的软件RAID1分区上?

Grub2是否真的支持将/ boot放在软件RAID5分区上?

一个理想的答案是链接到一个教程,该教程解释了如何将/ boot分区(在非RAID分区上)移动到RAID5分区。

通过“看起来”非RAID分区,我的意思是

  • 当Grub1仅读取具有ext3或ext4文件系统的软件RAID1阵列的一个硬盘驱动器,并且忽略分区末尾的RAID元数据0.90或1.0时,看起来就像Grub1可以处理的非RAID ext2文件系统。要么
  • 不是软件或伪RAID,而是看起来像普通的非RAID磁盘的完整硬件袭击。

数据点:在Ubuntu 10.04中,Grub2支持某些RAID安排,但不支持以元数据开头的mdraid模式。在Ubuntu 11.10中,Grub2支持所有mdraid模式。
吉尔斯(Gilles)'所以

@Gilles:向后移植Grub2的更高版本应该不是问题。它基本上没有依赖性。
Faheem Mitha 2012年

Answers:


10

是的,grub2完全了解RAID(和LVM)。实际上,您根本不需要单独的/ boot分区。您可以将所有内容放到突袭中。

理想情况下,您根本不想安装/ boot分区,但是在删除后将其删除只是意味着将所有文件复制到根分区,然后重新安装grub,如下所示:

umount /boot
mount /dev/[bootpart] /mnt
cp -ax /mnt/* /boot
grub-install /dev/sda

当然,然后您需要从/ etc / fstab中删除/ boot行,并且仍然有未使用的分区。

请注意,您也可以在raid5中grub-installed安装到所有驱动器,以便可以从其中任何一个引导。Ubuntu grub-pc软件包将提示您(dpkg-reconfigure grub-pc再次询问),以检查要安装的所有驱动器并为您安装。


因此,我不必使用metadata = 0.9吗?
CMCDragonkai 2014年

@CMCDragonkai,不,您也不应该。
psusi 2014年

如果一个磁盘出现故障怎么办?该团队需要一个有效的操作系统来重建,而grub需要一个有效的RAID才能启动。.然后出现死锁。创建和镜像引导分区会更好,对吗?
cIph3r

@ cIph3r,否:虽然grub无法重建降级的阵列,但仍然可以从中启动。
psusi

很好,并且在安装grub时,系统要求将grub写入mbr,然后怎么做,安装在(例如/ dev / sda)上,并将mbr dd dd到其他3个?
cIph3r

1

在Linux中这是一个可怕的混乱。使用mdadm的默认超级块版本是1.20版。一旦启动时高于0.90,您将进入未知领域。当然,lilo在1.0以上不会显示任何兴趣。最好的选择是在使用安装过程之前形成RAID阵列(提示:在mdadm create中使用参数--metadata = 0.90)。然后,您可以安装在RAID阵列上并使用您喜欢的引导程序。


无论使用哪种元数据格式,都不能使用LILO从raid5引导。
psusi 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.