Размещение ВМ с vGPU#

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

Предупреждение

В ПВ не поддерживается:

  • горячая миграция для ВМ с vGPU;

  • горячая перепланировка размещения (rescheduling) для ВМ с vGPU;

  • подключение двух и более разных vGPU (разные модели видеокарт) к одной ВМ;

  • подключение разных профилей (например Q и B) и и типов профилей (например B1 и B2) к одной ВМ от одной или нескольких видеокарт одной модели; автобалансировка для ВМ с vGPU.

Профили типа A и C тестирования не проходили и не имеют официальной поддержки.

Поддерживаются только видеокарты с встроенным функционалом vGPU (Time-Slice) от NVIDIA, vGPU MIG от NVIDIA не поддерживается.

Требуется поддержка от аппаратного обеспечения функций SR-IOV и IOMMU.

Требуется использовать ядро linux-5.15-generic.

Поддерживаются типы профилей vGPU-Q, B.

Использование драйверов NVIDIA#

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

Примечание

Данные драйверы не входят в состав сертифицированных на соответствие требованиям по безопасности информации ПВ и ОС СН.

После установки драйверов и настройки серверов виртуализации изменяются следующие файлы ПВ контрольные суммы которых указаны в файле gostsums.txt состава установочного диска и его обновления:

  • /usr/bin/sprof;

  • /usr/bin/rpcgen;

  • /usr/bin/gencat;

  • /usr/lib/x86_64-linux-gnu/libmcheck.a.

Изменения контрольных сумм не являются нарушением сертифицированных характеристик ПВ.

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

Назначение файлов, подлежащих изменению:

  • /usr/bin/sprof — отображает сводку профилирования для общего объекта (общей библиотеки), указанного в качестве первого аргумента командной строки. Сводка профилирования создается с использованием ранее сгенерированных данных профилирования во втором (необязательном) аргументе командной строки;

  • /usr/bin/rpcgen — инструмент, который генерирует код C для реализации протокола RPC. Входные данные для rpcgen — это язык, похожий на C, известный как RPC Language (язык удаленного вызова процедур);

  • /usr/bin/gencat — файл каталога сообщений (обычно *.cat), который команда gencat создает из исходных файлов текстов сообщений (обычно *.msg). Команда gencat объединяет исходные файлы текстов сообщений, указанные параметром SourceFile, в форматированный каталог сообщений, указанный параметром CatalogFile;

  • /usr/lib/x86_64-linux-gnu/libmcheck.a — библиотека функции mcheck, которая устанавливает набор отладочных хуков для семейства функций выделения памяти malloc. Эти хуки вызывают определенные проверки согласованности состояния общей массы запросов в памяти. Проверки могут обнаруживать ошибки приложения, такие как освобождение блока памяти более одного раза или повреждение структур данных учета, которые непосредственно предшествуют блоку выделенной памяти.

Подготовка и настройка узла виртуализации#

Для подготовки и настройки узла виртуализации необходимо запустить скрипт предварительной настройки узла виртуализации для использования vGPU brest_vgpu_configure:

/usr/sbin/brest_vgpu_configure

Предупреждение

Скрипт предварительной настройки узла виртуализации для использования vGPU не устанавливает драйвера видеокарты NVIDIA.

Присоединение графического процессора к виртуальной машине#

Примечание

Примечания:

  1. После подключения графического процессора необходимо подключиться к ВМ для установки драйвера выбранной видеокарты и активации ее лицензии. Для установки драйвера видеокарты и активации лицензии необходимо обратиться к документации NVIDIA и разработчика ОС, установленной на ВМ.

  2. При большом количестве ВМ можно воспользоваться сторонними средствами автоматизации для установки драйверов и активации лицензий.

Присоединение графического процессора в веб-интерфейсе#

Настройка шаблона ВМ#

Для того, чтобы добавить vGPU в шаблон виртуальной машины, необходимо:

  1. В веб-интерфейсе ПВ в меню слева выбрать Шаблоны — ВМ.

  2. На открывшейся странице Шаблоны ВМ нажать кнопку + и выбрать пункт Создать.

  3. На открывшейся странице Создать шаблон ВМ перейти во вкладку Ввод/Вывод:

../../../../../_images/out_0.png
  1. На вкладке Ввод/Вывод перейти к разделу VGPU Devices и нажать на кнопку +.

  2. Заполнить появившиеся поля:

  • VGPU name — название видеокарты (значение выбирается из выпадающего списка);

  • VGPU profile — название готового профиля (значение выбирается из выпадающего списка);

  • Amount — количество подключаемых виртуальных функций (указывается целочисленное значение):

../../../../../_images/add_gpu_dev.png
  1. На странице Создать шаблон ВМ после заполнения остальных необходимых параметров нажать на кнопку Создать.

  2. После этого на открывшейся странице Шаблоны ВМ отобразится созданный шаблон.

  3. На странице Шаблоны ВМ выбрать созданный шаблон и на открывшейся странице Шаблон ВМ нажать на кнопку Создать экземпляр.

  4. На открывшейся странице Создать ВМ:

  • в поле Имя ВМ задать наименование ВМ;

  • для параметра Служебная ВМ установить значение Вкл;

  • нажать на кнопку Создать экземпляр.

Настройка конфигурации ВМ#

Для того, чтобы добавить vGPU в виртуальной машине, необходимо изменить конфигурацию виртуальной машины, для этого необходимо:

  1. В веб-интерфейсе ПВ в меню слева выбрать Экземпляры ВМ — ВМ.

  2. На странице Экземпляры ВМ — ВМ выбрать созданную ВМ.

  3. На странице ВМ перейти на вкладку Конфигурация и нажать на кнопку Изменить конфигурацию:

../../../../../_images/change_conf.png
  1. В открывшемся окне Редактирование конфигурации ВМ перейти на вкладку Ввод/Вывод:

../../../../../_images/config1.png
  1. В разделе VGPU Devices, нажать на кнопку +, а затем заполнить следующие параметры:

  • VGPU name — название видеокарты (значение выбирается из выпадающего списка);

  • VGPU profile — название готового профиля (значение выбирается из выпадающего списка);

  • Amount — количество подключаемых виртуальных функций (указывается целочисленное значение):

../../../../../_images/add_gpu_dev.png
  1. В окне Редактирование конфигурации ВМ нажать на кнопку Изменить.

Присоединение графического процессора в интерфейсе командной строки#

Для того, чтобы добавить vGPU к виртуальной машине, необходимо на сервере управления (на текущем лидере RAFT), выполнить следующую команду:

onevm attach-vgpu <VM_ID> --vgpu_pool <VGPU_POOL_ID> --vgpu_profile <VGPU_PROFILE>

где:

  • <VM_ID> — идентификационный номер ВМ;

  • <VGPU_POOL_ID> — идентификационный номер присоединяемой видеокарты;

  • <VGPU_PROFILE> — название готового профиля;

  • <VFS> — количество подключаемых виртуальных функций.

Отсоединение графического процессора от ВМ#

Удаление графического процессора в веб-интерфейсе#

Настройка шаблона ВМ#

Для того, чтобы удалить vGPU из шаблона виртуальной машины, необходимо:

  1. В веб-интерфейсе ПВ в меню слева выбрать Шаблоны — ВМ.

  2. На открывшейся страницы Шаблоны ВМ выбрать нужный шаблон из списка.

  3. На открывшейся странице Шаблон ВМ нажать на кнопку Обновить.

  4. На открывшейся странице Изменить шаблон ВМ открыть вкладку Ввод/Вывод.

  5. На открытой вкладке Ввод/Вывод перейти к разделу VGPU Devices и нажать на кнопку х справа от параметров удаляемого GPU:

../../../../../_images/add_gpu_dev.png
  1. На странице Изменить шаблон ВМ после заполнения остальных необходимых параметров нажать на кнопку Обновить.

Настройка конфигурации ВМ#

Для того, чтобы удалить vGPU в виртуальной машине, необходимо изменить конфигурацию виртуальной машины, для этого необходимо:

  1. В веб-интерфейсе ПВ в меню слева выбрать Экземпляры ВМ — ВМ.

  2. На странице Экземпляры ВМ — ВМ выбрать нужную ВМ.

  3. На странице ВМ перейти на вкладку Конфигурация и нажать на кнопку Изменить конфигурацию:

../../../../../_images/change_conf.png
  1. В открывшемся окне Редактирование конфигурации ВМ перейти на вкладку Ввод/Вывод.

../../../../../_images/config1.png
  1. На открытой вкладке Ввод/Вывод перейти к разделу VGPU Devices и нажать на кнопку х справа от параметров удаляемого GPU:

../../../../../_images/add_gpu_dev.png
  1. В окне Редактирование конфигурации ВМ нажать на кнопку Изменить.

Удаление графического процессора в интерфейсе командной строки#

Для того, чтобы удалить vGPU из виртуальной машины, необходимо на сервере управления (на текущем лидере RAFT), выполнить следующую команду:

onevm detach-vgpu <VM_ID> <VGPU_POOL_ID>

где:

  • <VM_ID> — идентификационный номер ВМ;

  • <VGPU_POOL_ID> — идентификационный номер присоединяемой видеокарты.