Руководство по настройке виртуализации KVM в SLES 15 и автоматическому запуску виртуальных машин

SUSE Linux Enterprise Server 15 может выступать в качестве хоста KVM с гипервизором QEMU/KVM и стеком управления libvirt. Это руководство написано как практическое справочное пособие для администраторов, которым нужна воспроизводимая настройка: подтверждение аппаратной виртуализации, установка поддерживаемых компонентов, выбор сети и хранилища, создание гостевой системы, включение автоматического запуска для каждой виртуальной машины и проверка работоспособности гостевой системы после перезагрузки хоста.

Приведенные ниже команды и пути в меню были проверены на соответствие руководству по виртуализации SUSE Linux Enterprise Server 15 SP7 , текущая версия которого датирована 10 сентября 2026 года. Более ранние пакеты обновлений SLES 15 аналогичны, но версии пакетов, параметры демонов по умолчанию и доступные профили гостевых систем могут отличаться. SUSE рекомендует управлять поддерживаемой виртуализацией через libvirt, а не смешивать libvirt с непосредственным управлением, специфичным для гипервизора.

Краткий контрольный список для планирования

ЭлементЧто решить или проверить
ПроцессорАппаратная виртуализация поддерживается и включается в микропрограмме: Intel VT-x или AMD-V на системах x86.
Ресурсы хостаОставьте достаточно ресурсов ЦП, ОЗУ, хранилища и ввода-вывода как для самой SLES, так и для каждой гостевой системы.
Сетевые технологииИспользуйте мост, когда гостям необходим обычный доступ к локальной сети на уровне Layer 2; используйте виртуальную сеть libvirt, когда лучше подходит изоляция NAT или маршрутизации.
ХранилищеВыберите место для размещения образов гостевых дисков и убедитесь, что в резервной файловой системе или пуле хранения достаточно свободного места.
УправлениеПостоянно используйте инструменты libvirt, такие как virsh, virt-install и Virtual Machine Manager.
Поведение при загрузкеАвтоматический запуск настраивается индивидуально для каждой постоянно работающей виртуальной машины, а не с помощью одного глобального параметра для всех гостевых систем.

1. Убедитесь, что хост может запускать KVM.

KVM требует поддержки виртуализации процессора и настроек прошивки, которые предоставляют эту поддержку операционной системе. На хосте x86 первым делом следует проверить наличие флага процессора Intel vmxили AMD svm. Пакет клиента libvirt также предоставляет функцию virt-host-validate, которая выполняет более широкий набор проверок хоста.

egrep -c '(vmx|svm)' /proc/cpuinfo
sudo virt-host-validate qemu

Положительное значение количества флагов ЦП полезно, но это не единственное требование. Если проверка сообщает о недоступности KVM, сначала проверьте настройки BIOS или UEFI, особенно на недавно развернутом сервере. В документации SUSE по KVM указано, что виртуализация должна поддерживаться процессором и быть включена в BIOS/прошивке. Также помните, что вложенная виртуализация — это отдельная функция; в SLES 15 SP7 SUSE описывает вложенный KVM как предварительную версию технологии, а не как поддерживаемую в производственной среде функцию по умолчанию.

Терминал на хосте SLES 15, отображающий проверки виртуализации ЦП и результаты команды virt-host-validate.
Представление результатов предварительной проверки в терминале: перед созданием виртуальных машин проверяются флаги виртуализации ЦП и выполняется проверка хоста.

2. Установите сервер KVM и инструменты управления libvirt.

Наиболее подходящий с точки зрения поддержки путь — это YaST. Откройте YaST > Виртуализация > Установить гипервизор и инструменты , выберите сервер KVM , а если вам нужен стек управления libvirt, выберите инструменты KVMyast2-vm . В документации SUSE этот пакет указан как модуль YaST, используемый для данной настройки.

Для автоматизации командной строки SLES группирует один и тот же функционал в шаблоны установки. Установите как шаблон для хоста, так и шаблон для управления:

sudo zypper install -t pattern kvm_server kvm_tools

Данный kvm_serverшаблон устанавливает базовую среду хоста QEMU/KVM. kvm_toolsОн также добавляет инструменты на основе libvirt для управления и мониторинга гостевых систем. Точный список зависимостей зависит от пакета обновлений, поэтому предпочтительнее устанавливать описанные шаблоны, чем поддерживать список пакетов, написанный вручную, если только у вас нет контролируемой минимальной конфигурации хоста.

Справочная информация: SUSE: Установка компонентов виртуализации .

Окно виртуализации YaST с выбранными сервером KVM и инструментами KVM.
В YaST выберите сервер KVM и инструменты KVM, чтобы установить гипервизор и стек управления libvirt.

3. Выберите сетевую модель виртуальной машины перед переносом производственного трафика.

Компания SUSE описывает сетевой мост как соединение по умолчанию и рекомендуемое соединение, когда гостевые системы должны подключаться непосредственно к локальной сети хоста. Мост действует как коммутатор уровня 2: физический интерфейс хоста и виртуальные интерфейсы виртуальной машины участвуют в одном сегменте Ethernet. Обычно это наиболее очевидный выбор для виртуальных машин инфраструктуры, которым необходимы собственные адреса локальной сети, входящие службы, резервирование DHCP или обычная видимость для других машин.

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

Если хост использует wicked, который, согласно документации SUSE, является службой управления сетью по умолчанию на серверах, создайте мост с помощью YaST или соответствующей конфигурации командной строки. Системы NetworkManager могут использовать nmcli. Будьте осторожны на удаленных серверах: перенос конфигурации IP-адреса хоста в мост может прервать SSH-соединение, если изменение будет некорректным. Запланируйте окно технического обслуживания или убедитесь, что у вас есть доступ к консоли.

Ссылка: SUSE: Подготовка сервера виртуальной машины .

В настройках сети YaST отображается мост br0, подключенный к eth0.
Пример мостовой сети, в которой br0 подключен к физическому интерфейсу Ethernet, подходящий в случаях, когда гостям необходим доступ к локальной сети уровня 2.

4. Убедитесь, что модули ядра KVM загружены.

После установки проверьте ядро ​​KVM. На хостах Intel обычно используется kvm_intel; на хостах AMD используется kvm_amd. В руководстве по настройке хоста KVM от SUSE показано, как загрузить модуль, специфичный для процессора, и проверить его с помощью lsmod.

sudo modprobe kvm_intel   # Intel host
# or
sudo modprobe kvm_amd     # AMD host

lsmod | grep kvm

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

Справочная информация: SUSE: Настройка сервера виртуальных машин KVM .

В терминале SLES отображаются модули kvm и kvm_intel в выводе команды lsmod.
Ожидаемая проверка модулей на хосте Intel показывает наличие как общего модуля KVM, так и модуля KVM, специфичного для Intel.

5. Проверьте модель демона libvirt, используемую вашим пакетом обновлений.

В SLES 15 SP7 по умолчанию включена модульная модель демонов libvirt. Для KVM основным демоном гипервизора является virtqemud. Вторичные демоны обрабатывают такие функции, как виртуальные сети и хранилище. SUSE по-прежнему описывает традиционную монолитную libvirtdмодель развертывания, но не следует произвольно включать обе модели.

На хосте KVM по умолчанию в SP7 проверьте демон QEMU:

systemctl status virtqemud.service
sudo systemctl enable --now virtqemud.service

Компания SUSE настоятельно рекомендует настроить соответствующий сервис libvirt для запуска при загрузке, если виртуальные машины также настроены на автоматический запуск при загрузке хоста. В более старых установках, где намеренно используется монолитная версия libvirt, следует проверить libvirtd.serviceналичие соответствующих сокетов. Перед переключением между моделями демонов на уже работающем хосте следуйте описанной в документации SUSE процедуре перехода и остановите или эвакуируйте гостевые системы.

Ссылка: SUSE: демоны libvirt .

В терминале отображается активная служба systemd virtqemud на хосте SLES 15.
В текущей версии SLES 15 SP7 перед тем, как полагаться на автоматический запуск виртуальных машин при загрузке хоста, проверьте модульную службу virtqemud.

6. Подготовьте носители информации для хранения и установки.

Перед созданием гостевой системы определите, к какому виртуальному диску она относится и куда смонтирован установочный ISO-образ. Настройки по умолчанию удобны для небольших автономных хостов, в то время как более крупные установки могут использовать выделенные тома LVM, отдельные файловые системы, NFS, iSCSI или другие хранилища, управляемые через libvirt. Ключевое правило работы — избегать незаметного заполнения корневой файловой системы хоста растущим количеством образов виртуальных машин.

Для гостевой системы, использующей файловую систему, перед созданием диска необходимо проверить наличие свободного места:

df -h /var/lib/libvirt/images
ls -lh /data/ISOs/

Если вы используете пул хранения libvirt, проверьте его virsh pool-list --allи убедитесь, что нужный пул активен. Для производственных систем включите хранилище виртуальных машин в систему мониторинга емкости и резервного копирования, а не рассматривайте образ диска как непрозрачный файл, который сам о себе позаботится.

7. Создайте виртуальную машину.

Вы можете создать гостевую систему графически с помощью Virtual Machine Manager или из командной строки с помощью команды `sudo apt-v` virt-install. SUSE описывает ` virt-installsudo apt-v` как инструмент командной строки для создания гостевых систем через libvirt, и он особенно полезен для повторяемых сборок и удаленного администрирования.

В диспетчере виртуальных машин создайте новую виртуальную машину, выберите локальный установочный носитель, выберите гостевую операционную систему, выделите память и виртуальные процессоры, выберите хранилище, а затем выберите нужную виртуальную сеть. На скриншоте ниже в качестве примера используется образ ISO SLES 15; используйте точно такой же образ установки и профиль, как и для вашего лицензионного пакета обновлений.

Мастер создания новой виртуальной машины в диспетчере виртуальных машин выбирает локальный установочный носитель SLES 15.
Менеджер виртуальных машин может создать гостевую систему из локального ISO-образа; выберите правильный образ SLES 15 для пакета обновлений, который вы собираетесь установить.

Аналогичный пример из командной строки:

sudo virt-install   --name sles15-vm   --memory 4096   --vcpus 2   --disk path=/var/lib/libvirt/images/sles15-vm.qcow2,size=40   --cdrom /data/ISOs/SLES-15-SP7-DVD-x86_64-GM-DVD1.iso   --network bridge=br0,model=virtio   --graphics spice

Настройте параметры памяти, количества процессоров, размера диска, пути к ISO-образу, сетевого источника, прошивки и графики в соответствии с вашей рабочей нагрузкой. Если вы используете сеть NAT libvirt вместо моста, замените параметр моста на соответствующую виртуальную сеть. Если важна поддержка в производственной среде, подтвердите поддерживаемые гостевые операционные системы и варианты устройств в документации SUSE по поддержке виртуализации.

Справочная информация: SUSE: Установка гостевой системы с помощью virt-install .

В терминале отображается команда virt-install, определяющая виртуальную машину SLES 15.
В процессе установки virt-install имя гостевой системы, объем оперативной памяти, количество виртуальных процессоров, дисковое пространство, установочный носитель и сетевое подключение определяются одной повторяемой командой.

8. Включите автоматический запуск виртуальной машины.

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

Включите эту функцию для гостя:

sudo virsh autostart sles15-vm

Проверьте настройку:

sudo virsh dominfo sles15-vm | grep -i autostart

Чтобы отключить эту функцию позже:

sudo virsh autostart --disable sles15-vm

В диспетчере виртуальных машин аналогичный элемент управления находится в разделе «Вид» > «Подробности» > «Параметры загрузки» гостевой системы , где можно включить параметр «Запускать виртуальную машину при загрузке хоста» и применить изменения.

Справочная информация: SUSE: Базовое управление гостевыми виртуальными машинами и автозапуск .

Терминал SLES отображает вывод команд virsh autostart и dominfo для постоянно работающей виртуальной машины.
После включения автозапуска команда virsh dominfo должна сообщить, что гостевая система настроена на автоматический запуск со службой виртуализации хоста.

9. Проверьте конфигурацию, вместо того чтобы предполагать, что автозапуск работает.

Наиболее показательным тестом является контролируемая перезагрузка хоста во время планового технического обслуживания. Перед перезагрузкой запишите текущее состояние и убедитесь, что виртуальная машина сохраняет свои данные:

sudo virsh list --all
sudo virsh dominfo sles15-vm

Затем перезагрузите хост. После перезагрузки хоста подтвердите состояние демона виртуализации и гостевой системы:

systemctl is-active virtqemud.service
sudo virsh list --all

Если в вашей системе используется монолитная библиотека libvirt, замените проверку службы на libvirtd. Автоматически запущенная виртуальная машина должна перейти в состояние runningбез ручного запуска virsh start. Также проверьте службу внутри гостевой системы, а не только состояние виртуальной машины. В работающей виртуальной машине все еще может быть сбой приложения, отсутствующая сетевая конфигурация или проблема восстановления файловой системы.

Справочник по устранению неполадок

СимптомВероятное место для проверкиПолезная команда
KVM недоступенВиртуализация микропрограммы отключена, процессор не поддерживается или отсутствует модуль ядра.virt-host-validate qemu
Виртуальная машина не может подключиться к локальной сети.Членство в мосте, размещение IP-адреса хоста, VLAN, политика брандмауэра или коммутатора.ip linkиbridge link
Определение виртуальной машины существует, но она не запускается.Путь к диску, права доступа, пул хранения, XML-файл или исчерпанные ресурсы.virsh start VMNAMEплюс журналы
Виртуальная машина не запускается после перезагрузки хоста.Флаг автозапуска или демон libvirt не включены для загрузки хоста.virsh dominfo VMNAMEиsystemctl is-enabled virtqemud
Выключение ведет себя как отключение электроэнергии.Поведение гостевой ОС при завершении работы (ACPI или гостевая ОС)virsh shutdown VMNAME

Компания SUSE предупреждает, что принудительное завершение работы virsh destroyэквивалентно резкому отключению питания и может привести к повреждению файловой системы гостевой системы или потере данных. Перед использованием виртуальной машины в производственной среде протестируйте корректное завершение работы и перезагрузку.

Практический базовый уровень для надежного KVM-хостинга SLES 15

Создание чистой базовой конфигурации довольно просто: используйте на хосте поддерживаемый пакет обновлений SLES 15, установите документированные kvm_serverшаблоны kvm_tools, постоянно используйте libvirt, целенаправленно выбирайте подключение через мост или виртуальную сеть, не размещайте хранилище виртуальных машин на слишком маленькой корневой файловой системе и отмечайте с помощью параметра `.` только те гостевые системы, которым действительно требуется запуск при загрузке virsh autostart.

Для SLES 15 SP7 помните о детали демонов, которую легко упустить из виду: модульные демоны libvirt являются демонами по умолчанию, как virtqemudи служба, которую вы обычно проверяете для KVM, вместо того, чтобы предполагать, что каждый текущий хост основан на устаревшей монолитной системе libvirtd. Это различие важно при диагностике виртуальной машины, которая правильно помечена для автозапуска, но все еще не появляется после перезагрузки хоста.

Оставить комментарий

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

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

Узнайте, как восстановить потерянные разделы и файлы с помощью TestDisk и PhotoRec. Защитите исходный диск, проведите безопасное сканирование и сохраните восстановленные данные на другой диск.

Как сканировать QR-коды на настольном компьютере с Linux

Как сканировать QR-коды на настольном компьютере с Linux

Сканируйте QR-коды в Linux с помощью CoBang, используя веб-камеру или файл изображения. См. варианты установки, шаги настройки и решения проблем с доступом к камере Flatpak.

Как изменить настройки веб-камеры в Linux с помощью Cameractrls

Как изменить настройки веб-камеры в Linux с помощью Cameractrls

Изменяйте настройки веб-камеры в Linux с помощью Cameractrls: настраивайте экспозицию, цвет, подавление мерцания и другие поддерживаемые параметры, а затем проверяйте совместимые видеорежимы.

Как установить PhpStorm на Linux: Toolbox, Tar.gz, Snap и AUR

Как установить PhpStorm на Linux: Toolbox, Tar.gz, Snap и AUR

Установите PhpStorm на Linux с помощью JetBrains Toolbox или автономного архива tar.gz, а также через Snap и Arch AUR. Java уже включена в комплект.

Как создать резервную копию CD-ROM в формате ISO в Linux

Как создать резервную копию CD-ROM в формате ISO в Linux

Создайте образ CD-ROM ISO в Linux с помощью GNOME Disks или dd. Определите оптический привод, отслеживайте процесс копирования, проверяйте образ и узнавайте, когда поврежденный диск или аудиодиск требует использования другого инструмента.

Как вырезать изображение в Linux с помощью GIMP

Как вырезать изображение в Linux с помощью GIMP

Удаление фона фотографии в Linux с помощью GIMP: обведите контур объекта, удалите выделенный фон, сохранив прозрачность, и экспортируйте многоразовый PNG-файл.

Как установить Cisco Packet Tracer на Linux

Как установить Cisco Packet Tracer на Linux

Загрузите Cisco Packet Tracer 9.0.1 для Ubuntu 64-бит, установите DEB-пакет с помощью APT, примите лицензионное соглашение в Терминале и войдите в систему, чтобы начать лабораторную работу.

Скачайте FlightGear бесплатно: официальное руководство по установке

Скачайте FlightGear бесплатно: официальное руководство по установке

Скачайте FlightGear бесплатно с официального сайта. Сравните пакеты для Windows, macOS и Linux, установите файлы данных и совершите свой первый полет.

Настольное приложение Google Tasks: как им пользоваться на компьютере

Настольное приложение Google Tasks: как им пользоваться на компьютере

Откройте Google Задачи в браузере, добавьте ярлык Chrome или запустите приложение, и управляйте задачами с указанием даты через Календарь и Gmail.

OKSampler: Бесплатный и простой музыкальный сэмплер для клавишных ритмов.

OKSampler: Бесплатный и простой музыкальный сэмплер для клавишных ритмов.

OKSampler сопоставляет MP3-клипы с клавишами клавиатуры и может зацикливать аудио. Узнайте, что делает эта старая бесплатная программа, на чем заканчиваются ее старые функции и что нужно проверить перед загрузкой.