具有可启动 RAID 1 系统安装的 EFI/GPT 系统分区

具有可启动 RAID 1 系统安装的 EFI/GPT 系统分区

我已经使用 ubuntu 服务器安装映像安装到 RAID 1 上,这是两个用于实现冗余的镜像磁盘。

我的配置如下:

/dev/sda - 500GB
/dev/sda1 - 1GB,安装到 /boot/efi 的 EFI 系统分区
/dev/sda2 - 499GB,RAID 成员

/dev/sdb - 500GB
/dev/sdb1 - 1GB,EFI 系统分区(当前未安装)
/dev/sdb2 - 499GB,RAID 成员

/dev/md0 - 499GB RAID 阵列,
少量未分区的可用空间
/dev/md0p2 - 256MB ext2 文件系统,挂载到 /boot
/dev/md0p3 - 498GB Linux LVM2 物理卷


然后 LVM2 卷由/dev/ubuntu-vg/root - 494GB ext4 文件系统组成,该文件系统挂载到 /
/dev/ubuntu-vg/swap_1 - 4GB 交换文件

启动正常。不过我用的是 Mac Mini。我有点困惑,因为当我在启动过程中按下“alt”键时,它没有显示任何可供选择的 ubuntu 启动设备,但如果我在启动过程中不按下 alt 键,它就会启动 ubuntu。----- 我认为这与我的问题完全无关,但值得注意。可能只是苹果的 EFI 实现有些奇怪。

不过我担心的是如果磁盘 sda 出现故障,会发生什么?系统运行后,/boot/efi 中的内容是否还会被使用?如果我重新启动并且只有磁盘 sdb 工作,它会启动吗?我不这么认为,因为当我挂载 /dev/sdb1 来查看那里有什么时,它是空的。如果磁盘 sda 的一部分出现故障(使分区 sda2 成为垃圾),但分区 sda1 仍然良好,会发生什么情况,ubuntu 会引导到 sdb2 中的 raid 成员吗?我该如何检查?

我看到过一些参考资料建议我应该运行

grub-install /dev/sdb

安装到第二个驱动器。以下是一些参考资料:

https://help.ubuntu.com/community/Installation/SoftwareRAID
http://kudzia.eu/b/2013/04/installation-of-debian-wheezy-on-mdadm-raid1-gpt/
http://elblogdedually.blogspot.com/2015/02/how-to-install-ubuntumint-on-software.html

但是,我认为其中大多数都是关于 BIOS/MBR 配置的,因为当我运行该命令时,分区 /dev/sdb1 保持为空,并且 /dev/sda1 中的文件被修改(我查看了 /boot/efi 中的挂载版本)。

我看到了另一个参考资料(如何使用 UEFI 和 RAID1 + LVM 安装 Ubuntu 服务器)说我应该跑

dd if=/dev/sda1 of=/dev/sdb1

这似乎应该可以工作,尽管我很难卸载 /dev/sda1 来执行此操作(我必须这样做吗?),并且正如我上面提到的,我不知道 RAID 是如何引用的,所以我不知道如果其中一个成员失败了会发生什么。

然后我的另一个问题是,一旦我找到了在两个磁盘上复制 EFI 系统分区的正确方法,我需要多久更新一次它?看起来我真的不应该担心这个,但我认为我确实需要。Apple 的 RAID 系统确实允许磁盘启动而不必担心这种事情……为什么 ubuntu 不能那么容易?

答案1

重新复制分区,你应该能够启动到 Ubuntu Live CD/USB 和克隆从那里开始。此外,您需要将 ESP 插入启动链。有关详细信息,我在这里写了一个详细的说明

相关内容