如何使用 Intel 快速儲存技術在位於 RAID 上的加密 lvm 上安裝 Debian?

如何使用 Intel 快速儲存技術在位於 RAID 上的加密 lvm 上安裝 Debian?

我正在準備基於PC的NAS系統。系統使用 4 個硬碟,採用 RAID 5 配置。我希望系統也能從 RAID 啟動,因此我選擇了支援 Intel 快速儲存技術的主機板。啟用該功能後,RAID 磁碟區將在 BIOS 中建立。安裝是在專家安裝模式下從 Debian stable (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。如果您想遵循我的食譜,您必須相應地更改該名稱以及由此衍生的所有其他名稱。

請記住,系統更新可能會恢復修改後的腳本的原始內容。如果您的系統停止啟動,您可能需要重複上述過程。

相關內容