База знаний

Как получить Vmcore на виртуальных машинах Xen/KVM с помощью Virsh.

Чтобы получить дамп памяти (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 могут привести к потере данных или нестабильности системы. Если вы не уверены, обратитесь за помощью к опытным системным администраторам или каналам поддержки.

  • 0 Пользователи нашли это полезным
Помог ли вам данный ответ?