Главная
» Как сделать
»
Настройка KVM в SLES 15: запуск выбранных виртуальных машин при загрузке.
Настройка KVM в SLES 15: запуск выбранных виртуальных машин при загрузке.
Чтобы виртуальная машина SLES 15 KVM запускалась после перезагрузки хоста, установите компоненты управления KVM и libvirt, отметьте эту гостевую систему для автозапуска с помощью параметра virsh autostart VM_NAMEи убедитесь, что активный демон libvirt на хосте запускается при загрузке. Автозапуск — это настройка для каждой виртуальной машины; установка KVM или запуск libvirt сами по себе не приводят к автоматическому запуску каждой гостевой системы.
Приведенные ниже команды соответствуют руководству по виртуализации SUSE SLES 15 SP7. Более ранние пакеты обновлений могут отличаться, поэтому перед применением команд службы проверьте соответствующее руководство и установленные модули systemd.
Вам нужен KVM-сервер, KVM-инструменты или и то, и другое?
Для хоста, который будет запускать и управлять гостевыми системами через libvirt, установите как KVM-сервер, так и KVM-инструменты. SUSE определяет KVM-сервер как минимальную среду QEMU/KVM, а KVM-инструменты — как стек управления на основе libvirt, который включает в себя virshиспользуемый здесь рабочий процесс.
Перед установкой убедитесь, что процессор и микропрограмма машины поддерживают аппаратную виртуализацию. SUSE описывает поддержку ЦП и необходимое программное обеспечение в своем руководстве по виртуализации SLES 15 SP7 . Если проверка выявит проблему с оборудованием или конфигурацией, устраните ее в микропрограмме или конфигурации хоста, прежде чем пытаться определить виртуальную машину; флаг автозапуска не может компенсировать невозможность запуска KVM на хосте.
Перед созданием гостевых систем запустите утилиту проверки хоста; в терминале отобразится команда, а не результат теста.
Как установить стек KVM для SLES 15?
Этот необязательный маршрут Zypper устанавливает документированные шаблоны управления KVM-сервером и libvirt.
На уже установленном сервере откройте YaST и выберите «Виртуализация» > «Установить гипервизор и инструменты» . Если модуль виртуализации YaST отсутствует, SUSE сообщит, что он предоставляется пакетом yast2-vm.
Выберите сервер KVM и инструменты KVM , затем примите изменения пакета. YaST может предложить настроить сетевой мост. Выбирайте этот вариант только в том случае, если он соответствует сетевой архитектуре хоста. Изменение сети рабочего хоста может нарушить удаленный доступ, поэтому планируйте и согласовывайте изменения моста до их применения.
После завершения установки создайте или импортируйте гостевую систему и убедитесь, что она определена как постоянный домен libvirt. В руководстве SUSE указано, что настройка KVM через YaST не требует перезагрузки хоста.
В качестве альтернативы, согласно документации SUSE, можно установить шаблоны с помощью Zypper: sudo zypper install -t pattern kvm_server kvm_tools. Выберите один из способов установки и проверьте транзакцию пакета перед подтверждением. Если хост устанавливается с нуля, роль системы KVM Virtualization Host установит и настроит соответствующий набор параметров во время установки SLES.
Как настроить автоматическую загрузку виртуальной машины?
Сначала перечислите домены через системное соединение libvirt, чтобы можно было использовать точное имя гостевой системы:
Перед настройкой автозапуска отобразите список всех доменов в системном подключении и скопируйте точное имя виртуальной машины.
sudo virsh -c qemu:///system list --all
Эта --allопция включает гостевые виртуальные машины, которые в данный момент выключены. Выберите нужную постоянную виртуальную машину из результатов поиска. Затем включите автозапуск для этого домена:
Замените VM_NAME на точное имя домена libvirt гостевой системы, чтобы включить флаг автозапуска.
sudo virsh autostart VM_NAME
Чтобы отменить настройку позже, выполните команду sudo virsh autostart --disable VM_NAME. Это не восстановление из сохраненной памяти: гостевая система загружается в обычном режиме с настроенных дисков после запуска хоста. Также команда не выбирает автоматически каждую виртуальную машину. Применяйте команду только к тем гостевым системам, которые должны работать на этом хосте.
Какую службу libvirt необходимо запускать при загрузке?
Это зависит от того, использует ли данный хост SLES модульные демоны libvirt или традиционную монолитную конфигурацию libvirtd. В документации SUSE указано, что модульные демоны включены по умолчанию в SLES 15 SP7, и рекомендуется запускать соответствующую службу драйвера при загрузке, если гостевые системы настроены на автозапуск. Служба драйвера QEMU — это virtqemud.service. В монолитной конфигурации SUSE рекомендует libvirtd.serviceвместо этого использовать . Не следует включать оба режима развертывания только потому, что существуют оба имени юнитов.
Перед изменением единиц измерения проверьте настройки вашего хоста:
Перед включением чего-либо проверьте доступные модули демона libvirt, чтобы определить режим развертывания хоста.
systemctl status virtqemud.service libvirtd.service
Если хост использует модульную библиотеку libvirt и установлен модуль QEMU, включите его с помощью следующей команды:
sudo systemctl enable --now virtqemud.service
Если хост намеренно настроен на использование монолитного демона, используйте вместо этого следующую команду:
Включайте этот модуль только на хостах, использующих монолитную конфигурацию libvirtd; на модульных хостах используется собственный драйвер-демон.
sudo systemctl enable --now libvirtd.service
Указывайте на использование сети libvirt по умолчанию для автоматического запуска только в том случае, если виртуальная машина использует эту виртуальную сеть.
В модульной libvirt виртуальные сети и управление хранилищем могут использовать отдельные демоны драйверов или сокеты. Если гостевая система зависит от сети, управляемой libvirt, настройте ее автоматический запуск; например, как описано в документации SUSE sudo virsh net-autostart defaultдля предопределенной defaultсети. Делайте это только тогда, когда гостевая система фактически использует эту сеть. Мост, настроенный на уровне хоста, не использует эту настройку сети libvirt. Проверяйте фактическую сеть, подключенную к гостевой системе, а не предполагайте ее имя default.
Если гостевая система использует внешний или сетевой диск, убедитесь, что его резервная копия доступна при загрузке. SUSE отмечает, что активное состояние пула хранения libvirt не изменяет доступность томов, уже подключенных к гостевым системам, но включение автозапуска пула полезно, когда пул должен быть активен для управления пулом на стороне хоста или последующих операций с томами: sudo virsh pool-autostart POOL. Замените POOLна фактическое имя пула; не создавайте новый пул только для того, чтобы настроить автозапуск виртуальной машины.
Как можно убедиться, что виртуальная машина снова заработает?
Используйте информацию о домене гостевой системы, чтобы проверить настройки автозапуска перед тем, как запланировать перезагрузку хоста.
Перед плановой перезагрузкой для технического обслуживания проверьте конфигурацию домена и состояние демона. Используйте команду sudo virsh dominfo VM_NAMEдля подтверждения включения автозапуска systemctl is-enabled virtqemud.serviceили systemctl is-enabled libvirtd.serviceдля выбранного вами режима демона. Если первая команда завершается с ошибкой из-за того, что гостевая система не найдена, убедитесь, что вы обращаетесь к тому же соединению libvirt, к которому она была создана.
Затем проведите тестирование во время утвержденного окна технического обслуживания. После возвращения хоста в рабочее состояние запустите команду sudo virsh -c qemu:///system list --all. Выбранная гостевая система должна отображаться как работающая; подтвердите ее сетевые и гостевые службы отдельно. Если она остается выключенной, проверьте журналы загрузки активного демона с помощью команды journalctl -b -u virtqemud.serviceили journalctl -b -u libvirtd.service, в зависимости от ситуации, и проверьте наличие недоступного хранилища или необходимой виртуальной сети. Эти условия зависят от конфигурации хоста, поэтому журнал демона и фактическая конфигурация устройства виртуальной машины определяют дальнейшие действия по устранению неполадок.