Применимо к редакции: МСВСфера 9 (ФСТЭК)

14.2. Установка

14.2.1. Системные требования

Минимальные требования к аппаратному обеспечению:

  • 6 ГБ дискового пространства для гипервизора и по 6 ГБ для каждой виртуальной машины;

  • 2 ГБ оперативной памяти для гипервизора и по 2 ГБ для каждой виртуальной машины;

  • центральный процессор с поддержкой аппаратной виртуализации.

Проверить поддержку центральным процессором виртуализации можно с помощью следующей команды:

# ожидаемый вывод для систем на базе процессоров AMD
$ lscpu | grep Virtualization
Virtualization:                     AMD-V

# ожидаемый вывод для систем на базе процессоров Intel
$ lscpu | grep Virtualization
Virtualization:                     VT-x

В случае отсутствия флагов AMD-V/VT-x проверьте настройки BIOS/UEFI и спецификацию своего оборудования — некоторые процессоры не поддерживают технологию виртуализации.

14.2.2. Установка гипервизора

Для установки гипервизора и базового набора утилит для управления выполните следующую команду:

$ sudo dnf install -y qemu-kvm libvirt virt-install

Если вы работаете с локальной системой в графическом режиме, то вам также потребуется пакет virt-viewer, который позволяет работать с графической консолью виртуальной машины:

$ sudo dnf install -y virt-viewer

Далее необходимо запустить сервисы виртуализации:

$ for service in qemu interface network nodedev nwfilter secret storage; do
    sudo systemctl start virt${service}d{,-ro,-admin}.socket
  done

Начиная с МСВСфера ОС 9 libvirt имеет модульную структуру, соответственно, вышеприведённая команда запускает следующие сервисы:

  • virtqemud — основной сервис для управления гипервизором;

  • virtinterfaced — вспомогательный сервис для управления сетевыми интерфейсами хост-системы. Одним из примеров использования является объединение нескольких физических сетевых устройств в одно логическое (network bond).

  • virtnetworkd — вспомогательный сервис для управления виртуальными сетями. Используется, например, для создания внутренней сети между виртуальными машинами.

  • virtnodedevd — вспомогательный сервис для управления оборудованием, подключённым к хост-системе. Используется, например, для того чтобы отключить PCI-устройство от хост-системы и подключить его к виртуальной машине.

  • virtnwfilterd — вспомогательный сервис для управления сетевым экраном (брандмауэром) на хост-системе. Одним из сценариев использования является настройка правил фильтрации пакетов, поступающих на виртуальные машины.

  • virtsecretd — вспомогательный сервис для хранения различных секретов, например, ключей от зашифрованных разделов виртуальных машин.

  • virtstoraged — вспомогательный сервис для управления пулами хранения и томами/разделами в этих пулах.

Для проверки возможностей системы виртуализации выполните команду:

$ sudo virt-host-validate
  QEMU: проверка для аппаратной виртуализации      : OK
  QEMU: проверка if device /dev/kvm exists         : OK
  QEMU: проверка if device /dev/kvm is accessible  : OK
  QEMU: проверка if device /dev/vhost-net exists   : OK
  QEMU: проверка if device /dev/net/tun exists     : OK
  QEMU: проверка for cgroup 'cpu' controller support     : OK
  QEMU: проверка for cgroup 'cpuacct' controller support : OK
  QEMU: проверка for cgroup 'cpuset' controller support  : OK
  QEMU: проверка for cgroup 'memory' controller support  : OK
  QEMU: проверка for cgroup 'devices' controller support : OK
  QEMU: проверка for cgroup 'blkio' controller support   : OK
  QEMU: проверка для поддержки сопоставления устройств IOMMU: OK
  QEMU: проверка если блок IOMMU включён в ядре : ПРЕДУПРЕЖДЕНИЕ \
  (IOMMU appears to be disabled in kernel. Add intel_iommu=on to kernel cmdline arguments)
  QEMU: проверка для поддержки безопасных гостевых систем: \
  ПРЕДУПРЕЖДЕНИЕ (Unknown if this platform has Secure Guest support)

Если команда virt-host-validate возвращает ОК (PASS в случае использования английской локали) для всех проверок, то ваша система корректно настроена и готова к работе с виртуальными машинами.

Если какая-то из проверок возвращает ОШИБКУ (FAIL в случае использования английской локали), то необходимо следовать инструкциям на экране для её устранения, чтобы обеспечить корректную работу гипервизора.

Если какая-то из проверок возвращает ПРЕДУПРЕЖДЕНИЕ (WARN в случае использования английской локали), то рекомендуется следовать подсказкам для устранения причины предупреждения.

Устранение неполадок и предупреждений:

  • QEMU: проверка если блок IOMMU включён в ядре — IOMMU — это технология виртуализации вывода, также известная как Intel VT-d или AMD-Vi. В первую очередь поддержка IOMMU необходима для проброса реальных (не виртуализированных) устройств из хост системы в виртуальную машину, например, видеокарт. Для включения IOMMU на системах на базе процессоров Intel выполните команду:

    $ sudo grubby --update-kernel=ALL --args="intel_iommu=on"
    

    Команда для систем на базе процессоров AMD:

    $ sudo grubby --update-kernel=ALL --args="amd_iommu=on"
    

    В обоих случаях после выполнения команды потребуется перезагрузка компьютера для применения изменений. В некоторых случаях для включения технологии Intel VT-d/AMD-Vi может также потребоваться изменение соответствующей настройки в BIOS/UEFI компьютера. Следует обратить внимание, что не все центральные процессоры и материнские платы поддерживают данную технологию. Отсутствие поддержки IOMMU не является критичным для работы гипервизора в МСВСфера ОС, однако проброс физического оборудования будет невозможен без этой функции.

  • QEMU: проверка для поддержки безопасных гостевых систем — это проверка на наличие функции Secure Encrypted Virtualization (SEV), доступной только на современных центральных процессорах от AMD. Для систем на базе процессоров Intel или ARM64 данное предупреждение можно игнорировать.