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

  • 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 обозначает, что виртуализация работает нормально.

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

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

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

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