Настройка nVidia vGPU для виртуальной машины на Astra-Linux 1.7

  1. Настраиваем режим работы vGPU на хост-ОС.

  2. Запускаем виртуальную машину с пробросом vGPU на соответствующем хосте.

    Далее все действия выполнять на виртуальной машине:

  3. Добавляем параметры ядра для включения поддержки iommu и выключения загрузки драйвера nouveau.

    Добавляем в /etc/default/grub:

    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash intel_iommu=on vfio_iommu_type1.allow_unsafe_interrupts=1 iommu=pt modprobe.blacklist=nouveau"
    

    Обновляем grub:

    update-grub2
    
  4. Добавляем в черный список драйвер nouveau:

    blacklist nouveau
    options nouveau modeset=0
    
  5. Создаем конфигурационный файл /etc/modprobe.d/blacklist-nouveau.conf.

    Добавляем в файл:

    blacklist nouveau
    blacklist nvidiafb
    options nouveau modeset=0
    
  6. Добавляем в файл /etc/modules загрузку модулей ядра:

    pci_stub
      vfio
      vfio_iommu_type1
      vfio-pci
      vfio_pci
      kvm
      kvm_intel
    
  7. Собираем:

    sudo update-initramfs -u
    
  8. Перезагружаем систему.

  9. Устанавливаем пакет dkms:

    apt-get install dkms
    
  10. Осуществляем установку драйвера для гостевой ОС.

    Отключаем загрузку ОС с графической оболочкой:

    sudo init 3
    
  11. Устанавливаем драйвер:

    dpkg --install driver.deb
    

    Примечание

    Вервия драйвера выбирается в соответствии с версией драйвера, установленной на Хост ОС. Более подробную информацию можно найти https://docs.nvidia.com/grid/. Там же можно найти описание установки драйвера в формате .run.

  12. Перезагружаем ОС.

  13. Проверяем, что драйвер установлен и видит vGPU-профиль видеокарты:

    nvidia-smi
    
    ../../_images/nvidia_smi.png

    Пример вывода

  14. Выполняем настройку получения лицензий.

    В файле /etc/nvidia/grid.conf указать значения:

    FeatureType=1
    ServerAddress=IP сервера лицензий
    ServerPort= порт сервера (по умолчанию 7070)
    

    Перезапускаем службы:

    systemctl restart nvidia-gridd.service
    

    Проверяем, что виртуальная машина получила лицензию:

    nvidia-smi -q
    

    Панель управления nvidia вызывается командой nvidia-settings.