Raid

dracut-pre-trigger rd.md=0 刪除 md raid 啟動啟動失敗

  • December 10, 2015

該系統是 Fedora 22,最近從 Fedora 21 升級而來。剩餘的核心從 Fedora 21 引導。升級後安裝的兩個核心無法啟動。

該系統是 Intel S-5000 PAL,在 raid 5 陣列中配置了 5 個 SATA 驅動器。它已經執行了近 2 年沒有問題。如上所述,Fedora 21 核心繼續執行沒有問題。

問題在於升級的核心啟動過程掛起,3 分鐘後進入緊急外殼。journelctl 輸出顯示以下錯誤消息:

systemctl: 啟動 dracut 預觸發鉤子..

lldpad:配置文件文件載入失敗,

lldpad:創建一個新文件

lldpad:將 ctrl iface 綁定到 /com/intel/lldpad

dracut-pre-trigger: dracut-pre-trigger: rd.md=0 移除 md raid 啟動

在該過程結束時,錯誤消息是:

未找到 raidboot /root 設備

Fedora 21 核心啟動並正常執行。已嘗試以下方法:

  1. 重建 initramfs
  2. 執行 grub2-mkconfig 並重新安裝 grub

作為進一步的背景,該伺服器是類似伺服器網路的一部分。其他伺服器升級成功。比較兩個 initramfs.img 文件的 lsinit 輸出顯示了相似的輸出。唯一的區別在於預觸發和 lldpad 區域。

預觸發配置是造成這種情況的原因嗎?缺少哪個步驟會導致 dracut-pre-trigger 在創建 initramfs 時失敗?需要哪些包來支持預觸發?預觸發涉及哪些配置?重新執行預觸發以支持創建 initramfs?

這最終成為一個簡單的答案的漫長道路。系統使用 mdadm 創建 5 級 raid pv。Dracut 隨核心一起從 fc21 升級到 fc22 進行了更新。grub.cfg 中的初始引導命令行有一個 rd.lvm.lv 選項。這導致 fc22 dracut 在引導過程的早期停止尋找 dm 陣列。從 grub.cfg 中的 vmlinuz 命令選項中刪除 rd.lvm.lv 選項並添加 rd.auto 選項解決了該問題。關鍵是閱讀 Dracut 文件,該文件將 rd.lvm.lv 選項稱為排他性。排他性選擇權可能已分階段實施,從而導致延遲實施限制。

引用自:https://serverfault.com/questions/741032