Для улучшения работы сайта мы используем файлы cookies. Оставаясь на сайте, вы соглашаетесь с политикой обработки персональных данных.

Создание виртуальной машины Linux

Чтобы создать виртуальную машину Linux, выполните следующие шаги:

  1. Создайте виртуальную машину. Необходимо добавить виртуальный диск для хранилища и сетевой интерфейс для подключения виртуальной машины к сети.

  2. Запустите виртуальную машину и установите операционную систему. Сверьтесь с инструкциями по установке вашей операционной системы.

  3. Включите необходимые репозитории для вашей операционной системы.

  4. Установите гостевые агенты и драйверы для дополнительных функций виртуальной машины.

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

Создание виртуальной машины заключается в задании её настроек (некоторые из них можно будет изменить позднее) и последующей установке операционной системы.

Порядок действий:
  1. Нажмите Ресурсы (Compute)  Виртуальные машины (Virtual Machines).

  2. Нажмите Создать (New). Откроется окно Новая виртуальная машина (New Virtual Machine).

  3. Выберите Операционную систему (Operating System) в выпадающем списке.

    Если выбрать Red Hat Enterprise Linux CoreOS в качестве операционной системы, то система может попросить задать способ инициализации. Для этого настройте параметры утилиты Ignition в Расширенных настройках (Advanced Options) на вкладке Запуск инициализации (Initial Run). См. раздел Конфигурирование утилиты Ignition.
  4. Укажите Имя (Name) виртуальной машины.

  5. Добавьте хранилище к виртуальной машине:

    • Для добавления существующего диска: нажмите Прикрепить (Attach) и выберите существующий виртуальный диск.

    • Для создания нового диска: нажмите Создать (Create) и укажите Размер (GiB) (Size(GiB)) и Имя (Alias) нового виртуального диска. В остальных полях можно принять настройки по умолчанию или изменить их при необходимости. Дополнительные сведения о полях для всех типов дисков см. в разделе Описание настроек в окнах "Новый диск (New Virtual Disk)" и "Изменить виртуальный диск (Edit Virtual Disk)".

  6. Подключите виртуальную машину к сети. Добавьте сетевой интерфейс, выбрав vNIC-профиль в выпадающем списке nic1 внизу на вкладке Общее (General).

  7. Задайте Оперативная память (разделяемая) (Memory Size) виртуальной машины на вкладке Система (System).

  8. На вкладке Параметры загрузки (Boot Options) выберите Первое устройство (First Device), которое виртуальная машина будет использовать для начальной загрузки.

  9. В остальных полях можно принять настройки по умолчанию или изменить их при необходимости. Дополнительные сведения о всех полях в окне Новая виртуальная машина (New Virtual Machine) см. в разделе Описание настроек в окнах "Создать ВМ (New Virtual Machine)" и "Изменить ВМ (Edit Virtual Machine)".

  10. Нажмите OK.

Новая виртуальная машина создана и отображается в списке виртуальных машин в состоянии Выключено (Down). Перед её использованием необходимо:

  • Установить операционную систему:

  • Настроить доступ к репозиториям программного обеспечения.

1.1. Конфигурирование утилиты Ignition

Ignition - это утилита, которая применяется в Red Hat Enterprise Linux CoreOS для работы с дисками во время первоначальной настройки. Она выполняет типовые манипуляции с дисками, включая разбиение на разделы, форматирование разделов, запись файлов и настройку пользователей. Во время первоначальной загрузки утилита Ignition считывает свои настройки с установочного носителя или из указанного места и применяет их к машинам.

После того как в качестве метода инициализации была настроена утилита Ignition, это нельзя отменить или перенастроить.
  1. В окне Новая виртуальная машина (New Virtual Machine) или Изменить виртуальную машину (Edit Virtual Machine) нажмите Показать расширенные настройки (Show Advanced Options).

  2. На вкладке Запуск инициализации (Initial Run) выберите Ignition 2.3.0 и введите Имя хоста ВМ (VM Hostname).

  3. Разверните параметр Аутентификация (Authentication), введите имя пользователя и хешированный (SHA-512) пароль и затем повторите ввод пароля для проверки.

  4. Если для аутентификации используется SSH-ключ, введите его в специальное поле.

  5. Можно также ввести пользовательский скрипт 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. Запуск виртуальной машины

Порядок действий:
  1. Нажмите Ресурсы (Compute)  Виртуальные машины (Virtual Machines) и выберите виртуальную машину в состоянии Выключено (Down).

  2. Нажмите Запустить (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), чтобы исключить необходимость перезагрузки между сеансами пользователей. Дополнительную информацию см. в разделе Описание настроек консоли виртуальной машины.
Порядок действий:
  1. Установите инструмент Remote Viewer, если он еще не установлен. См. Установка компонентов консоли.

  2. Нажмите Ресурсы (Compute)  Виртуальные машины (Virtual Machines) и выберите виртуальную машину.

  3. Нажмите Консоль (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. Включение последовательной консоли виртуальной машины

  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, обновите их, не дублируйте.

  2. Пересоздайте /boot/grub2/grub.cfg:

    • Машины на основе BIOS:

      grub2-mkconfig -o /boot/grub2/grub.cfg
    • Машины на основе UEFI:

      grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg
  3. На клиентской машине, с которой вы обращаетесь к последовательной консоли виртуальной машины, сгенерируйте пару SSH-ключей. Менеджер управления поддерживает стандартные типы SSH-ключей, например, RSA-ключ:

    ssh-keygen -t rsa -b 2048 -C "user@domain" -f .ssh/serialconsolekey

    Эта команда генерирует открытый ключ и закрытый ключ.

  4. Откройте параметры учетной записи:

    • На Портале администрирования в верхнем меню нажмите user solid > Параметры аккаунта.

    • На Пользовательском портале нажмите Настройки учетной записи gear solid на верхней панели и перейдите на вкладку Консоль.

  5. В текстовое поле Публичный ключ пользователя (Открытый SSH ключ на портале пользователя) вставьте открытый ключ клиентской машины, который будет использоваться для доступа к последовательной консоли.

  6. Нажмите Ресурсы (Compute)  Виртуальные машины (Virtual Machines) и выберите виртуальную машину.

  7. Нажмите Изменить (Edit).

  8. На вкладке Консоль (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-таймаута: повторно подключиться к последовательной консоли виртуальной машины будет невозможно, пока не истечет время ожидания.

3. Включение необходимых репозиториев

Включите необходимые репозитории для работы ОС.

4. Установка гостевых агентов и драйверов

4.1. Гостевые агенты, инструменты и драйверы

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

Обратите внимание на следующие важные моменты:

  • При поиске установочных пакетов, обязательно используйте официальный репозиторий производителя.

  • Для успешной установки и функционирования гостевых дополнений, вам потребуются административные права.

Инструменты и агенты предоставляют информацию для виртуальных машин, включая:

  • Использование ресурсов.

  • IP-адреса.

Гостевые агенты, инструменты и драйверы распространяются в виде rpm/deb-пакетов через официальные репозитории дистрибутивов. Для включения дополнительной функциональности на виртуальной машине установите на ней гостевые агенты и драйверы.

Таблица 1. Гостевые драйверы
Драйвер Описание

virtio-balloon

Драйвер virtio-balloon используется для управления размером памяти, фактически доступной виртуальной машине. Он обеспечивает улучшенное перераспределение памяти.

virtio-net

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

virtio-block

Паравиртуализированный драйвер жесткого диска обеспечивает повышенную производительность ввода-вывода на таких эмулируемых устройствах, как IDE, оптимизируя координацию и связь между виртуальной машиной и гипервизором. Драйвер дополняет программную реализацию virtio-устройства, используемого хостом для выполнения роли аппаратного устройства.

virtio-scsi

Паравиртуализированный драйвер жесткого диска SCSI предлагает похожую функциональность, что и устройство virtio-block, с некоторыми дополнительными улучшениями. В частности, этот драйвер поддерживает добавление сотен устройств и именует устройства согласно стандартной схеме именования устройств SCSI.

virtio-serial

Драйвер virtio-serial обеспечивает поддержку нескольких последовательных портов. Повышенная производительность используется для организации быстрой связи между виртуальной машиной и хостом, на которую не влияют проблемы в сети. Быстрая связь требуется для гостевых агентов и других функций (таких, как копирование и вставка через буфер обмена между виртуальной машиной и хостом и журналирование).

qxl

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

Таблица 2. Гостевые агенты и инструменты
Гостевой агент/инструмент Описание

qemu-guest-agent

Используется вместо ovirt-guest-agent-common на виртуальных машинах Red Hat Enterprise Linux 8. Устанавливается и включается по умолчанию.

spice-agent

SPICE-агент поддерживает несколько мониторов и отвечает за поддержку режима "клиент-мышь", тем самым повышая удобство работы и скорость отклика по сравнению с эмуляцией QEMU. Захват курсора не требуется в режиме "клиент-мышь". SPICE-агент уменьшает использование полосы пропускания при использовании глобальной сети за счет снижения уровня отображения (в том числе глубину цвета), отключения обоев, сглаживания шрифтов и анимации. SPICE-агент включает поддержку буфера обмена (что позволяет вырезать и вставлять текст и изображения между клиентом и виртуальной машиной) и автоматическую настройку гостевого дисплея в соответствии с настройками на стороне клиента. На виртуальных машинах на Windows, SPICE-агент состоит из vdservice и vdagent.

4.2. Установка гостевых агентов и драйверов на Linux

Виртуальные машины с ОС на базе RHEL 8 и выше используют службу qemu-guest-agent, установленную и включенную по умолчанию, вместо службы ovirt-guest-agent. Если необходимо вручную установить гостевой агент (в том числе и на RHEL 8), следуйте указаниям ниже.
Порядок действий:
  1. Авторизуйтесь на виртуальной машине с Linux.

  2. Установите гостевые агенты и зависимости:

    • Для ОС на базе 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
  3. Запустите и включите соответствующую службу:

    • Для 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.