Данная статья применима к:

  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7), РУСБ.10015-10
  • Astra Linux Special Edition РУСБ.10015-17
  • Astra Linux Special Edition РУСБ.10015-37 (очередное обновление 7.7)
  • Astra Linux Special Edition РУСБ.10015-03 (очередное обновление 7.6)
  • Astra Linux Special Edition РУСБ.10152-02 (очередное обновление 4.7)
  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6)
  • Astra Linux Special Edition РУСБ.10015-16 исп. 1
  • Astra Linux Special Edition РУСБ.10015-16 исп. 2
  • Astra Linux Special Edition РУСБ.10265-01 (очередное обновление 8.1)
  • Astra Linux Common Edition 2.12

Введение

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

По умолчанию (из коробки) ВАВ не работает.

Для включения ВАВ, необходимо соблюдение следующих условий:

  1. Использование достаточно новых процессоров Intel или AMD;
  2. Включение поддержки nested на хостовой машине;

Проверка возможности включения ВАВ на хост-машине

Для процессоров Intel и процессоров AMD используются разные модули виртуализации - модуль kvm_intel и модуль kvm_amd. Если есть сомнения в том, какой именно модуль используется на машине, проверить загруженный модуль можно командой:

lsmod | grep kvm
Для того, чтобы проверить, поддерживает ли используемый процессор ВАВ, нужно выполнить одно из следующих команд:

Для процессоров Intel (модуль kvm_intel)Для процессоров AMD (модуль kvm_amd)

cat /sys/module/kvm_intel/parameters/nested

cat /sys/module/kvm_amd/parameters/nested

Если ВАВ поддерживается, то в выводе команды будет указано Y или 1.
Если ВАВ не поддерживаетя, то в выводе команды будет указано N или 0.

Включение ВАВ на хост-машине

  1. Временное включение без перезагрузки ОС, изменения остаются в силе до перезагрузки ОС:
    1. Остановить все запущенные виртуальные машины;
    2. Выгрузить модуль виртуализации:

      Для процессоров Intel (модуль kvm_intel)Для процессоров AMD (модуль kvm_amd)

      sudo modprobe -r kvm_intel

      sudo modprobe  -r kvm_amd

    3. Загрузить модуль виртуализации с включенной ВАВ:

      Для процессоров Intel (модуль kvm_intel)Для процессоров AMD (модуль kvm_amd)

      sudo modprobe kvm_intel nested=1

      sudo modprobe kvm_amd nested=1

  2. Постоянное включение, автоматическое включение после перезагрузки ОС:
    1. Отредактировать (при отсутствии - создать) файл /etc/modprobe.d/kvm.conf, включив в него следующую строчку:

      Для процессоров Intel (модуль kvm_intel)Для процессоров AMD (модуль kvm_amd)

      options kvm_intel nested=1

      options kvm_amd nested=1

    2. Перезагрузить машину:

      sudo reboot

Включение ВАВ на гостевой машине

  1. Открыть Менеджер Виртуальных Машин;
  2. Выбрать виртуальную машину, в которой требуется использовать ВАВ;
  3. Выбрать страницу "Показать виртуальное оборудование";
  4. Выбрать пункт "Процессоры";
  5. Включить отметку "Копировать конфигурацию ЦП хоста";
  6. Нажать кнопку "Сохранить";

Либо в настройках вирт-менеджера указать для всех создаваемых ВМ использование конфигурации ЦП хостовой машины:

  • "Менеджер виртуальных машин" - "Правка" - "Параметры" - на вкладке "Новая ВМ";
  • в выпадающем списке параметров в пункте: "ЦП по умолчанию" выбрать значение "Копировать описание процессора хоста":


Проверка работоспособности ВАВ на гостевой машине

Для проверки работоспособности ВАВ на гостевой машине:

  1. Установить на гостевой машине пакет libvirt-clients:

    sudo apt install libvirt-clients

  2. Выполнить на гостевой машине команду проверки работоспособности хоста виртуализации:

    sudo virt-host-validate

      QEMU: Checking for hardware virtualization                                 : PASS
      QEMU: Checking if device /dev/kvm exists                                   : PASS
      QEMU: Checking if device /dev/kvm is accessible                            : PASS
      QEMU: Checking if device /dev/vhost-net exists                             : PASS
      QEMU: Checking if device /dev/net/tun exists                               : PASS
    Сообщение PASS обозначает, что виртуализация работает нормально.

Известные проблемы

Во вложенной ВМ не работает мышь если не добавить устройство "Планшет".

Для добавления планшета при создании ВМ в окне проверки конфигурации необходимо:

  1. Нажать кнопку "Добавить оборудование";
  2. Слева выбрать тип добавляемого виртуального оборудования: "Ввод" (4я строка сверху);
  3. Оставить предложенный по умолчанию тип "Графический планшет USB EvTouch";
  4. Нажать кнопку готово.