Как просмотреть журналы загрузки для отладки завершения работы virsh

Вопрос или проблема

Я использую virsh start guest, который запускает домен, но вскоре гость переходит в состояние выключения, что можно подтвердить с помощью следующей команды:

virsh list  --all
 Id   Name          State
------------------------------
 -    guest   shut off

Я пробовал virsh reboot guest и перезагрузить гостя, но такая же проблема наблюдается.
Часто гость на базе RHEL9 запускается в рабочем состоянии. Это временная проблема, и я использую тот же файл конфигурации XML домена, поэтому нет проблем с конфигурацией XML домена.
Можете ли вы подсказать, как отладить эту проблему? Как мы можем получить журналы загрузки (файл /var/log/boot.log также не создается)?

Ответ или решение

Для решения проблемы с неожиданным завершением работы виртуальной машины (VM) при использовании команды virsh start guest, необходимо получить доступ к логам загрузки, которые могут предоставить ценную информацию для диагностики. Ниже представлено подробное руководство по получению и анализу этих логов.

1. Проверка журналов в KVM/QEMU

Virsh использует KVM/QEMU для управления виртуальными машинами. Логи QEMU часто содержат важную диагностическую информацию. Чтобы просмотреть эти логи, выполните следующие шаги:

  • По умолчанию QEMU может записывать логи в файл /var/log/libvirt/qemu/<название_вашей_VM>.log. Проверьте наличие этого файла:
    cat /var/log/libvirt/qemu/guest.log

2. Rocking Boot Logs

Если /var/log/boot.log не создается, возможно, это связано с конфигурацией системы. Для диагностики включите более детализированное ведение журнала при загрузке.

  • Для этого отредактируйте параметры загрузки, добавив следующую опцию в kernel command line в GRUB:

    systemd.show_status=1
  • Также можно добавить:

    printk.default_log_level=7

    Это позволит вывести информацию об уровне отладки.

  • После изменения настройки, обновите конфигурацию GRUB:

    grub2-mkconfig -o /boot/grub2/grub.cfg

3. Использование journalctl

Системы, использующие systemd, могут получать доступ к журналам системы через команду journalctl. Запустите её с фильтрацией по вашей виртуальной машине:

journalctl -u libvirtd.service

4. Загрузка с резидентной консолью

Если VM не загружается корректно, возможно, стоит попробовать подключиться к виртуальной консоли. Это можно сделать через virsh console guest:

virsh console guest

Это позволит вам наблюдать за загрузкой системы и захватить любые ошибки, которые могут возникнуть в процессе.

5. Проверка состояния ресурсов

Иногда проблемы с загрузкой могут связаны с нехваткой ресурсов на хост-машине. Проверьте использование памяти и CPU на хосте:

free -h
top 

Если ресурсов недостаточно, это может вызывать неожиданное завершение работы вашей виртуальной машины.

6. Параметры конфигурации

Убедитесь, что все настройки в XML-файле вашей виртуальной машины корректны. Проверьте параметры такой как memory, vCPU, сети и хранилища. Для внесения изменений используйте команду:

virsh edit guest

Заключение

Следуя этим шагам, вы сможете получить доступ к необходимым логам и диагностической информации для устранения проблемы с неожиданным завершением работы вашей виртуальной машины. Всегда учитывайте возможность нехватки ресурсов и правильную настройку конфигурации. Если проблема продолжается, возможно, стоит обновить виртуальную машину или обратиться к более глубокому анализу запуска через дополнительные инструменты мониторинга.

Оцените материал
Добавить комментарий

Капча загружается...