从 raid'ed > 2GB 驱动器、btrfs 启动、处理 BIOS 启动分区

从 raid'ed > 2GB 驱动器、btrfs 启动、处理 BIOS 启动分区

使用 btrfs 设置 (3) 个 5GB 驱动器的阵列。它很快就会增长到 (6) 个 5GB 驱动器。从 raid 1 开始,一旦所有驱动器安装到 raid5、6 或 10,将重新平衡。

我将从此启动,所以我相信我需要一个 bios_grub / BIOS 启动分区。

这通常是如何完成的?我从以下开始:

# parted /dev/sda
mklabel gpt
mkpart grub ext3 1M 2M
set 1 bios_grub on
mkpart btrfs btrfs 2M 5001GB

我想我的偏好是 BIOS 启动分区是所有 3 个分区(最终是 6 个分区)的 raid 1,因此不只有一个驱动器托管启动分区,如果它在将启动分区重新安装到另一个分区之前死亡,则会阻止启动驾驶。

mkfs.btrfs 不会在 1MB 分区上运行。表示每个 btrfs 分区的最小大小约为 16MB。

Syslinux 还无法启动 btrfs,所以这不是一个选择。 (在本段中,使用的“boot”不是 BIOS_boot 分区的意思,而是引导序列的其余部分。)

您会将 sdX1 增加到 20MB,在每个驱动器上创建 20MB,然后创建一个 btrfs raid1 吗? (对于这些大小,20MB 根本不重要。)

或者,你会在每个分区上创建一个 1MB 的分区,将其设为 ext3,并创建一个 mdadm raid1?(甚至不确定 mdadm raid 是否适用于 bios_grub 分区……)

答案1

您不需要(也不应该创建)文件系统BIOS启动分区。 BIOS 引导分区保存着二进制代码,GRUB 在引导驱动器的第一个扇区中加载其第一阶段后可以直接访问该二进制代码。该分区不应被其他任何东西使用,否则可能会发生引导代码的意外损坏。

如果您希望镜像 BIOS 启动分区,您将需要硬件 RAID。你但是,请将 GRUB 安装到多个驱动器;只需grub-install在每个具有 BIOS 引导分区的驱动器上运行目标操作系统(将整个驱动器提供给它,例如/dev/sda,作为参数;grub-install将从 GPT 中找出 BIOS 引导分区的位置)。

相关内容