Переключение между режимом сквозной передачи и виртуализацией графических карт

Переключение между режимом сквозной передачи и виртуализацией графических карт#

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

Предварительные требования

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

  1. На сервере с физической графической картой найдите службу, которая связана с данным устройством. Например:

    # systemctl | grep stub
    pcistub-0000:01:00.0.service       loaded active exited    Bind device to pci-stub driver
    
  2. Отключите эту службу. Например:

    # systemctl disable pcistub-0000:01:00.0.service
    
  3. Перезагрузите сервер, чтобы применить изменения:

    # reboot
    
  4. Измените конфигурационный файл:

    • Измените device_type с generic на pgpu.

    • Укажите PCI-адрес физической графической карты в device.

    • Удалите поле alias.

    • Укажите необходимый тип виртуальной графической карты в vgpu_type.

    В итоге получится следующий конфигурационный файл config.yaml:

    - node_id: c3b2321a-7c12-8456-42ce-8005ff937e12
      devices:
        - device_type: pgpu
          device: "0000:01:00.0"
          vgpu_type: nvidia-224
    
  5. Укажите конфигурационный файл при запуске команды vinfra service compute set. Например:

    # vinfra service compute set --pci-passthrough-config config.yaml
    

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

  1. Удалите из конфигурационного файла config.yaml информацию, относящуюся к виртуальным графическим картам. Например, удалите следующие строки:

    - device_type: pgpu
      device: "0000:01:00.0"
      vgpu_type: nvidia-224
    
  2. Перенастройте вычислительный кластер, используя обновленный конфигурационный файл config.yaml. Например:

    # vinfra service compute set --pci-passthrough-config config.yaml
    
  3. На сервере с физической графической картой выполните сценарий pci-helper.py, чтобы назначить драйвер pci-stub физической графической карте по ее PCI-адресу. Например:

    # /usr/libexec/vstorage-ui-agent/bin/pci-helper.py bind-to-stub 0000:01:00.0
    
  4. Добавьте физическую графическую карту в конфигурационный файл как устройство типа generic. Например:

    - device_type: generic
      device: 1b36:0100
      alias: gpu
    
  5. Укажите конфигурационный файл при запуске команды vinfra service compute set. Например:

    # vinfra service compute set --pci-passthrough-config config.yaml