Kernel/Kdump: различия между версиями

Материал из ALT Linux Wiki
(Новая страница: «Kdump предоставляет возможность получить дамп ядра в случае kernel panic. В Альте используется интерфейс на базе дебиановского [https://manpages.debian.org/testing/kdump-tools/kdump-tools.5.en.html kdump-tools] с утилитой [https://manpages.debian.org/testing/kdump-tools/kdump-config.8.en.html kdump-config]. Описание используемого мех...»)
 
Нет описания правки
Строка 1: Строка 1:
Kdump предоставляет возможность получить дамп ядра в случае kernel panic. В Альте используется интерфейс на базе дебиановского [https://manpages.debian.org/testing/kdump-tools/kdump-tools.5.en.html kdump-tools] с утилитой [https://manpages.debian.org/testing/kdump-tools/kdump-config.8.en.html kdump-config].
Kdump предоставляет возможность получить дамп ядра в случае kernel panic. В Альте используется интерфейс на базе дебиановского [https://manpages.debian.org/testing/kdump-tools/kdump-tools.5.en.html kdump-tools] с утилитой [https://manpages.debian.org/testing/kdump-tools/kdump-config.8.en.html kdump-config]. (В отличии от дебиановких утилит у нас нет генерации специального мини-initrd для kdump, а используется обычный initrd с обычным ядром.)


Описание используемого механизма ядра: https://www.kernel.org/doc/html/latest/admin-guide/kdump/kdump.html (англ.)
Описание используемого механизма ядра: https://www.kernel.org/doc/html/latest/admin-guide/kdump/kdump.html (англ.)
Строка 27: Строка 27:
   # kdump-config status
   # kdump-config status
   current state  : ready to kdump
   current state  : ready to kdump
= Проверка работоспособности Kdump =
Системы разные и после первоначальной установки на всякий случай можно убедиться, что всё работает. Для этого после рубута (при наличии статуса "ready to kdump") искусственно вызовите крэш системы:
  # sync
  # echo 1 > /proc/sys/kernel/sysrq
  # echo c > /proc/sysrq-trigger
Возникнет kernel panic после чего система должна загрузится в dump-capture ядро, которое запишет дамп предыдущего ядра в подкаталог названый по дате и времени в <code>/var/crash</code>. Пример:
  # ls -l /var/crash/202211220350
  total 137928
  -rw------- 1 root root    151909 Nov 22 03:50 dmesg.202211220350
  -rw-r--r-- 1 root root 141075304 Nov 22 03:50 dump.202211220350


= Ссылки =
= Ссылки =
Настройка Kdump в других дистрибутивах:
Настройка '''Kdump''' в других дистрибутивах:
* https://fedoraproject.org/wiki/How_to_use_kdump_to_debug_kernel_crashes
* В Федоре используется расширенный пакет <code>kexec-tools</code> https://fedoraproject.org/wiki/How_to_use_kdump_to_debug_kernel_crashes
* В Арче самостоятельная конфигурация https://wiki.archlinux.org/title/Kdump

Версия от 19:35, 24 ноября 2022

Kdump предоставляет возможность получить дамп ядра в случае kernel panic. В Альте используется интерфейс на базе дебиановского kdump-tools с утилитой kdump-config. (В отличии от дебиановких утилит у нас нет генерации специального мини-initrd для kdump, а используется обычный initrd с обычным ядром.)

Описание используемого механизма ядра: https://www.kernel.org/doc/html/latest/admin-guide/kdump/kdump.html (англ.)

Пример конфигурации системы по шагам

 # apt-get uodate
 # apt-get install -y kdump-tools

Добавьте параметр crashkernel=256M в kernel command line, для этого (при использовании загрузчика grub2) редактируйте файл /etc/sysconfig/grub2 строку GRUB_CMDLINE_LINUX_DEFAULT=, например:

 # vim /etc/sysconfig/grub2
 GRUB_CMDLINE_LINUX_DEFAULT='panic=10 console=ttyS0 audit=0 crashkernel=256M'

Затем нужно [перегенерировать grub.cfg], чтоб новый параметр применился при следующей загрузке системы:

 # update-grub

И включить сервис kdump-tools:

 # systemctl enable kdump-tools

После этого можно (нужно) перезагрузить систему (reboot).

Результат работы сервиса можно будет посмотреть командами kdump-config show (выведет больше подробностей) или kdump-config status (кратко) — в их выводе должен быть текст ready to kdump:

 # kdump-config status
 current state   : ready to kdump

Проверка работоспособности Kdump

Системы разные и после первоначальной установки на всякий случай можно убедиться, что всё работает. Для этого после рубута (при наличии статуса "ready to kdump") искусственно вызовите крэш системы:

 # sync
 # echo 1 > /proc/sys/kernel/sysrq
 # echo c > /proc/sysrq-trigger

Возникнет kernel panic после чего система должна загрузится в dump-capture ядро, которое запишет дамп предыдущего ядра в подкаталог названый по дате и времени в /var/crash. Пример:

 # ls -l /var/crash/202211220350
 total 137928
 -rw------- 1 root root    151909 Nov 22 03:50 dmesg.202211220350
 -rw-r--r-- 1 root root 141075304 Nov 22 03:50 dump.202211220350


Ссылки

Настройка Kdump в других дистрибутивах: