据我所知,无法安装 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 安装指南):
fdisk
使用或对磁盘进行分区parted
。- 根据需要创建文件系统和 mdadm 阵列。
- 将所有东西都挂载在(例如)上
/new
。 debootstrap
/new 上的最小 Debian 安装。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/sda1
ETC) - 在 RAID 设备上设置 LVM
/dev/md0
,添加卷组 - 在 LVM 上创建 1 个分区
- 使用分区作为 ext4,例如
/
- 使用先前存在的交换空间和 EFI 分区
- 不要使用之前创建的剩余的 ext4 分区。
注意事项:
以下是一些注意事项:
- 由于 EFI 分区位于单独的磁盘上,不受 RAID 支持,如果此磁盘发生故障,可能很难恢复系统,因为数据位于具有 RAID 和 LVM 层的磁盘上
- 之前的操作系统仍存在于非 RAID 驱动器上。它可能会被删除,然后 GRUB 可能会被更新,这样该操作系统在启动时就不再显示为选项
- 使用 3 个磁盘而不是一对。这可能被认为是浪费,或者在某些 NVME 驱动器空间不超过 2 个的系统中是不可能的,或者某些其他限制将磁盘数量限制为 2 个(在某些现代微型机箱以及笔记本电脑中很常见)