Создание виртуальной машины Linux
Чтобы создать виртуальную машину Linux, выполните следующие шаги:
-
Создайте виртуальную машину. Необходимо добавить виртуальный диск для хранилища и сетевой интерфейс для подключения виртуальной машины к сети.
-
Запустите виртуальную машину и установите операционную систему. Сверьтесь с инструкциями по установке вашей операционной системы.
-
Включите необходимые репозитории для вашей операционной системы.
-
Установите гостевые агенты и драйверы для дополнительных функций виртуальной машины.
1. Создание виртуальной машины
Создание виртуальной машины заключается в задании её настроек (некоторые из них можно будет изменить позднее) и последующей установке операционной системы.
-
Нажмите .
-
Нажмите Создать (New). Откроется окно Новая виртуальная машина (New Virtual Machine).
-
Выберите Операционную систему (Operating System) в выпадающем списке.
Если выбрать Red Hat Enterprise Linux CoreOS в качестве операционной системы, то система может попросить задать способ инициализации. Для этого настройте параметры утилиты Ignition в Расширенных настройках (Advanced Options) на вкладке Запуск инициализации (Initial Run). См. раздел Конфигурирование утилиты Ignition. -
Укажите Имя (Name) виртуальной машины.
-
Добавьте хранилище к виртуальной машине:
-
Для добавления существующего диска: нажмите Прикрепить (Attach) и выберите существующий виртуальный диск.
-
Для создания нового диска: нажмите Создать (Create) и укажите Размер (GiB) (Size(GiB)) и Имя (Alias) нового виртуального диска. В остальных полях можно принять настройки по умолчанию или изменить их при необходимости. Дополнительные сведения о полях для всех типов дисков см. в разделе Описание настроек в окнах "Новый диск (New Virtual Disk)" и "Изменить виртуальный диск (Edit Virtual Disk)".
-
-
Подключите виртуальную машину к сети. Добавьте сетевой интерфейс, выбрав vNIC-профиль в выпадающем списке nic1 внизу на вкладке Общее (General).
-
Задайте Оперативная память (разделяемая) (Memory Size) виртуальной машины на вкладке Система (System).
-
На вкладке Параметры загрузки (Boot Options) выберите Первое устройство (First Device), которое виртуальная машина будет использовать для начальной загрузки.
-
В остальных полях можно принять настройки по умолчанию или изменить их при необходимости. Дополнительные сведения о всех полях в окне Новая виртуальная машина (New Virtual Machine) см. в разделе Описание настроек в окнах "Создать ВМ (New Virtual Machine)" и "Изменить ВМ (Edit Virtual Machine)".
-
Нажмите OK.
Новая виртуальная машина создана и отображается в списке виртуальных машин в состоянии Выключено (Down). Перед её использованием необходимо:
-
Установить операционную систему:
-
С помощью предустановленного образа путем Создания клонированной виртуальной машины на основе шаблона.
-
С помощью предустановленного образа с подключенного предустановленного диска.
-
С помощью установки операционной системы через меню начальной загрузки PXE или из файла ISO.
-
-
Настроить доступ к репозиториям программного обеспечения.
1.1. Конфигурирование утилиты Ignition
Ignition - это утилита, которая применяется в Red Hat Enterprise Linux CoreOS для работы с дисками во время первоначальной настройки. Она выполняет типовые манипуляции с дисками, включая разбиение на разделы, форматирование разделов, запись файлов и настройку пользователей. Во время первоначальной загрузки утилита Ignition считывает свои настройки с установочного носителя или из указанного места и применяет их к машинам.
| После того как в качестве метода инициализации была настроена утилита Ignition, это нельзя отменить или перенастроить. |
-
В окне Новая виртуальная машина (New Virtual Machine) или Изменить виртуальную машину (Edit Virtual Machine) нажмите Показать расширенные настройки (Show Advanced Options).
-
На вкладке Запуск инициализации (Initial Run) выберите Ignition 2.3.0 и введите Имя хоста ВМ (VM Hostname).
-
Разверните параметр Аутентификация (Authentication), введите имя пользователя и хешированный (SHA-512) пароль и затем повторите ввод пароля для проверки.
-
Если для аутентификации используется SSH-ключ, введите его в специальное поле.
-
Можно также ввести пользовательский скрипт Ignition в формате JSON в поле Скрипт включения (Ignition Script). Этот скрипт будет выполняться на виртуальной машине сразу после ее запуска. Вводимые здесь скрипты - это пользовательские разделы JSON, которые добавляются к тем, что создает Менеджер управления, и позволяют использовать пользовательские инструкции Ignition.
|
Если используемый образ Red Hat Enterprise Linux CoreOS содержит в себе утилиту Ignition любой версии, кроме 2.3.0, то необходимо использовать скрипт в поле Скрипт включения (Ignition Script), чтобы принудительно запустить версию утилиты Ignition, которая включена в образ Red Hat Enterprise Linux CoreOS. При использовании скрипта Ignition его инструкции будут иметь преобладающую силу и переопределяет любые конфликтующие с ним настройки Ignition, заданные вами в пользовательском интерфейсе. |
2. Запуск виртуальной машины
2.1. Запуск виртуальной машины
-
Нажмите и выберите виртуальную машину в состоянии Выключено (Down).
-
Нажмите Запустить (Run).
Статус виртуальной машины поменяется на Включено (Up), и начнется установка операционной системы. Откройте консоль виртуальной машины, если та не откроется автоматически.
| Виртуальная машина не запустится на хосте с перегруженным ЦП. По умолчанию ЦП хоста считается перегруженным, если нагрузка на него превышает 80% в течение 5 минут, но эти значения можно изменить с помощью политик планирования. |
Поиск и устранение неполадок
Сценарий - начальная загрузка виртуальной машины не выполняется, и показано следующее сообщение об ошибке:
Boot failed: not a bootable disk - No Bootable device
Возможные решения проблемы:
-
Удостоверьтесь, что Жесткий диск (Hard Disk) выбран первым устройством в последовательности загрузки, а диск, с которого загружается виртуальная машина, помечен как Загрузочный (Bootable).
-
Создайте новую виртуальную машину с локальным диском начальной загрузки, управляемым zVirt, на котором есть ОС и необходимые приложения.
-
Установите ОС, запустив начальную загрузку с помощью варианта Сеть (PXE) (Network (PXE)).
2.2. Открытие консоли виртуальной машины
Для подключения к виртуальной машине используйте инструмент Remote Viewer.
| Чтобы другие пользователи могли подключиться к ВМ, обязательно выключите и перезапустите виртуальную машину после завершения работы с консолью. Либо администратор может отключить строгую проверку пользователей (Disable strict user checking), чтобы исключить необходимость перезагрузки между сеансами пользователей. Дополнительную информацию см. в разделе Описание настроек консоли виртуальной машины. |
-
Установите инструмент Remote Viewer, если он еще не установлен. См. Установка компонентов консоли.
-
Нажмите и выберите виртуальную машину.
-
Нажмите Консоль (Console). По умолчанию браузер предложит загрузить файл с именем console.vv. При открытии файла откроется окно консоли виртуальной машины.
| Данные в файле console.vv действительны на протяжении 120 секунд после загрузки. Если прошло больше времени, нажмите Консоль (Console) еще раз. |
- Дополнительные ресурсы
2.3. Открытие последовательной консоли виртуальной машины
Доступ к последовательной консоли виртуальной машины можно получить из командной строки вместо того, чтобы открывать консоль на Портале администрирования или Пользовательском портале. Последовательная консоль эмулируется через каналы VirtIO с использованием SSH и пар ключей. Менеджер управления действует как прокси-сервер для подключения, предоставляет информацию о размещении виртуальной машины и хранит ключи аутентификации. Открытые ключи для каждого пользователя можно добавить либо на Портале администрирования, либо на Пользовательском портале. Доступ к последовательным консолям можно получить только для тех виртуальных машин, для которых у вас есть соответствующие разрешения.
| Для доступа к последовательной консоли виртуальной машины пользователь должен иметь разрешение UserVmManager, SuperUser или UserInstanceManager на этой виртуальной машине. Эти разрешения должны быть прямо заданы для каждого пользователя, недостаточно просто назначить их Everyone. |
Для доступа к последовательной консоли служит порт TCP 2222 в Менеджере управления. Этот порт открывается во время работы engine-setup при новой инсталляции.
Использование последовательной консоли требует настройки правил межсетевого экрана.
- Дополнительные ресурсы
Для работы последовательной консоли необходимы пакеты ovirt-vmconsole и ovirt-vmconsole-proxy в Менеджере управления, а также пакеты ovirt-vmconsole и ovirt-vmconsole-host на хостах виртуализации. При установке новых инсталляций эти пакеты устанавливаются по умолчанию. Чтобы установить эти пакеты на существующих системах, переустановите хост.
2.3.1. Включение последовательной консоли виртуальной машины
-
На виртуальной машине, к последовательной консоли которой вы обращаетесь, добавьте следующие строки в /etc/default/grub:
GRUB_CMDLINE_LINUX_DEFAULT="console=tty0 console=ttyS0,115200n8" GRUB_TERMINAL="console serial" GRUB_SERIAL_COMMAND="serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1"GRUB_CMDLINE_LINUX_DEFAULT применяет эту конфигурацию только к пункту меню по умолчанию. Используйте
GRUB_CMDLINE_LINUX, чтобы применить конфигурацию ко всем пунктам меню.Если эти строки уже есть в /etc/default/grub, обновите их, не дублируйте.
-
Пересоздайте /boot/grub2/grub.cfg:
-
Машины на основе BIOS:
grub2-mkconfig -o /boot/grub2/grub.cfg -
Машины на основе UEFI:
grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg
-
-
На клиентской машине, с которой вы обращаетесь к последовательной консоли виртуальной машины, сгенерируйте пару SSH-ключей. Менеджер управления поддерживает стандартные типы SSH-ключей, например, RSA-ключ:
ssh-keygen -t rsa -b 2048 -C "user@domain" -f .ssh/serialconsolekeyЭта команда генерирует открытый ключ и закрытый ключ.
-
Откройте параметры учетной записи:
-
На Портале администрирования в верхнем меню нажмите
> Параметры аккаунта.
-
На Пользовательском портале нажмите Настройки учетной записи
на верхней панели и перейдите на вкладку Консоль.
-
-
В текстовое поле Публичный ключ пользователя (Открытый SSH ключ на портале пользователя) вставьте открытый ключ клиентской машины, который будет использоваться для доступа к последовательной консоли.
-
Нажмите и выберите виртуальную машину.
-
Нажмите Изменить (Edit).
-
На вкладке Консоль (Console) окна Изменить виртуальную машину (Edit Virtual Machine) установите флажок Консольный порт VirtIO-serial (Enable VirtIO serial console).
2.3.2. Подключение к последовательной консоли виртуальной машины
На клиентской машине подключитесь к последовательной консоли виртуальной машины:
-
Если доступна одна виртуальная машина, то эта команда подключает пользователя к этой виртуальной машине:
ssh -t -p 2222 ovirt-vmconsole@Manager_FQDN -i .ssh/serialconsolekey Red Hat Enterprise Linux Server release 6.7 (Santiago) Kernel 2.6.32-573.3.1.el6.x86_64 on an x86_64 USER login: -
Если доступно несколько виртуальных машин, то эта команда выводит список доступных виртуальных машин и их идентификаторов:
ssh -t -p 2222 ovirt-vmconsole@Manager_FQDN -i .ssh/serialconsolekey list 1. vm1 [vmid1] 2. vm2 [vmid2] 3. vm3 [vmid3] > 2 Red Hat Enterprise Linux Server release 6.7 (Santiago) Kernel 2.6.32-573.3.1.el6.x86_64 on an x86_64 USER login:Введите номер подключаемой машины и нажмите Enter.
-
Либо подключитесь напрямую к виртуальной машине, используя ее уникальный идентификатор или имя:
ssh -t -p 2222 ovirt-vmconsole@Manager_FQDN connect --vm-id vmid1 ssh -t -p 2222 ovirt-vmconsole@Manager_FQDN connect --vm-name vm1
2.3.3. Отключение от последовательной консоли виртуальной машины
Нажмите любую клавишу, а затем ~ ., чтобы закрыть сеанс работы с последовательной консолью.
Если сеанс последовательной консоли завершается аварийно, возникает ситуация TCP-таймаута: повторно подключиться к последовательной консоли виртуальной машины будет невозможно, пока не истечет время ожидания.
4. Установка гостевых агентов и драйверов
4.1. Гостевые агенты, инструменты и драйверы
В целях обеспечения надежной работы виртуальных машин, рекомендуем выполнить процедуру установки гостевых дополнений, следуя официальным руководствам от производителей соответствующих операционных систем.
|
Обратите внимание на следующие важные моменты:
|
Инструменты и агенты предоставляют информацию для виртуальных машин, включая:
-
Использование ресурсов.
-
IP-адреса.
Гостевые агенты, инструменты и драйверы распространяются в виде rpm/deb-пакетов через официальные репозитории дистрибутивов. Для включения дополнительной функциональности на виртуальной машине установите на ней гостевые агенты и драйверы.
| Драйвер | Описание |
|---|---|
|
Драйвер virtio-balloon используется для управления размером памяти, фактически доступной виртуальной машине. Он обеспечивает улучшенное перераспределение памяти. |
|
Паравиртуализированный сетевой драйвер обеспечивает повышенную производительность по сравнению с такими эмулируемыми устройствами, как rtl. |
|
Паравиртуализированный драйвер жесткого диска обеспечивает повышенную производительность ввода-вывода на таких эмулируемых устройствах, как IDE, оптимизируя координацию и связь между виртуальной машиной и гипервизором. Драйвер дополняет программную реализацию virtio-устройства, используемого хостом для выполнения роли аппаратного устройства. |
|
Паравиртуализированный драйвер жесткого диска SCSI предлагает похожую функциональность, что и устройство virtio-block, с некоторыми дополнительными улучшениями. В частности, этот драйвер поддерживает добавление сотен устройств и именует устройства согласно стандартной схеме именования устройств SCSI. |
|
Драйвер virtio-serial обеспечивает поддержку нескольких последовательных портов. Повышенная производительность используется для организации быстрой связи между виртуальной машиной и хостом, на которую не влияют проблемы в сети. Быстрая связь требуется для гостевых агентов и других функций (таких, как копирование и вставка через буфер обмена между виртуальной машиной и хостом и журналирование). |
|
Паравиртуализированный драйвер дисплея разгружает ЦП хоста и повышает производительность путем сужения полосы пропускания сети на большинстве рабочих нагрузок. |
| Гостевой агент/инструмент | Описание |
|---|---|
|
Используется вместо ovirt-guest-agent-common на виртуальных машинах Red Hat Enterprise Linux 8. Устанавливается и включается по умолчанию. |
|
SPICE-агент поддерживает несколько мониторов и отвечает за поддержку режима "клиент-мышь", тем самым повышая удобство работы и скорость отклика по сравнению с эмуляцией QEMU. Захват курсора не требуется в режиме "клиент-мышь". SPICE-агент уменьшает использование полосы пропускания при использовании глобальной сети за счет снижения уровня отображения (в том числе глубину цвета), отключения обоев, сглаживания шрифтов и анимации. SPICE-агент включает поддержку буфера обмена (что позволяет вырезать и вставлять текст и изображения между клиентом и виртуальной машиной) и автоматическую настройку гостевого дисплея в соответствии с настройками на стороне клиента. На виртуальных машинах на Windows, SPICE-агент состоит из vdservice и vdagent. |
4.2. Установка гостевых агентов и драйверов на Linux
| Виртуальные машины с ОС на базе RHEL 8 и выше используют службу qemu-guest-agent, установленную и включенную по умолчанию, вместо службы ovirt-guest-agent. Если необходимо вручную установить гостевой агент (в том числе и на RHEL 8), следуйте указаниям ниже. |
-
Авторизуйтесь на виртуальной машине с Linux.
-
Установите гостевые агенты и зависимости:
-
Для ОС на базе RHEL 7 и старше:
yum install ovirt-guest-agent-common spice-vdagent -
Для ОС на базе RHEL 8 и новее:
dnf install qemu-guest-agent spice-vdagent -
Для ОС на базе Debian:
apt-get update && apt-get install qemu-guest-agent spice-vdagent
-
-
Запустите и включите соответствующую службу:
-
Для ovirt-guest-agent:
systemctl start ovirt-guest-agent spice-vdagent systemctl enable ovirt-guest-agent spice-vdagent -
Для qemu-guest-agent:
systemctl start qemu-guest-agent spice-vdagent systemctl enable qemu-guest-agent spice-vdagent
-
Гостевой агент теперь передает информацию об использовании в Менеджер управления. Гостевой агент можно сконфигурировать в файле /etc/ovirt-guest-agent.conf (только для ОС на базе RHEL 7).
| Для других операционных систем на ядре Linux обратитесь к их руководству администратора. Чаще всего пакет с гостевыми дополнениями называется qemu-guest-agent. |