Я использую Ubuntu 12.04 на AWS / EC2, и у меня большое количество хостов. Я пытаюсь включить дамп ядра, но когда я имитирую панику ядра, в файловой системе нигде не записывается файл .crash.
Я следовал инструкциям здесь: https://wiki.ubuntu.com/Kernel/CrashdumpRecipe
И кажется, что все настроено правильно:
# cat /proc/cmdline
root=LABEL=cloudimg-rootfs ro console=hvc0 crashkernel=384M-2G:64M,2G-:128M
# dmesg |grep crash
[ 0.000000] Command line: root=LABEL=cloudimg-rootfs ro console=hvc0 crashkernel=384M-2G:64M,2G-:128M
[ 0.000000] Reserving 64MB of memory at 832MB for crashkernel (System RAM: 1708MB)
[ 0.000000] Kernel command line: root=LABEL=cloudimg-rootfs ro console=hvc0 crashkernel=384M-2G:64M,2G-:128M
# cat /sys/kernel/kexec_crash_loaded
1
Но когда я выполню:
# echo c | sudo tee /proc/sysrq-trigger
Система перезагружается, как и ожидалось, но никакого файла сбоев не создается. Что я могу делать не так?
kernel-panic
crash
Stephan
источник
источник
/var/log/messages
?Ответы:
Убедитесь, что inducript kdump включен. Пакеты kexec_crash полагаются на initscript, чтобы обойти обычную процедуру запуска. Он определяет, был ли текущий вызов того,
init
который был вызван сбоем, и использует его, чтобы определить, нужно ли сбросить предыдущее рабочее состояние перед выполнением истинной перезагрузки.Тем не менее, если ваша тестирующая система не достаточно мала, чтобы уместиться в 64 МБ, и вы не заметите, что каждый другой сбой уменьшает вашу общую память, вероятно, это не то, что происходит.
Главное, на что нужно обратить внимание, это на то
init
, стреляет ли второй . Сразу после сбоя системы вы должны увидеть на консоли последовательности запуска initscript, которым не предшествует перезагрузка .init
запуск, система перезагружается,init
запускается снова , и, несмотря на все это, у вас все еще нет файла ... вам нужно устранить неполадки, происходящие непосредственно перед тем, как inducript kdump выполнит перезагрузку. По иронии судьбы, один из лучших способов - отключить начальный скрипт и выполнить команды вручную. (Осторожно: убедитесь, что ваши службы могут поместиться в память ядра аварийного отказа, прежде чем пытаться это сделать!)источник