如何在没有 KVM 的情况下记录内核崩溃

如何在没有 KVM 的情况下记录内核崩溃

我的服务器崩溃了,我找不到原因。这一切都是在我的数据中心将 RAM 从 16 GB 升级到 32 GB 后发生的。

我还在 dmesg 中发现了这样的日志 - 它们在第一次内核崩溃之前就开始显示出来:

EXT4-fs error (device md2): ext4_ext_find_extent: bad header/extent in inode #97911179: invalid magic - magic 5f69, entries 28769, max 26988(0), depth 24939(0)
EXT4-fs error (device md2): ext4_ext_remove_space: bad header/extent in inode #97911179: invalid magic - magic 5f69, entries 28769, max 26988(0), depth 24939(0)
EXT4-fs error (device md2): ext4_mb_generate_buddy: EXT4-fs: group 20974: 8589 blocks in bitmap, 54896 in gd
JBD: Spotted dirty metadata buffer (dev = md2, blocknr = 0). There's a risk of filesystem corruption in case of system crash.
EXT4-fs error (device md2): ext4_ext_split: inode #97911179: (comm pdflush) eh_entries 28769 != eh_max 26988!
EXT4-fs (md2): delayed block allocation failed for inode 97911179 at logical offset 1039 with max blocks 1 with error -5

This should not happen!!  Data will be lost
EXT4-fs error (device md2): ext4_mb_generate_buddy: EXT4-fs: group 21731: 5 blocks in bitmap, 60762 in gd
JBD: Spotted dirty metadata buffer (dev = md2, blocknr = 0). There's a risk of filesystem corruption in case of system crash.

我的系统是 CentOS 5.8 64 位,最新内核是 2.6.18-308.20.1.el5。如何在无法访问 KVM 的情况下检查内核崩溃的原因?

我已经告诉我的数据中心管理员检查服务器中的内存。

答案1

您可能在另一台机器上看到通过 UDP 记录的“netconsole”包,内核以暴力模式记录(不是 syslog)。在服务器上,您应该安装 netconsole 并要求它根据“nc”导出到日志服务器(例如)。如果发生内核崩溃,所有信息都会记录在日志机器上,您可以开始分析发生了什么

相关内容