Создание виртуальных машин#
Для создания ВМ используется утилита virt-install.
Предварительные условия#
Перед созданием ВМ убедитесь, что:
Виртуализация поддерживается на хосте.
ОС располагает достаточным количеством ресурсов для новой ВМ.
К числу таких ресурсов относятся:
дисковое пространство;
оперативная память;
центральные процессоры.
Количество требующихся ресурсов существенно зависит от предполагаемых задач и нагрузки на ВМ.
Источник инсталляции гостевой операционной системы (далее – ОС) доступен локально или через сеть.
Возможны следующие варианты:
ISO-образ на установочном носителе;
образ диска существующей ВМ.
Внимание
Инсталляция с использованием CD/DVD, установленного на хосте, не поддерживается. Если при установке гостевой ОС в качестве источника будет выбран CD/DVD, инсталляция завершится с ошибкой.
Обратите внимание, что Platform V SberLinux OS Server поддерживает определенный набор гостевых ОС.
Необязательно: для ускорения и упрощения конфигурирования процесса инсталляции используйте
Kickstart.
Примечание
Гостевая ОС – это ОС, установленная на ВМ.
Сценарии использования#
Чтобы создать ВМ и начать процесс установки гостевой ОС, используйте команду virt-install, применив следующие обязательные параметры:
--name– имя новой машины;--memory– объем выделенной оперативной памяти;--vcpus– число выделенных виртуальных процессоров;--disk– тип и размер выделенного дискового хранилища;--cdromили--location– тип и размещение источника инсталляции гостевой ОС.
Примечание
В зависимости от выбранного метода инсталляции необходимые параметры и их значения могут различаться.
Ниже представлены сценарии создания ВМ в различных конфигурациях:
Сценарий 1: создание ВМ с именем
<example-vm>, на которую инсталлируется ОС<os>с ISO-образа, хранящегося в локальном файле/home/username/Downloads/<os>.iso. ВМ в данном сценарии выделяется 2048 Мбайт оперативной памяти, 2 виртуальных процессора и виртуальный диск 80 Гбайт в форматеqcow2, который будет автоматически сконфигурирован для ВМ:virt-install \ --name <example-vm> --memory 2048 \ --vcpus 2 --disk size=80 --os-variant <os-variant> \ --cdrom /home/username/Downloads/<os>.isoГде
<os-variant>- вариант оптимизации ОС из списка допустимых вариантовvirt-install(например,rhel9.0,win10). Определяется автоматически, но автоматическое определение может быть отключено. В сценарии выше указывается вручную.Сценарий 2: создание ВМ с именем
<example-vm>, которая использует образ/home/username/Downloads/<os>.isoдля запуска<os>с live CD. Данной ВМ дисковое пространство не назначено, поэтому изменения, внесенные во время сеанса, не будут сохранены. Также ВМ выделяется 4096 МБайт оперативной памяти и 4 виртуальных процессора:virt-install \ --name <example-vm> --memory 4096 --vcpus 4 \ --disk none --livecd --os-variant <os-variant> \ --cdrom /home/username/Downloads/<os>.isoСценарий 3: создание ВМ
<os>с именем<example-vm>, которая подключается к существующему образу диска,/home/username/backup/<disk>.qcow2. Сценарий схож с физическим перемещением жесткого диска между машинами, поэтому ОС и данные, доступные для<example-vm>, определяются тем, как образ обрабатывался ранее. ВМ выделяется 2048 МБайт оперативной памяти и 2 виртуальных процессора:virt-install \ --name <example-vm> --memory 2048 --vcpus 2 \ --os-variant <os-variant> --import \ --disk /home/username/backup/<disk>.qcow2Внимание
Обратите внимание, что опция
--os-variantнастоятельно рекомендуется при импорте образа диска. Если опция будет опущена, это негативно скажется на производительности созданной ВМ.Сценарий 4: создание ВМ с именем
<example-vm>, которая устанавливается с URL-адресаhttp:/<example-url>.ru/<OS-install>. Чтобы установка началась успешно, URL-адрес должен содержать рабочее дерево установки ОС. Кроме того, ОС автоматически настраивается с помощью kickstart-файла/home/<username>/ks.cfg. ВМ в этом сценарии выделяется 2048 МБайт оперативной памяти, 2 виртуальных процессора и виртуальный дискqcow2на 160 ГБайт:virt-install \ --name <example-vm> --memory 2048 --vcpus 2 --disk size=160 \ --os-variant <os-variant> --location http:/<example-url>.ru/<OS-install> \ --initrd-inject /home/<username>/ks.cfg --extra-args="inst.ks=file:/ks.cfg console=tty0 console=ttyS0,115200n8"Сценарий 5: создание ВМ с именем
<example-vm>, которая устанавливается из файла образа<os>.isoв текстовом режиме без графики. Процесс подключает гостевую консоль к последовательной консоли. ВМ выделяется 16384 МБайт памяти, 16 виртуальных процессоров и диск 280 ГБайт:virt-install \ --name demo-guest5 --memory 16384 --vcpus 16 --disk size=280 \ --os-variant <os-variant> --location <os>.iso \ --graphics none --extra-args='console=ttyS0'Примечание
Данный вид установки полезен при подключении к хосту при медленном сетевом соединении.
Сценарий 6: создание ВМ с именем
<example-vm>и конфигурацией из сценария 5, но находящейся на удаленном хосте с адресомhh.hh.hh.hh:virt-install \ --connect qemu+ssh://root@hh.hh.hh.hh/system --name <example-vm> --memory 16384 \ --vcpus 16 --disk size=280 --os-variant <os-variant> --location <os>.iso \ --graphics none --extra-args='console=ttyS0'Сценарий 7: создание ВМ с именем
<example-vm>и конфигурацией из сценария 5, но использующей для своего хранения устройство, поддерживающее DASD (Direct Access Storage Device - накопители на жестких магнитных дисках),<mdev_id>и присваивание этому устройству номер1111.virt-install \ --name <example-vm> --memory 16384 --vcpus 16 --disk size=280 \ --os-variant <os-variant> --location <os>.iso --graphics none \ --disk none --hostdev <mdev_id>,address.type=ccw,address.cssid=0xfe,address.ssid=0x0,address.devno=0x1111,boot-order=1 \ --extra-args 'rd.dasd=0.0.1111'Обратите внимание, что имя устройства доступного для установки, можно получить с помощью команды
virsh nodedev-list --cap mdev.
Проверка#
Если ВМ создана успешно, открывается окно virt-viewer с графической консолью ВМ, и начинается установка гостевой ОС.
Решение возникших проблем#
Если выполнение команды virt-install завершится с ошибкой cannot find default network, то:
убедитесь, что установлен пакет
libvirt-daemon-config-network:dnf info libvirt-daemon-config-network Installed Packages Name : libvirt-daemon-config-network [...]проверьте, что сеть, установленная по умолчанию для
libvirt, активна и сконфигурирована так, чтобы запускаться автоматически:virsh net-list --allПример вывода команды:
Name State Autostart Persistent -------------------------------------------- default active yes yesЕсли сеть неактивна или сконфигурирована неверно, активируйте сеть по умолчанию и установите для нее автоматический запуск:
virsh net-autostart defaultПример вывода команды:
Network default marked as autostartedvirsh net-start defaultПример вывода команды:
Network default startedЕсли при активации сети по умолчанию появляются сообщения об ошибках вида:
error: failed to get network 'default' error: Network not found: no network with matching name 'default'Переустановите
libvirt-daemon-config-network:dnf reinstall libvirt-daemon-config-networkЕсли активация сети по умолчанию завершается с ошибками:
error: Failed to start network default error: internal error: Network is already in use by interface ens2То существует конфликт между подсетью сети по умолчанию и существующим интерфейсом на хосте. Чтобы решить эту проблему, примените команду
virsh net-edit defaultи измените значение адреса подсети в конфигурации на такое, которое не используется на хосте.