Для улучшения работы сайта мы используем файлы 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. Перейдите во вкладку Система (System). Задайте для виртуальной машины объем оперативной памяти в поле Оперативная память (разделяемая) (Memory Size).

  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 считывает конфигурацию с установочного носителя или из указанного источника и применяет её к виртуальным машинам.

После настройки утилиты 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-агент включает дополнительные функции:

  • поддержка буфера обмена, что позволяет вырезать и вставлять текст и изображения между клиентом и виртуальной машиной;

  • автоматическая настройка гостевого дисплея в соответствии с настройками на стороне клиента.

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.