如何使用英特尔快速存储技术在 RAID 上的加密 lvm 上安装 Debian?

如何使用英特尔快速存储技术在 RAID 上的加密 lvm 上安装 Debian?

我正在准备基于 PC 的 NAS 系统。该系统使用 RAID 5 配置中的 4 个 HD。我希望系统也能从 RAID 启动,因此我选择了支持 Intel 快速存储技术的主板。启用该功能后,在 BIOS 中创建了 RAID 卷。安装是从 Debian 稳定版(bullseye)netinst iso 映像以专家安装模式执行的。在安装过程中,在对磁盘进行分区之前,我必须激活第二个控制台并手动运行:

mdadm -Asv

此后,安装程序开始查看 RAID(/dev/md126),我可以:

  1. 创建 ESP(/dev/md126p1)和 boot(/dev/md126p2)分区。
  2. 在 上创建加密卷/dev/md126p3
  3. 在加密卷和mynas_vg其中的卷组上创建 LVM。
  4. 在组中创建swaproot(用于系统)和data(用于服务的目录)卷。mynas_vg
  5. 继续安装系统。

安装正确。然而,系统重启后,我收到一系列消息(其中一些消息重复多次):

Volume group mynas_vg not found
Cannot process volume group mynas_vg
cryptsetup: Waiting for encrypted source device UUID=xxxxxxxxxxxxxx

最后启动过程被中断了,我收到 (initramfs) 提示。系统无法启动。

答案1

即使没有使用安装程序的救援模式,我也已经解决了该问题。

按照(initramfs)提示我运行:

IMSM_NO_PLATFORM=1 mdadm -Asv

此后,/dev/md126及其分区都可用。然后我运行:

cryptsetup luksOpen /dev/md126p3 md126p3_crypt

卷组mynas_vg开始可见。我已将(initramfs)其保留CTRL+D,并且系统已正确启动。

在启动的系统中,我编辑了目录中的文件/usr/share/initramfs-tools/scripts/local-block

  1. cryptroot文件中,我已将:更改 PREREQ=""PREREQ="mdadm"
  2. 在该mdadm文件中,我添加了以下行:
    #!/bin/sh
    
    PREREQ="multipath"
    export IMSM_NO_PLATFORM=1 # <-- This line is added
    prereqs()
    {
         echo "$PREREQ"
    }
    

完成上述修改后我运行了:

update-initramfs -c -k all

然后我重新启动了系统。使用经过修改的初始 ramdisk,系统可以正确启动。它显示三次有关不可用mynas_vg组的消息,一次有关等待加密源设备的消息,但随后要求输入 md126p3_crypt 磁盘的密码,输入密码后,系统可以正确启动。

当然,对于其他 raid 参数,RAID 设备的名称可能与 不同/dev/md126。如果您想按照我的方案操作,则必须相应地更改该名称以及从中派生的所有其他名称。

请记住,系统更新可能会恢复修改脚本的原始内容。如果您的系统停止启动,您可能需要重复上述过程。

相关内容