Centos 服务器意外重启,我无法处理崩溃文件,我做错了什么?

Centos 服务器意外重启,我无法处理崩溃文件,我做错了什么?

我的一台 Mysql 复制服务器在夜间重新启动了,我正在尝试找出原因。运行命令last显示以下行: reboot system boot 2.6.32-71.29.1.e Wed Jul 31 04:37 - 11:02 (06:24) 我正在尝试读取vmcore在重新启动期间创建的文件。我安装了kernel-debuginfo创建该vmlinux文件的软件包。然后我运行:

[root@dbs ~]# crash -s /usr/lib/debug/lib/modules/2.6.32-358.14.1.el6.centos.plus.x86_64/vmlinux /var/crash/127.0.0.1-2013-07-31-01:33:32/vmcore
crash 6.1.0-1.el6
crash: invalid kernel virtual address: 68f8e06b73fe5f1f  type: "possible"
WARNING: cannot read cpu_possible_map
crash: invalid kernel virtual address: fce96c6b73fe5f1f  type: "present"
WARNING: cannot read cpu_present_map
crash: invalid kernel virtual address: e10de07591befc69  type: "online"
WARNING: cannot read cpu_online_map
crash: /usr/lib/debug/lib/modules/2 and /var/crash/127.0.0.1-2013-07-31-01:33:32/vmcore do not match!

Usage:

  crash [OPTION]... NAMELIST MEMORY-IMAGE  (dumpfile form)
  crash [OPTION]... [NAMELIST]             (live system form)

Enter "crash -h" for details.
[root@dbs ~]# 

有人能指出我做错了什么吗?我想知道为什么 vmcore 和 vmlinux 表现不怎么样,因为 vmlinux 是在我安装 kernel-debuginfo 包时生成的...

[root@dbs 2.6.32-358.14.1.el6.centos.plus.x86_64]# rpm -qa |grep kernel-debug
kernel-debuginfo-common-x86_64-2.6.32-358.14.1.el6.centos.plus.x86_64
kernel-debug-2.6.32-358.14.1.el6.x86_64
kernel-debuginfo-2.6.32-358.14.1.el6.centos.plus.x86_64
[root@dbs 2.6.32-358.14.1.el6.centos.plus.x86_64]# uname -r
2.6.32-71.29.1.el6.x86_64
[root@dbs 2.6.32-358.14.1.el6.centos.plus.x86_64]#

为什么kernel-debuginfo生成的包是错误的vmlinuxuname -r显示内核版本为 2.6.32-71.29.1,而已vmlinux生成的包的版本为 2.6.32-358.14.1?

[root@dbs ~]# yum list installed |grep kernel
abrt-addon-kerneloops.x86_64
dracut-kernel.noarch    004-33.2.el6_0  @updates                                
kernel.x86_64           2.6.32-71.el6   @anaconda-CentOS-201106060106.x86_64/6.0
kernel.x86_64           2.6.32-71.29.1.el6
kernel-debuginfo.x86_64 2.6.32-358.14.1.el6.centos.plus
kernel-debuginfo-common-x86_64.x86_64
kernel-headers.x86_64   2.6.32-71.29.1.el6
[root@dbs ~]#

答案1

我找到了解决方案!我采取的步骤如下:

[root@dbs ~]# uname -r
2.6.32-71.29.1.el6.x86_64
[root@dbs ~]#

我跑了:

[root@dbs ~]# yum provides kernel-debuginfo-2.6.32

并手动寻找:

kernel-debuginfo-2.6.32-71.29.1.el6.x86_64

然后我运行: rpm -qa |grep ^kernelyum remove输入当前安装的错误版本kernel-debuginfo

然后我安装了正确的kernel-debuginfo-2.6.32-71.29.1.el6.x86_64,运行updatedb,然后用正确的版本locate安装了新的。然后我使用了下一个命令:崩溃报告成功运行。感谢你的帮助@ALex_hha。vmlinuxcrash /usr/lib/debug/lib/modules/2.6.32-71.29.1.el6.x86_64/vmlinux /var/crash/127.0.0.1-2013-07-31-01\:33\:32/vmcore

相关内容