
我正在準備基於PC的NAS系統。系統使用 4 個硬碟,採用 RAID 5 配置。我希望系統也能從 RAID 啟動,因此我選擇了支援 Intel 快速儲存技術的主機板。啟用該功能後,RAID 磁碟區將在 BIOS 中建立。安裝是在專家安裝模式下從 Debian stable (bullseye) netinst iso 映像執行的。在安裝過程中,在對磁碟進行分割之前,我必須啟動第二個控制台並手動運行:
mdadm -Asv
之後安裝程式開始看到 RAID ( /dev/md126
),我可以:
- 建立 ESP (
/dev/md126p1
) 和 boot (/dev/md126p2
) 分區。 - 在 上建立加密磁碟區
/dev/md126p3
。 - 在加密磁碟區和
mynas_vg
其中的磁碟區組上建立LVM。 - 在群組中建立
swap
、root
(對於系統)和data
(對於所服務的目錄)磁碟區mynas_vg
。 - 繼續安裝系統。
安裝正確。然而,系統重新啟動後,我收到一系列訊息(其中一些重複了很多次):
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
:
- 在
cryptroot
文件中,我已更改PREREQ=""
為:PREREQ="mdadm"
- 在
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
。如果您想遵循我的食譜,您必須相應地更改該名稱以及由此衍生的所有其他名稱。
請記住,系統更新可能會恢復修改後的腳本的原始內容。如果您的系統停止啟動,您可能需要重複上述過程。