Linux

無法在 Debian linux 擠壓中啟動新創建的 mdadm 軟體突襲

  • January 16, 2016

您好,我在 Debian Squeeze Linux 上創建 swarid 時遇到非常奇怪的問題。我開始從單個驅動器上現有的 Debian 標準安裝創建 RAID1。所以我買了新驅動器並開始學習本教程: http:

//www.howtoforge.com/how-to-set-up-software-raid1-on-a-running-system-incl-grub2-configuration-debian-squeeze

一切順利,我從新驅動器創建了初始突襲。然後我成功地啟動了這個新驅動器並將我的舊驅動器添加到這個陣列中。舊驅動器已成功同步到突襲。完成所有設置後,我已準備好最後一次重新啟動到我的新 Raid1 陣列。

但是突然驅動器陣列要啟動。Grub 需要很長時間才能啟動(列印一些關於 fd0 讀取錯誤的錯誤消息)。當我從菜單中選擇時,debian 開始載入非常緩慢並停止並顯示未找到 md0 的消息。在 grub shell 中我發現只有 /dev/md,沒有 /dev/md0 或 /dev/md1。

經過數小時的試驗,我終於設法讓 Raid 正常工作。使用醜陋的黑客。

我不得不補充:

mdadm -A --auto=md /dev/md0

在正確的地方:

/usr/share/initramfs-tools/init

並重建我的核心的 initrd.img

此命令啟動我的 Raid 並創建 /dev/md0 和 /dev/md1。

但它安靜的醜陋黑客,我不認為它很穩定。此外,它可能會在未來通過一些更新而中斷。所以我的問題是為什麼我需要在初始化腳本中進行這種更改?我的陣列有問題嗎?如何解決?

感謝所有提示。我現在很安靜絕望,這花了我整晚(12 小時)。到

好的,所以我找到了從 mdadm Raid1 啟動問題的解決方案。我很慚愧我花了這麼多時間才弄清楚這一點,因為這是一個非常簡單的錯誤。

/etc/default/mdadm裡面有部分:

# INITRDSTART:
#   list of arrays (or 'all') to start automatically when the initial ramdisk
#   loads. This list *must* include the array holding your root filesystem. Use
#   'none' to prevent any array from being started from the initial ramdisk.
INITRDSTART='none'

我不得不把它改成:

INITRDSTART='all'

然後我可以從 /usr/share/initramfs-tools/init 和 linux boots 中刪除我的自定義命令,而不會出現我的 raid 1 的問題。

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