安装带有软件 RAID 的 Linux(Debian)

安装带有软件 RAID 的 Linux(Debian)

据我所知,无法安装 Debian 11直接地到软件 raid 分区,因为这是一个“先有鸡还是先有蛋”的问题。

解释一下:软件 RAID 需要 Linux 操作系统的某些部分才能运行。具体来说,我正在考虑“mdadm”,尽管可能还有其他软件 RAID“东西”可以代替 mdadm。

冒着不必要的风险,如果使用 mdadm 来定义和运行软件 raid,则必须运行 Linux 才能使 madam 正常工作。这意味着至少据我所知,不可能从 madam 软件 raid 分区启动。


先前的系统

我准备在新机器上安装新的 Debian 操作系统。这个问题之所以出现,是因为我想知道是否有比我以前的方法更好的方法来设置 Debian。

之前,我曾将 Debian 安装在单个驱动器上,然后创建 raid 1 madam 阵列,然后将文件夹移动/home/到该软件 raid 分区。这导致系统仅在/home文件夹上具有 raid 1 弹性。

/home显然是可以迁移的,因为:

  • 可以移动(某些挂载点可能无法移动)
  • 它显然是那些希望能够抵御故障的数据的候选对象,因为它是用户数据(例如文档)的常用位置。(在我的情况下是源代码文件。)

问题

有没有更好的方法来设置具有 raid 冗余的 Linux 系统?

例如,是否可以在第一个(非冗余)驱动器上安装某种最小的引导加载程序,然后将大多数操作系统文件(包括用户主文件夹)放入 raid 分区?

此外,是否有一种“标准”方式来设置带有 raid 的 Linux 操作系统?/home专业系统管理员会认为只移动分区是一种“正常”方法吗?或者这是一种“不寻常”的设置,通常会做其他事情?


更新/编辑

自从问了这个问题之后,我了解到可以将设置 raid 作为安装过程的一部分。这可以作为分区设置步骤的一部分来完成。

我还不完全明白该如何做,也无法让它工作,所以我将就此提出一个单独的问题。

但是,这似乎比安装没有 raid 的系统然后再移动一些挂载点更好。

答案1

据我所知,无法将 Debian 11 直接安装到软件 raid 分区上,因为这是一个“先有鸡还是先有蛋”的问题。

解释一下:软件 RAID 需要 Linux 操作系统的某些部分才能运行。具体来说,我正在考虑“mdadm”,尽管可能还有其他软件 RAID“东西”可以代替 mdadm。

冒着不必要的风险,如果使用 mdadm 来定义和运行软件 raid,则必须运行 Linux 才能使 madam 正常工作。这意味着至少据我所知,不可能从 madam 软件 raid 分区启动。

长期以来,这都是可能的。访问根文件系统所需的软件包含在初始化内存文件系统档案,它由引导加载程序加载到内存中,并且是第一个启动的“Linux 操作系统”(即,initramfs 充当初始内存/,具有自己的 init 和守护进程等),然后它会挂载并交换/到您的真实根文件系统。

Debian 甚至已经为常规的 ext4 和 SATA 驱动程序使用了 initramfs,但您也可以轻松拥有一个包含 mdadm、LUKS/cryptsetup、ZFS、LVM 或它们的任意组合的 initramfs – Debian 会update-initramfs在需要时自动包含其中的大多数内容。

(虽然 Debian 安装程序似乎不提供 mdadm,但它确实可以选择使用 LVM,它具有相同的要求 - initramfs 需要包含组装 LVM 设备的软件。)

唯一的限制是内核和 initramfs 文件(总共两个)——当然还有引导加载程序自己的配置文件——需要放在引导加载程序知道如何访问的地方,这通常意味着/boot可能需要使用比根文件系统更简单的设置(例如 ext4 而不是 ZFS)。目前,GRUB2 支持从各种 LVM 和 mdadm 卷中读取文件,尽管最好还是坚持使用基本的 RAID1 来存储 /boot。


Debian Installer 未提供的任何功能都可以通过手动安装来设置(例如,大致按照 Arch Linux 安装指南):

  1. fdisk使用或对磁盘进行分区parted
  2. 根据需要创建文件系统和 mdadm 阵列。
  3. 将所有东西都挂载在(例如)上/new
  4. debootstrap/new 上的最小 Debian 安装。
  5. chroot并安装其余部分。

答案2

“解决方法”

我设法在我的系统上安装了 Debian 12。下面是我安装的方法。

步骤 1:禁用安全启动(?)

这可能不是必不可少的步骤,但我还是做了。我尝试这样做,认为这可能允许我在传统 BIOS 模式下启动安装程序。

我不认为这一举措产生了预期的后果。我思考安装程序仍以 UEFI 模式启动。

我清除了主板 BIOS 中的安全启动键。我不确定这是否有任何效果,但我认为最好还是记录一下我已这样做了。

步骤 2:使用推荐的分区方案“正常”安装

在安装过程中,可以选择按照建议的分区方案或手动方案进行安装。

在我的系统中,我有一对 NVME 驱动器,我最终会将其用于 RAID,但现在还不行。我还有另一个 (SATA) SSD,我打算将其用作交换空间。

  • 选择引导分区方案
  • 选择 SATA SSD(交换空间最终所在的驱动器)
  • 将自动创建 3 个分区:
  • 一个 EFI 分区(~ 500 MB)
  • 根分区(本例中约为 2 TB)
  • 交换空间(约几 GB)
  • 正常进行,安装应该成功

步骤 3:重新运行安装,替换/和交换空间分区

  • 继续安装,但这次选择手动分区
  • 在每个 (NVME) 磁盘上创建 2 个新的分区方案
  • 使用两个磁盘设置软件 RAID(使用/dev/sda不是 /dev/sda1ETC)
  • 在 RAID 设备上设置 LVM /dev/md0,添加卷组
  • 在 LVM 上创建 1 个分区
  • 使用分区作为 ext4,例如/
  • 使用先前存在的交换空间和 EFI 分区
  • 不要使用之前创建的剩余的 ext4 分区。

注意事项:

以下是一些注意事项:

  • 由于 EFI 分区位于单独的磁盘上,不受 RAID 支持,如果此磁盘发生故障,可能很难恢复系统,因为数据位于具有 RAID 和 LVM 层的磁盘上
  • 之前的操作系统仍存在于非 RAID 驱动器上。它可能会被删除,然后 GRUB 可能会被更新,这样该操作系统在启动时就不再显示为选项
  • 使用 3 个磁盘而不是一对。这可能被认为是浪费,或者在某些 NVME 驱动器空间不超过 2 个的系统中是不可能的,或者某些其他限制将磁盘数量限制为 2 个(在某些现代微型机箱以及笔记本电脑中很常见)

相关内容