为实现冗余,建议从 Linux 软件 RAID 启动

为实现冗余,建议从 Linux 软件 RAID 启动

我正在寻找在 Centos 8 上设置软件 RAID(使用 mdadm)以提供冗余的推荐方法。

在我的设置中我有 4 个相同的磁盘,但我认为答案也应该与 2 个磁盘设置相关。

这里的主要要求是冗余和如果任何一个磁盘发生故障,则需要手动干预才能启动系统。

简而言之——我正在寻找最简单、最可靠的解决方案。

问题:

  1. 推荐哪种类型的分区表(假设仅 Linux,无双启动)
  2. UEFI 启动与 BIOS 启动(UEFI 似乎不必要地复杂,并且似乎仍然存在许多问题)
  3. fdisk/mdadm/lvm 命令用于设置 /boot 和包含根分区和交换分区的 LVM 卷
  4. 这一切都可以通过 anaconda 安装 GUI 完成吗?

我在 EFI/GPT 系统启动时遇到了一些问题,因此我不确定它有什么优势(使用 GPT 时似乎需要额外的分区,而其中一些分区似乎无法使用软件 RAID)。因此,如果这确实是推荐的方法,我也在寻找采用 EFI/GPT 路线的理由。

答案1

我最终采用了 GPT 分区表,但坚持使用旧的 Bios 启动。

这在一定程度上是由于使用 RAID 作为 EFI 启动分区的一些复杂性造成的 -https://unix.stackexchange.com/questions/265368/why-is-uefi-firmware-unable-to-access-a-software-raid-1-boot-efi-partition部分原因是我正在从使用 EFI 的无法启动的系统中恢复(仍然不确定原因,但尝试修复一天后,重建就更容易了。这正是我不想要的)

无论如何,似乎可以通过 Centos8 anaconda 安装程序进行安装和设置。为此,请执行以下操作:

  1. 将 BIOS 设置为使用传统启动方式启动安装介质(和硬盘)
  2. 启动安装程序
  3. 手动对硬盘进行分区-我使用了以下步骤:
    1. 在 raid 1 中配置了 1 MiB Biosboot 分区
    2. 在 raid 1 中配置了 1 GiB /boot 分区
    3. 其余的 HDD 空间配置为 LVM raid(我的情况是 10),带有 / 和交换分区(以及您想要的其他任何内容)

我已通过拔出每个硬盘驱动器来测试这一点,确保服务器可以启动,然后将“故障”驱动器重新添加到 md 阵列中。一切按预期工作。

下面是从我的安装构建的 kickstart 配置的相关部分:

#version=RHEL8
ignoredisk --only-use=sda,sdb,sdc,sdd
# Partition clearing information
clearpart --all --initlabel --drives=sda,sdb,sdc,sdd

# Disk partitioning information
part raid.903 --fstype="mdmember" --ondisk=sda --size=2
part raid.1340 --fstype="mdmember" --ondisk=sdd --size=1025
part raid.2107 --fstype="mdmember" --ondisk=sdc --size=475912
part raid.910 --fstype="mdmember" --ondisk=sdb --size=2
part raid.1319 --fstype="mdmember" --ondisk=sda --size=1025
part raid.2114 --fstype="mdmember" --ondisk=sdd --size=475912
part raid.2100 --fstype="mdmember" --ondisk=sdb --size=475912
part raid.2093 --fstype="mdmember" --ondisk=sda --size=475912
part raid.1326 --fstype="mdmember" --ondisk=sdb --size=1025
part raid.1333 --fstype="mdmember" --ondisk=sdc --size=1025
part raid.917 --fstype="mdmember" --ondisk=sdc --size=2
part raid.924 --fstype="mdmember" --ondisk=sdd --size=2
raid biosboot --device=biosboot --fstype="biosboot" --level=RAID1 raid.903 raid.910 raid.917 raid.924
raid pv.2121 --device=pv00 --fstype="lvmpv" --level=RAID10 --chunksize=512 raid.2093 raid.2100 raid.2107 raid.2114
raid /boot --device=boot --fstype="ext4" --level=RAID1 raid.1319 raid.1326 raid.1333 raid.1340
volgroup cl_host01 --pesize=4096 pv.2121
logvol / --fstype="ext4" --size=51200 --name=root --vgname=cl_host01
logvol swap --fstype="swap" --size=4096 --name=swap --vgname=cl_host01

相关内容