
一段時間以來,我一直在嘗試設定以 RAID 1 作為啟動來源的新伺服器系統。該 RAID 由兩個 4TB 硬碟組成。因此,我從使用 Debian 12 安裝映像準備的 USB 記憶棒啟動。我配置網路並創建前兩個用戶。 分區部分我選擇手動方式
在接下來的表格中,我看到我的兩個 4TB 硬碟和 USB 啟動設備,硬碟 SCSI9 是緊急備用,我不會在這裡使用它。 我選擇配置軟體RAID
我選擇建立MD設備
我選擇RAID 1
2 個 RAID 設備
0 備用設備
再次回到分區。 這次我選擇引導模式
所有文件都在一個分區中
一兩分鐘後,新的分割區 RAID 就會出現。 看起來很有希望...
我確認更改後,系統開始取得並安裝作業系統的其餘部分和所有實用程式。這個過程設計得很好並且到目前為止非常簡單。唯一的問題是:它沒有完成。 :-( 當安裝GRUB(2小時後),它就死掉了... 我發現沒有辦法超越這一點。我的錯誤是什麼以及如何解決?
我根據廣泛的互聯網搜索結果嘗試了很多變體,所有結果都相同。這是最有希望的一種:跳過部分安裝過程並使用 mdadm 手動產生陣列: https://www.server-world.info/en/note?os=Debian_12&p=raid1
添加
答案1
4T需要使用GPT,而且你無法正確地擁有全磁碟可分割的RAID和使 BIOS 可以識別磁碟並從中啟動(對於 EFI 來說這是完全不可能的,對於傳統系統則不是那麼嚴格,但這將需要您不想知道的黑魔法)。
(令人遺憾的是 Debian 安裝程序甚至接受了這個方案。它不應該,它是嚴格無效的並且不可能工作。)
這是因為GPT分割區表實際上儲存在裝置的開頭和結尾。當使用全磁碟 RAID 且沒有正確的 MD 元資料解釋時,兩個 GPT 副本永遠不會同時發生:
- 對於 v1.0 MD 超級區塊,第二個 GPT(最後)將會遺失(提前移動,進入 BIOS 不期望的位置);
- 對於 v1.1 和 v1.2 MD 超級區塊,第一個 GPT(在開始時)將被移動,因此韌體將找不到它。
無論哪種方式,它都不會將磁碟識別為具有有效的分割表並拒絕從它們啟動。
除此之外,如果您想使用 UEFI 啟動,您需要知道 EFI 韌體不知道 ESP 可能是軟體 RAID(規格中沒有任何相關內容)。所以一定不能。 ESP 必須始終是簡單的 GPT 分割區。
因此,要解決此問題,您不必先建置 RAID 然後再分割區,而是先對磁碟進行分割區,然後將一些分割區收集到 RAID 中。雖然這是有爭議的,但我建議採用以下方案:
- 對於EFI 安裝:511MiB 的ESP(類型1)(預設偏移量1MiB),然後是Linux RAID 類型的/boot 的512MiB,然後是Linux RAID 類型的其餘部分(如果我沒記錯的話,這是fdisk 中的類型29) )。
- 對於舊版安裝:1 MiB(類型 4 — biosgrub)、510 MiB 引導 (RAID) 和其餘 RAID。
然後,建立兩個 RAID(/boot 和其餘的),並選擇其中一個 ESP 作為「ESP」。安裝後,您將啟用從第二個磁碟啟動。然後在大型 RAID 上建立 LVM,以保存檔案系統;在那裡您可以創建交換卷、根FS 卷(對於Debian 來說30 GiB 就足夠了,並且很容易動態擴大;請注意,您將把所有數據放置到其他已安裝的專用卷中- 將應用程序數據儲存在根卷中是沒有好處的)。其餘的可以在系統生命週期內根據需要創建。
然後你就可以像往常一樣安裝系統了。必須在ESP分區上創建FAT32; Debian 11 安裝程式有問題,所以我必須手動建立它;我不知道 12 的情況如何,因為我沒有執行過這樣的安裝,只進行了升級。當涉及到引導程式安裝時,您只需按照EFI 的建議進行操作,而對於舊版本,您可能只需重複此步驟並安裝兩次,第二次選擇第二個磁碟,這樣它將立即成為冗餘可引導的。
對於EFI,第一次系統啟動後,您需要在第二個「ESP」分割區上手動建立檔案FAT32 檔案系統,將其安裝在某個位置(我使用/boot/efi2)並從/boot/efi 複製所有內容,保留結構。然後您使用建立第二個韌體啟動條目efibootmgr
,這裡是說明。
答案2
完成...謝謝尼基塔指出正確的方向!這是一個快速烹飪食譜,說明它如何為我工作(我省略了幾個“你真的想重新分割磁碟嗎” - 確認):
- 前往主機板 BIOS 配置並停用所有 UEFI 功能。
- 使用 Debian 12 安裝映像從 USB 記憶棒啟動。
- 啟動“圖形安裝”。
- 以正常方式執行第一步(網路安裝等)。
- 當安裝程式出現“分割磁碟”時,選擇“手動”。
- 從兩個目標磁碟機中刪除所有舊分割區。
- 在第一個目標磁碟機上建立一個新分割區。當詢問大小時,輸入“1MB”。將分區放置到可用空間的「開始」位置。將“用作”設定更改為“保留 BIOS 引導區域”。
- 在第一個目標磁碟機上建立一個新分割區。當詢問尺寸時,輸入“最大”。將“用作”設定更改為“RAID 的實體磁碟區”。
- 對第二個目標驅動器重複最後兩個步驟。
- 返回分割區選單,選擇「設定軟體 RAID」。選擇“建立MD設備”。選擇“RAID1”。活動設備為“2”。備用設備為“0”。然後選擇之前準備的兩個RAID分割區。將 RAID 設定保留為“完成”
- 返回分割區選單,選擇「引導分割區」。選擇“引導 - 使用整個磁碟並設定 LVM”。選擇您之前準備好的RAID設備。選擇“一個分割區中的所有檔案”。當詢問LVM的大小時,回答“max”。
您的分區清單現在應該看起來像這樣。選擇“完成分割區並將變更寫入磁碟”。
- 如果一切順利,您的系統現在將啟動到標準 Debian 安裝過程(可能需要一段時間)。您可以像在正常安裝過程中一樣回答問題。
- 當涉及到在光碟上寫入 GRUB 內容時,請再次醒來:在第一個目標光碟上寫入一次,然後返回並對第二個目標光碟執行相同的操作。
- 其餘程序是標準的...
watch cat /proc/mdstat
您可以從命令列啟動來檢查 RAID 的狀態(包括同步過程的進度) 。