Чтобы получить дамп памяти (core dump) из виртуальной машины Xen или KVM с помощью virsh, выполните следующие шаги:
Включите Crashkernel в GRUB (для CentOS/RHEL):
Для CentOS или Red Hat Enterprise Linux (RHEL) вам нужно включить crash kernel. Отредактируйте файл /etc/default/grub
и добавьте параметр crashkernel
. Например:
GRUB_CMDLINE_LINUX="rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet crashkernel=auto"
Затем обновите GRUB:
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
Перезагрузите систему, чтобы изменения вступили в силу.
Проверьте ядро и инструменты Kexec:
Убедитесь, что на вашей системе установлены kexec-tools и подходящий пакет kernel-debug.
sudo yum install kexec-tools kernel-debug
Проверьте, что служба kexec включена и запущена:
sudo systemctl enable kexec-reboot
sudo systemctl start kexec-reboot
Имитируйте сбой ядра в виртуальной машине:
Для симуляции сбоя ядра в виртуальной машине выполните следующую команду внутри виртуальной машины:
echo c > /proc/sysrq-trigger
Мониторинг события сбоя:
На гипервизоре мониторьте событие сбоя с помощью dmesg:
dmesg | grep "crash"
Вы должны увидеть сообщения, указывающие на событие сбоя.
Сделайте дамп памяти с помощью virsh:
Используйте virsh для захвата дампа памяти:
sudo virsh dump <domain_name> /path/to/save/vmcore
Замените <domain_name>
на имя вашей виртуальной машины.
Анализ дампа памяти:
Вы можете использовать инструменты, такие как crash или gdb, для анализа файла vmcore. Установите crash, если он еще не установлен:
sudo yum install crash
Затем используйте crash с файлом vmcore:
sudo crash /path/to/save/vmcore /usr/lib/debug/lib/modules/$(uname -r)/vmlinux
Используйте команду bt
в crash, чтобы получить backtrace и проанализировать сбой.
Важное замечание:
Получение и анализ vmcore требует некоторого опыта в отладке проблем, связанных с ядром. Перед выполнением этих шагов обязательно сделайте резервные копии важных данных и конфигураций, так как сбой системы и захват vmcore могут привести к потере данных или нестабильности системы. Если вы не уверены, обратитесь за помощью к опытным системным администраторам или каналам поддержки.