Создание виртуальных машин#
Для создания ВМ используется команда virt-install.
Перед созданием ВМ убедитесь, что:
Виртуализация поддерживается на хосте.
ОС располагает достаточным количеством ресурсов для новой ВМ.
К числу таких ресурсов относятся:
дисковое пространство;
оперативная память;
центральные процессоры.
Количество требующихся ресурсов существенно зависит от предполагаемых задач и нагрузки на ВМ.
Источник инсталляции гостевой операционной системы (далее – ОС) доступен локально или через сеть.
Возможны следующие варианты:
ISO-образ на установочном носителе;
образ диска существующей ВМ.
Внимание
Инсталляция с использованием CD/DVD, установленного на хосте, не поддерживается. Если при установке гостевой ОС в качестве источника будет выбран CD/DVD, инсталляция завершится с ошибкой.
Обратите внимание, что ОС 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, но находящейся на удаленном хосте с адресом<IP_address>:virt-install \ --connect qemu+ssh://root@<IP_address>/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и измените значение адреса подсети в конфигурации на такое, которое не используется на хосте.