當我嘗試以 root 身分使用 raid 時,我的系統出現了恐慌。
我想在恐慌發生之前讀取內核輸出,但無法向上滾動。谷歌搜尋了一下後,我想嘗試 netconsole。但我在第二台機器上根本沒有輸出
我目前的 grub.conf 的相關部分
title Gentoo Linux 3.0.6
root (hd0,0)
kernel /boot/linux-3.0.6-gentoo root=/dev/md3
title Gentoo Linux 3.0.6 (debug netconsole)
root (hd0,0)
kernel /boot/linux-3.0.6-gentoo-debug root=/dev/md3 netconsole=@/,[email protected]/00:18:f3:a8:09:61
#kernel /boot/linux-3.0.6-gentoo-debug root=/dev/md3 [email protected]/eth0,[email protected]/00:18:f3:a8:09:61
title Gentoo Linux 3.0.6 (no root/auto root)
root (hd0,0)
kernel /boot/linux-3.0.6-gentoo
- 第一個因內核恐慌而失敗
- 第二個是我嘗試使用 netconsole 的一個
- 第三個啟動但使用錯誤/舊的根
另一台電腦正在運行我啟動的 Kubuntu LiveCD nc -u -l 6666
。
如果我使用第三個 grub 選項啟動(第一台)計算機,我可以運行nc -u 192.168.0.27 6666
與第二台計算機進行通訊。
/boot/linux-3.0.6-gentoo
和之間的差異/boot/linux-3.0.6-gentoo-debug
是我啟用了:
- 內核駭客 -> 內核調試
- 內核駭客 -> 將每個啟動 printk 訊息延遲 N 毫秒
- 裝置驅動程式 -> 網路設備支援 -> 網路控制台日誌記錄支持
問題
- 我的(第二個)grub 配置定義正確嗎?
- 我應該啟用更多核心配置選項嗎?
- 是否有關於我應該提供詳細資訊的特定機器硬體的更多資訊?
- 有什麼方法可以讓我在恐慌後向上滾動嗎?
答案1
我剛剛在 3.5.0 核心的 gentoo 上遇到了同樣的問題。無論我嘗試什麼線上範例,直到運行以下命令之前都沒有輸出到達客戶端:
dmesg -n 7
我最初嘗試過
dmesg -n 8
這是內核文檔中建議的,但返回了
本地主機 ~ # dmesg -n 8 dmesg:未知級別“8”
dmesg -n 7 工作的地方
本地主機 ~ # dmesg -n 7 localhost ~ # 回顯檢查 > /sys/block/md0/md/sync_action
這是我在客戶端得到的
資料儲存1 ~ # nc -l -p 30000 -u [9698.913098]md:RAID陣列md0的資料檢查 [9698.913112] md:最小_保證_速度:1000 KB/秒/磁碟。 [9698.913124] md:使用最大可用空閒IO頻寬(但不超過200000 KB/秒)進行資料檢查。 [9698.913150] md:使用128k窗口,總共超過1048512k。 [9718.197555]md:md0:資料檢查完成。
順便說一句,這是我設定網路控制台的方法:
modprobe netconsole netconsole =“@/eth0,[電子郵件受保護]/”