当我尝试以 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,[电子邮件受保护]/”