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

14.3. Режимы работы гипервизора

14.3.1. Введение

Система виртуализации МСВСфера ОС поддерживает работу в двух режимах: пользовательском и системном. Оба режима будут подробно рассмотрены далее в этой главе, однако, для начала достаточно будет упомянуть, что в пользовательском режиме гипервизор запускается от имени обычного (а не привилегированного) пользователя и, соответственно, имеет ограниченный функционал. В системном режиме гипервизор запускается в привилегированном режиме без каких-либо ограничений по поддерживаемым возможностям.

По умолчанию virsh, virt-install и другие утилиты для работы с гипервизором выбирают с каким режимом гипервизора взаимодействовать на основе имени пользователя: команды от пользователя root выполняются в системном режиме, а команды от остальных пользователей, соответственно, в пользовательском. Это поведение можно изменить — процедура настройки описана в разделе «14.3.4. Выбор режима работы гипервизора» данной главы.

14.3.2. Пользовательский режим

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

Это более простой и, отчасти, более безопасный за счёт функциональных ограничений способ работы с гипервизором. Среди ограничений стоит отметить:

  • ограничены возможности по конфигурации сетевых устройств;

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

  • не поддерживается проброс PCI-устройств в виртуальную машину;

  • не выполняется регистрация событий безопасности;

  • не применяются общесистемные политики Polkit для контроля и разграничения доступа.

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

В совокупности с графической утилитой управления virt-manager или веб-панелью Cockpit использование данного режима обеспечивает функциональность и пользовательский опыт близкий к таким решениям как Oracle VirtualBox или VMware Player/Workstation.

14.3.3. Системный режим

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

Относительно пользовательского режима становятся доступны следующие функции:

  • Автоматический запуск виртуальных машин.

  • Проброс PCI-устройств в виртуальную машину.

  • Работа с сетевыми устройствами без ограничений.

  • audit.

  • Использование общесистемных политик Polkit для контроля доступа и реализации ролевой модели.

  • Миграция виртуальных машин между гипервизорами.

  • Мониторинг состояния виртуальных машин и гипервизора.

  • Централизованное управление хранилищами, томами, виртуальными машинами и т.п.

Использование гипервизора в системном режиме является рекомендованным решением для развёртывания технологии виртуализации в промышленной (production) среде.

14.3.4. Выбор режима работы гипервизора

Режим работы гипервизора, с которым будет взаимодействовать пользователь, определяется строкой подключения к гипервизору, которую также называют URI (Uniform Resource Identifier — унифицированный идентификатор ресурса).

Для подключения к локальному гипервизору используется одна из следующих форм:

  • qemu:///system — подключение к системной сессии;

  • qemu:///session — подключение к пользовательской сессии.

По умолчанию команды, запущенные от имени пользователя root подключаются к системной сессии гипервизора, а команды, запущенные от остальных пользователей, — к пользовательской.

Для подключения к удалённому гипервизору необходимо в строке подключения указать его доменное имя или IP-адрес, также рекомендуется использовать защищённый протокол SSH:

  • qemu+ssh://root@example.com/system — подключение к системной сессии гипервизора на узле example.com;

  • qemu+ssh://user@example.com/session — подключение к сессии пользователя user на узле example.com.

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

  1. С помощью аргумента командной строки -c, --connect <URI>, который принимает большинство утилит для работы с гипервизором (virsh, virt-install и т.д.). Например:

    $ virsh --connect qemu:///system list
     ID   Имя               Состояние
    -----------------------------------
     1    msvsphere-9-arm   работает
    
  2. С помощью переменной окружения LIBVIRT_DEFAULT_URI:

    $ LIBVIRT_DEFAULT_URI='qemu:///system' virsh list
     ID   Имя               Состояние
    -----------------------------------
     1    msvsphere-9-arm   работает
    

Для отдельного пользователя эту переменную можно определять автоматически, добавив соответствующее объявление в файл ~/.bashrc:

$ cat << EOF >> ~/.bashrc
export LIBVIRT_DEFAULT_URI='qemu:///system'
EOF

Установить значение переменной глобально для всех пользователей в системе можно, добавив соответствующее определение в файл /etc/environment:

$ cat << EOF | sudo tee -a /etc/environment
LIBVIRT_DEFAULT_URI='qemu:///system'
EOF
  1. С помощью опции uri_default в конфигурационном файле libvirt. Для пользователя root используется системный конфигурационный файл /etc/libvirt/libvirt.conf, а для всех остальных пользователей — файл ~/.config/libvirt/libvirt.conf.

    Пример настройки автоматического подключения к системному гипервизору для обычного пользователя:

    $ mkdir -p ~/.config/libvirt
    $ cat << EOF >> ~/.config/libvirt/libvirt.conf
    uri_default = "qemu:///system"
    EOF