我的服务器崩溃了,我找不到原因的答案。这一切都是在我的数据中心将 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 的情况下检查内核恐慌的原因是什么?
我已经告诉我的数据中心管理员检查服务器中的内存。
您可能会在另一台机器上看到通过 UDP 记录的“netconsole”包,内核以暴力模式(不是系统日志)记录。在服务器上,你应该安装 netconsole 并要求它通过示例导出到基于 'nc' 的日志服务器。在内核崩溃的情况下,所有信息都记录在日志机器上,您可以开始分析发生了什么