Перейти к содержанию

Настройка FreeGRID

Общие сведения

Внимание

Технология FreeGRID является экспериментальным функционалом.

В случае возникновения ошибок необходимо создать обращение в Space Bugzilla или ознакомиться с уже известными запросами на данном ресурсе.


При использовании технологии FreeGRID необходимо обеспечить сетевую связность между сетью, в которой располагаются ВМ, использующие графический адаптер, и контроллером, на котором активирован сервис FreeGRID.

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

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

Срок действия лицензии

FreeGRID недоступен при использовании встроенной лицензии. Необходимо приобретение бессрочной лицензии или получение пробной.

Подробнее о технологии FreeGRID.

Внимание

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

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

Подробнее о графических адаптерах NVIDIA.


Инструкция по настройке

1. Установка драйвера NVIDIA GRID на сервер

Версионность драйверов

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

Следует устанавливать драйверы для ВМ и сервера из актуального пакета для Linux KVM, скачанного с официального сайта NVIDIA.

При отсутствии доступа к личному кабинету NVIDIA обратитесь в сервисный центр, к дистрибьютору или вендору.

Архив содержит:

  • документацию;

  • драйверы для сервера с ОС Linux;

  • драйверы для ВМ с ОС Linux;

  • драйверы для ВМ с ОС Windows.


  1. При наличии на графическом адаптере физических дисплейных выходов необходимо программно отключить их.

  2. Скачать драйверы с официального сайта NVIDIA.

    При отсутствии доступа к личному кабинету NVIDIA обратитесь в сервисный центр, к дистрибьютору или вендору.

  3. Перейти в Web-интерфейс SpaceVM.

  4. Перейти в раздел Хранилища - Пулы данных - <Пул данных> - Файлы.

  5. Нажать кнопку Загрузить из файловой системы.

  6. Выбрать файл драйвера и нажать кнопку ОК.

    Также допускается загрузка файла драйвера на сервер SpaceVM с помощью SSH или FTP.

  7. Перейти в CLI сервера, в который установлен графический адаптер.

  8. Установить драйверы командой:

    install-run --nv /storages/local/default/_LIBRARY/NVIDIA-Linux-x86_64-*-vgpu-kvm.run
    

    где * - версия устанавливаемых драйверов.

    Если файл был загружен на пул данных, отличный от Базового пула данных узла, необходимо вместо /storages/local/default/_LIBRARY/ указать путь до соответствующей директории.

    Внимание

    В процессе установки будет предложено установить драйверы, используя DKMS. Необходимо отклонить предложение.

  9. Перезагрузить сервер.

Ошибка установки драйвера

При возникновении ошибки вида Невозможно установить nvidia.ko, содержащей текст 64-bit BAR или нулевой размер BAR, необходимо включить в BIOS поддержку Above 4G Decoding и PCI 64-Bit Resource Allocation.


2. Подключение графического адаптера к ВМ

  1. Выключить питание ВМ.

  2. Перейти в раздел Mediated-устройства ВМ.

  3. Нажать кнопку Подключить mediated-устройство.

    Внимание

    Не допускается перенос ВМ с mediated-устройствами между серверами.

  4. В открывшемся окне необходимо заполнить следующие поля:

    • Выбрать mediated-устройство.

      Выбор из раскрывающегося списка.

    • Выбрать PCI-контроллер.

      Выбор из раскрывающегося списка.

    • Display.

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

      Установить значение: включено.

    • Ramfb.

      Добавляет устройство "кадровый буфер (framebuffer) в памяти" к ВМ, через которое выводятся сообщения от старта ВМ до загрузки основного драйвера vGPU.

      Установить значение: включено.

  5. Нажать кнопку Подключить.

    Примечание для mediated-устройств NVIDIA

    В случае использования mediated-устройств NVIDIA для каждого типа устройств (исключая вычислительные) производителем задается определенное ограничение частоты кадров (FRL - Framerate Limit) для равномерного распределения ресурсов GPU сервера между различными vGPU (mediated-устройствами).

    Для включения/отключения ограничения следует перейти в окно свойств выбранного mediated-устройства.

    FRL сохраняется и после перезагрузки сервера.


3. Установка драйвера NVIDIA GRID на ВМ

Версионность драйверов

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

Следует устанавливать драйверы для ВМ и сервера из актуального пакета для Linux KVM, скачанного с официального сайта NVIDIA.

При отсутствии доступа к личному кабинету NVIDIA обратитесь в сервисный центр, к дистрибьютору или вендору.

Архив содержит:

  • документацию;

  • драйверы для сервера с ОС Linux;

  • драйверы для ВМ с ОС Linux;

  • драйверы для ВМ с ОС Windows.


Linux

  1. Перейти в раздел Процессоры ВМ.

  2. Рекомендуется установить Режим определения - host-passthrough.

    Для этого необходимо:

    • Выключить питание ВМ.

    • Нажать кнопку Изменение настроек процессоров.

    • В открывшемся окне нажать кнопку Режим определения и модель.

    • В открывшемся окне выбрать host-passthrough и нажать кнопку ОК.

  3. Установить пакеты в соответствии с установленной ОС:

    Debian-based ОС: linux-headers, gcc и make.

    RHEL-based ОС: kernel-lt-devel, kernel-lt-headers, gcc, make.

    Внимание

    Если текущие версии ядра и заголовков (headers) совпадают, необходимо пропустить установку linux-headers и kernel-lt-headers.

    • Debian-based ОС:

      sudo apt update
      
      sudo apt install linux-headers-$(uname -r) gcc make
      
    • RHEL-based ОС:

      dnf update
      
      dnf install kernel-lt-devel-$(uname -r) kernel-lt-headers-$(uname -r) gcc make
      
  4. Скачать драйверы с официального сайта NVIDIA.

    При отсутствии доступа к личному кабинету NVIDIA обратитесь в сервисный центр, к дистрибьютору или вендору.

  5. Установить драйверы графического адаптера командой:

    sudo sh /{path}/NVIDIA-Linux-x86_64-*-grid.run --no-x-check
    

    где:

    • {path} - путь до директории со скачанным файлом .run.

    • * - версия устанавливаемых драйверов.

    В процессе установки следует ответить на вопросы:

    • Install NVIDIA's 32-bit compatibility libraries? - No.

    • An incomplete installation of libglvnd was found... - Don't install.

    • Unable to determine the path to install the libglvnd EGL vendor library config files. - OK.

    • Would you like to run the nvidia-xconfig utility... - Yes.

    Ошибка получения изображения на РЕД ОС

    Если после установки драйверов на РЕД ОС система не получает изображение, необходимо переустановить драйверы, ответив на вопрос Would you like to run the nvidia-xconfig utility... - No.

  6. Дождаться завершения установки.

    Примечание

    При использовании более одного графического адаптера или наличии проблем с получением изображения после перезагрузки следует отредактировать файл /etc/X11/xorg.conf.

    Пример qxl + NVIDIA
    • Выполнить команду:

      lspci
      
    • Найти в списке необходимый графический адаптер.

    • Отредактировать файл /etc/X11/xorg.conf в секции Device, если PCI-адрес MDEV равен 00:000a:00.0:

      BusID          "PCI:0:10:0"
      

      00:0a:00.0 в шестнадцатеричном формате переводится в 0:10:0 в десятичном формате, где 0a = 10 в десятичной системе.

  7. Перезагрузить ВМ.


Windows

  1. Перейти в раздел Процессоры ВМ.

  2. Рекомендуется установить Режим определения - host-passthrough.

    Для этого необходимо:

    • Выключить питание ВМ.

    • Нажать кнопку Изменение настроек процессоров.

    • В открывшемся окне нажать кнопку Режим определения и модель.

    • В открывшемся окне выбрать host-passthrough и нажать кнопку ОК.

  3. Скачать драйверы с официального сайта NVIDIA.

    При отсутствии доступа к личному кабинету NVIDIA обратитесь в сервисный центр, к дистрибьютору или вендору.

  4. Установить драйверы графического адаптера.

  5. Выключить ВМ.

  6. Перейти в раздел Информация ВМ.

  7. В раскрывающемся списке Конфигурация ВМ активировать опцию Оптимизация для vgpu.


4. Активация сервиса FreeGRID

Внимание

  • При использовании технологии FreeGRID необходимо обеспечить сетевую связность между сетью, в которой располагаются ВМ, использующие графический адаптер, и контроллером, на котором активирован сервис FreeGRID.

  • Активация FreeGRID должна производиться на контроллере.

  • Время на контроллере и ВМ должны совпадать.

  1. Активировать сервис free-grid, выполнив команду CLI на контроллере:

    nvidia free-grid enable
    
  2. Проверить статус сервиса free-grid, выполнив команду CLI на контроллере:

    nvidia free-grid status
    
  3. Скачать файл client_configuration_token.tok с конфигурацией для драйвера, находящийся по адресу https://{IP_ADDRESS_CONTROLLER}:7070/-/client-token.

    где {IP_ADDRESS_CONTROLLER} — IP-адрес контроллера кластера SpaceVM.

    Примечание

    При возникновении ошибки SpaceVM has no active license необходимо проверить используемую лицензию SpaceVM.

  4. Скопировать полученный файл в директорию гостевой ОС с установленными драйверами:

    • Linux: /etc/nvidia/ClientConfigToken/.

    • Windows: C:\Program Files\NVIDIA Corporation\vGPU Licensing\ClientConfigToken\.

  5. Выполнить перезапуск службы nvidia на гостевой ОС:

    • Linux:

      service nvidia-gridd restart
      
    • Windows:

      Restart-Service NVDisplay.ContainerLocalSystem
      
  6. На гостевой ОС убедиться, что драйвер получил лицензию:

    • Linux:

      nvidia-smi -q | grep "License"
      
    • Windows:

      & 'nvidia-smi' -q  | Select-String "License"
      

Возможные ошибки

Отключение физических выходов

Для корректного использования vGPU на ВМ необходимо убедиться, что физические дисплейные выходы графического адаптера выключены. Если физические дисплейные порты включены, то необходимо программно отключить их.

В данной инструкции для отключения физических выходов используется утилита NVIDIA Display Mode Selector Tool.

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

  1. Открыть терминал сервера с установленным графическим адаптером.

  2. Перейти в shell сервера:

    shell
    
  3. Выполнить команду:

    nvidia-smi -q | grep "Display Active"
    

    Если вывод команды соответствует Display Active: Disable, то физические порты графического адаптера уже отключены. Выполнение последующих действий данной инструкции не требуется.

  4. Удалить драйверы графического адаптера для корректной установки Display Mode Selector Tool:

    nvidia-uninstall
    
  5. Скачать на локальное устройство утилиту Display Mode Selector Tool от NVIDIA.

  6. Распаковать скачанный архив.

  7. Перейти в терминал локального устройства.

  8. Передать на сервер файл Display Mode Selector Tool для Linux x64 с помощью команды:

    scp {local_path} root@{server_ip_address}:/tmp
    

    где:

    • {local_path} - путь к файлу на локальном устройстве;

    • {server_ip_address} - IP-адрес сервера с графическим адаптером.

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

  9. Изменить права на файл для его запуска:

    chown root:root /tmp/displaymodeselector
    
  10. Запустить Display Mode Selector Tool:

    /tmp/displaymodeselector --gpumode
    
  11. Выбрать режим 1 - physical_display_disabled.

  12. Повторно установить драйверы командой:

    install-run --nv /storages/local/default/_LIBRARY/NVIDIA-Linux-x86_64-*-vgpu-kvm.run
    

    где * - версия устанавливаемых драйверов.

    Если файл был загружен на пул данных, отличный от Базового пула данных узла, необходимо вместо /storages/local/default/_LIBRARY/ указать путь до соответствующей директории.

    DKMS

    В процессе установки будет предложено установить драйверы, используя DKMS. Необходимо отклонить предложение.

  13. Выполнить команду:

    nvidia-smi -q | grep "Display Active"
    
  14. Убедиться, что вывод команды соответствует Display Active: Disable.

  15. Перезагрузить сервер.