Назад | Перейти на главную страницу

Сервер 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 пакет сгенерировал неправильный vmlinux? uname -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 ~]#

Я нашел решение! Шаги, которые я сделал:

[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 ^kernel и yum removeизменена текущая установленная неправильная версия kernel-debuginfo.

Затем я установил правильный kernel-debuginfo-2.6.32-71.29.1.el6.x86_64, побежал updatedb а потом locateбыл ли новый vmlinux с правильной версией. Затем я использовал следующую команду: crash /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 и отчет о сбое был успешно запущен. Спасибо за помощь @ALex_hha.