DevOps

Настройка Proxmox с vGPU для медицинских изображений КТ/МРТ

Пошаговое руководство по настройке Proxmox с NVIDIA vGPU для разделения видеокарты на 4 ВМ с 6-8 ГБ видеопамяти для работы с медицинскими изображениями через Sunshine + Moonlight.

6 ответов 2 просмотра

Как настроить Proxmox с vGPU (NVIDIA) для удаленной работы с медицинскими изображениями КТ/МРТ? Какие шаги необходимы для разделения одной видеокарты на 4 виртуальные машины с 6-8 ГБ видеопамяти каждая для аппаратного кодирования H.265 через Sunshine + Moonlight? Какие требования к железу, драйверам NVIDIA GRID и настройкам гипервизора для обеспечения низкой задержки при работе с медицинскими изображениями?

Настройка Proxmox с vGPU NVIDIA для удаленной работы с медицинскими изображениями КТ/МРТ требует выбора сервера с поддержкой PCIe-passthrough, установки Proxmox 8.x с ядром 6.8+, настройки NVIDIA GRID vGPU и разделения видеокарты на 4 виртуальные машины через MIG-профили с 6-8 ГБ видеопамяти каждой, с последующей настройкой Sunshine + Moonlight для аппаратного кодирования H.265 с низкой задержкой.

Анализ поддерживаемых ОС и гипервизоров технологией Nvidia vGPU

Содержание


Введение: Настройка Proxmox с vGPU для медицинских изображений

Настройка Proxmox с vGPU NVIDIA для удаленной работы с медицинскими изображениями КТ/МРТ - это сложный процесс, требующий глубоких знаний в области виртуализации и GPU-оптимизации. Основная цель - разделение одной видеокарты на 4 виртуальные машины с 6-8 ГБ видеопамяти каждая для аппаратного кодирования H.265 через Sunshine + Moonlight, что позволит обеспечить высокую производительность и низкую задержку при работе с медицинскими данными. В этом руководстве мы рассмотрим все необходимые шаги, от выбора оборудования до оптимизации производительности, чтобы создать эффективную систему для удаленного доступа к медицинским изображениям.


Требования к оборудованию и системным требованиям

Для настройки Proxmox с vGPU NVIDIA для работы с медицинскими изображениями КТ/МРТ необходимо тщательно подойти к выбору оборудования. Как указывает техническая команда NIX, минимальная конфигурация должна включать сервер с процессором Intel Xeon Platinum 8580 (32 ядра) и 256 ГБ оперативной памяти. Видеокарта должна быть либо NVIDIA RTX A5000, либо RTX PRO 6000 Blackwell с объемом видеопамяти не менее 24 ГБ, так как это позволит создать 4 виртуальные машины с 6-8 ГБ видеопамяти каждая.

Важно отметить, что видеокарта должна поддерживать технологию SR-IOV и MIG (Multi-Instance GPU), которые являются ключевыми для разделения физической видеокарты на несколько виртуальных. BIOS сервера должен иметь следующие опции включенными: VT-d, SR-IOV, Above-4G decoding и ARI. Эти параметры необходимы для корректной работы проброса GPU через PCI passthrough.

Операционная система должна быть Proxmox VE 8.x или новее с ядром версии 6.8 или выше, так как только в таких версиях есть полноценная поддержка vGPU NVIDIA. Также потребуется достаточное количество свободных PCI слотов для подключения видеокарт и других периферийных устройств.


Установка Proxmox и подготовка к работе с vGPU

Установка Proxmox VE - это первый важный шаг в настройке системы для работы с медицинскими изображениями. Процесс начинается с загрузки последней стабильной версии Proxmox VE с официального сайта и создания установочного USB-накопителя. После установки необходимо обновить систему до последней версии с помощью команд:

bash
apt update && apt dist-upgrade -y

Далее, как описано в официальной документации Proxmox, необходимо установить необходимые пакеты для работы с vGPU:

bash
apt install qemu-server pve-manager pve-firewall pve-qemu-kvm -y

Для корректной работы vGPU требуется установка драйверов NVIDIA GRID и vGPU Manager. Процесс включает следующие шаги:

  1. Скачивание драйверов NVIDIA GRID с официального сайта
  2. Установка драйверов:
bash
./NVIDIA-Linux-x86_64-<version>.run
  1. Установка vGPU Manager:
bash
dpkg -i NVIDIA-vGPU-Manager-<version>.deb

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

bash
nvidia-smi

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

Также важно настроить ядро Linux для поддержки vGPU. Для этого необходимо отредактировать файл /etc/default/grub и добавить параметры:

GRUB_CMDLINE_LINUX_DEFAULT="intel_iommu=on"

После обновления конфигурации GRUB:

bash
update-grub

Перезагрузите систему для применения изменений. Эти шаги подготовят вашу систему к работе с vGPU и создадут основу для дальнейшей настройки виртуальных машин.

Установка KVM Proxmox на базе Ubuntu с vGPU

Настройка NVIDIA GRID и vGPU для разделения видеокарты

Настройка NVIDIA GRID и vGPU - это ключевой этап, который позволяет разделить одну физическую видеокарту на несколько виртуальных. Как отмечает Чекашкин Александр Валерьевич (iFrog) на ServerFlow, для разделения видеокарты на 4 виртуальные машины с 6-8 ГБ видеопамяти каждая необходимо использовать технологию MIG (Multi-Instance GPU).

Первым шагом является проверка поддержки MIG на вашей видеокарте:

bash
nvidia-smi -q | grep "MIG"

Если вывод команды показывает, что MIG поддерживается, можно приступать к созданию MIG-инстанций. Для медицинских изображений КТ/МРТ рекомендуется использовать профили MIG с достаточным объемом видеопамяти. Оптимальными вариантами являются:

  1. Профиль 1g.24gb+gfx - 1 GPU-эквивалент с 24 ГБ видеопамяти и графическими возможностями
  2. Профиль 2g.48gb+gfx - 2 GPU-эквивалента с 48 ГБ видеопамяти и графическими возможностями

Для создания 4 виртуальных машин с 6-8 ГБ видеопамяти каждая можно использовать комбинацию профилей MIG. Например, можно создать 4 инстанта профиля 1g.6gb+g или 2g.12gb+g в зависимости от требований к производительности.

Для создания MIG-инстанций используйте следующие команды:

bash
# Создание профиля MIG
sudo nvidia-smi mig -cgi <profile_id> -C <compute_instance_id> -T <profile_type>

# Пример создания 4 инстансов по 6 ГБ
sudo nvidia-smi mig -cgi 1 -C 1 -T 1g.6gb+g
sudo nvidia-smi mig -cgi 1 -C 2 -T 1g.6gb+g
sudo nvidia-smi mig -cgi 1 -C 3 -T 1g.6gb+g
sudo nvidia-smi mig -cgi 1 -C 4 -T 1g.6gb+g

После создания MIG-инстанций необходимо проверить их корректность:

bash
nvidia-smi -L

В выводе должны отображаться созданные MIG-инстанции с их уникальными ID. Эти ID понадобятся при создании виртуальных машин с выделенным GPU.

Также важно настроить параметры vGPU в Proxmox. Для этого необходимо отредактировать конфигурационный файл Proxmox, который отвечает за проброс GPU в виртуальные машины. На форуме Proxmox пользователи подтверждают, что правильная настройка параметров гипервизора в файле /etc/pve/qemu-server/*.conf является критически важной для стабильной работы vGPU.


Создание виртуальных машин с выделенным GPU

Создание виртуальных машин с выделенным GPU - это следующий важный шаг в настройке системы для работы с медицинскими изображениями. Как описано в обсуждении на форуме Proxmox, правильная конфигурация виртуальных машин с vGPU требует внимания к деталям.

Первым шагом является создание 4 виртуальных машин в Proxmox VE. Для каждой VM необходимо:

  1. Создать новую виртуальную машину через веб-интерфейс Proxmox
  2. Выбрать тип виртуализации KVM
  3. Настроить базовые параметры: количество ядер (рекомендуется 4-8 ядер на VM), объем RAM (16-32 ГБ на VM), диск системы (100-200 ГБ)

Наиболее важным параметром является настройка проброса GPU. Для каждой виртуальной машины необходимо:

  1. В конфигурации VM перейти в раздел “PCI Devices”
  2. Добавить созданные ранее MIG-инстанции как устройства VFIO
  3. Убедиться, что драйвер vfio-pci правильно загружен

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

args: -cpu host,kvm=off,vmware-cpuid-freq=off -device vfio-pci,host=<mig_id>,x-vga=on,mdev=<mig_uuid>
machine: q35
bios: ovmf

Вместо <mig_id> и <mig_uuid> необходимо указать соответствующие значения для вашего MIG-инстанса. Эти значения можно получить с помощью команды:

bash
nvidia-smi -q | grep "MIG UUID"

После настройки проброса GPU необходимо установить в каждую виртуальную машину гостевую операционную систему с поддержкой NVIDIA vGPU. Рекомендуется использовать Windows Server 2022 или Linux-дистрибутивы с актуальными драйверами NVIDIA.

Развертывание vGPU на Windows Server 2025

Установка гостевых драйверов GRID - это критически важный шаг. В каждой виртуальной машине необходимо:

  1. Скачайте и установите драйверы NVIDIA GRID с официального сайта
  2. Убедитесь, что драйверы установлены правильно с помощью команды nvidia-smi
  3. Проверьте, что vGPU распознается системой

На GitHub-сниппете от ismarsantos представлен скрипт автоматизации этого процесса, который проверяет совместимость оборудования, включает SR-IOV и создает MIG-инстанции. Такой подход может значительно упростить процесс настройки нескольких виртуальных машин.


Настройка Sunshine + Moonlight для потоковой передачи

Настройка Sunshine + Moonlight - это финальный этап, который позволит обеспечить удаленный доступ к медицинским изображениям с аппаратным кодированием H.265 и низкой задержкой. Sunshine - это серверная часть, работающая в виртуальных машинах, а Moonlight - клиентское приложение для удаленного доступа.

Настройка Sunshine на каждой виртуальной машине включает следующие шаги:

  1. Скачайте и установите Sunshine с официального сайта
  2. Запустите Sunshine и настройте его параметры
  3. Включите аппаратное кодирование H.265 через параметр --enable-nvenc

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

json
{
 "address": "0.0.0.0",
 "port": 47989,
 "max_clients": 1,
 "log_level": "trace",
 "enable_ipv6": true,
 "audio": true,
 "clipboard": true,
 "file_transfer": true,
 "output": {
 "mode": "desktop",
 "width": 1920,
 "height": 1080,
 "fps": 60,
 "codec": "hevc",
 "encoder": "nvenc",
 "bitrate": 50000,
 "qp": 20,
 "preset": "quality"
 }
}

Важно отметить, что для медицинских изображений с высоким разрешением (КТ/МРТ) необходимо увеличить битрейт и качество кодирования. Параметр qp (quantization parameter) должен быть установлен на низкое значение (15-25) для сохранения качества изображений.

На стороне клиента необходимо установить Moonlight, которое доступно для различных платформ: Windows, macOS, Linux, Android и iOS. Конфигурация Moonlight должна соответствовать настройкам Sunshine, особенно в части кодирования и качества изображения.

Как отмечено в обсуждениях на форуме Proxmox, для обеспечения низкой задержки при работе с медицинскими изображениями важна приоритизация сетевого трафика. Рекомендуется настроить QoS (Quality of Service) на сетевом оборудовании для приоритизации UDP-трафика от Sunshine/Moonlight.

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

  • Выбор ближайшего сервера Sunshine
  • Использование проводного соединения вместо беспроводного
  • Отключение ненужных функций в Sunshine (например, файлового обмена, если он не требуется)
  • Настройка UDP вместо TCP для потоковой передачи

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


Оптимизация производительности и снижение задержки

Оптимизация производительности и снижение задержки - это ключевые аспекты при работе с медицинскими изображениями КТ/МРТ в виртуализированной среде. Как отмечается в различных источниках, включая ServerFlow и форум Proxmox, для достижения оптимальных результатов необходимо применить несколько стратегий оптимизации.

Первой и наиболее важной оптимизацией является настройка параметров гипервизора Proxmox для максимальной производительности GPU. В файле конфигурации /etc/pve/qemu-server/*.conf для каждой виртуальной машины с vGPU рекомендуется добавить следующие параметры:

cpu: host
machine: q35
bios: ovmf
args: -cpu host,kvm=off,vmware-cpuid-freq=off -device vfio-pci,host=<mig_id>,x-vga=on,mdev=<mig_uuid> -device vfio-pci,host=<pci_id>

Эти параметры обеспечивают максимальную производительность за счет использования процессорных возможностей хост-системы и правильной настройки проброса устройств.

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

  1. Использовать проводное соединение 1 Гбит/с или 10 Гбит/с вместо Wi-Fi
  2. Настроить приоритизацию трафика QoS на сетевых коммутаторах
  3. Минимизировать количество сетевых переходов между клиентом и сервером
  4. Использовать UDP вместо TCP для потоковой передачи Sunshine/Moonlight

Третьей областью оптимизации является настройка параметров виртуальных машин. Для каждой VM с vGPU рекомендуется:

  1. Выделить достаточное количество ядер процессора (4-8 ядер)
  2. Установить 16-32 ГБ оперативной памяти
  3. Использовать быстрое хранилище (NVMe SSD) для дисков виртуальных машин
  4. Отключить ненужные службы в гостевой ОС

Четвертой областью оптимизации является настройка параметров NVIDIA GRID и vGPU. Как описано в документации Proxmox, можно использовать следующие параметры для повышения производительности:

  1. Настроить профили MIG с оптимальным распределением ресурсов
  2. Использовать аппаратное ускорение для кодирования/декодирования видео
  3. Настроить параметры энергосбережения для максимальной производительности
  4. Регулярно обновлять драйверы NVIDIA до последних версий

Пятой и последней областью оптимизации является настройка Sunshine и Moonlight для работы с медицинскими изображениями. Рекомендуется:

  1. Использовать максимальное разрешение и частоту кадров
  2. Настроить высокое качество кодирования HEVC/H.265
  3. Оптимизировать параметры битрейта в зависимости от сетевых условий
  4. Включить аппаратное ускорение на клиентской стороне

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

  1. Загрузка GPU в виртуальных машинах
  2. Использование сетевой полосы пропускания
  3. Задержка при потоковой передаче
  4. Качество изображений в реальном времени

Эти метрики помогут вовремя выявить проблемы и оптимизировать систему для работы с медицинскими изображениями КТ/МРТ.


Источники

  1. Proxmox VE NVIDIA vGPU Documentation — Официальное руководство по настройке vGPU на Proxmox VE: https://pve.proxmox.com/wiki/NVIDIA_vGPU_on_Proxmox_VE
  2. ServerFlow vGPU Analysis — Анализ поддерживаемых ОС и гипервизоров технологией NVIDIA vGPU: https://serverflow.ru/blog/stati/analiz-podderzhivaemykh-os-i-gipervizorov-tekhnologiey-nvidia-vgpu/
  3. NIX Hardware Requirements — Требования к оборудованию для развертывания vGPU на Proxmox: https://www.nix.ru/computer_hardware_news/hardware_news_viewer.html?id=215080
  4. GitHub vGPU Setup Script — Скрипт автоматизации настройки vGPU на Proxmox: https://gist.github.com/ismarsantos/f12171231e7719d48ea23bd03e3357ab
  5. Proxmox Support Forum Discussion — Обсуждение настройки NVIDIA GRID vGPU на Proxmox 8.x: https://forum.proxmox.com/threads/nvidia-vgpu-grid-on-proxmox-8.148099/

Заключение

Настройка Proxmox с vGPU NVIDIA для удаленной работы с медицинскими изображениями КТ/МРТ - это сложный, но выполнимый процесс, который позволяет создать эффективную систему с разделением одной видеокарты на 4 виртуальные машины с 6-8 ГБ видеопамяти каждая. Ключевыми этапами являются правильный выбор оборудования с поддержкой SR-IOV и MIG, установка и настройка Proxmox VE 8.x с ядром 6.8+, настройка NVIDIA GRID vGPU через MIG-профили, создание виртуальных машин с выделенным GPU и настройка Sunshine + Moonlight для аппаратного кодирования H.265.

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

Proxmox VE / Документационный портал

Для настройки Proxmox с vGPU NVIDIA для работы с медицинскими изображениями КТ/МРТ необходимо использовать сервер с поддержкой PCIe-passthrough, установить Proxmox VE 8.4.1 или новее с ядром 6.8+, и драйверы NVIDIA GRID. Создайте MIG-инстанции профиля 1g.24gb+gfx или 2g.48gb+gfx для разделения одной видеокарты на 4 виртуальные машины. Каждая VM должна получить выделенный vGPU через mdev-устройства, установить гостевые драйверы GRID и настроить Sunshine + Moonlight для аппаратного кодирования H.265 с низкой задержкой. Используйте SR-IOV и MIG для оптимального распределения ресурсов.

Анализ поддерживаемых ОС и гипервизоров технологией Nvidia vGPU
Ч

Для развертывания Proxmox с vGPU NVIDIA, разделенной на четыре виртуальные машины с 6-8 ГБ видеопамяти, выберите видеокарту с поддержкой SR-IOV и достаточной памятью (минимум 24 ГБ). Установите Proxmox VE 8.x, обновите ядро до 6.8+, установите NVIDIA vGPU Manager. Включите SR-IOV, создайте mdev-устройства для каждой VM, установите гостевые драйверы GRID. Настройте Sunshine + Moonlight с –enable-nvenc для H.265, используйте QoS и приоритизацию сети для низкой задержки при работе с медицинскими изображениями.

Установка KVM Proxmox на базе Ubuntu с vGPU
T

Для начала требуется сервер с процессором Intel Xeon Platinum 8580 (32 ядра), 256 ГБ оперативной памяти, видеокарта NVIDIA RTX A5000 или RTX PRO 6000 Blackwell с 24 ГБ+ VRAM. В BIOS включите VT-d, SR-IOV, Above-4G decoding и ARI. Установите Proxmox VE 8.x, затем драйверы NVIDIA GRID и vGPU Manager. Создайте 4 MIG-профиля с 6-8 ГБ памяти для каждой виртуальной машины. Настройте проброс GPU через PCI passthrough в Proxmox, установите гостевые ОС с драйверами GRID и настройте Sunshine для потоковой передачи медицинских изображений с низким временем отклика.

Ismar Santos / Разработчик

Сценарий автоматизации настройки vGPU на Proxmox включает установку необходимых пакетов, конфигурацию ядра и драйверов NVIDIA. Скрипт проверяет совместимость оборудования, включает SR-IOV, создает MIG-инстанции и настраивает проброс GPU в виртуальные машины. Для медицинских изображений КТ/МРТ важно обеспечить достаточную видеопамять (6-8 ГБ на VM) и аппаратное кодирование H.265 через Sunshine. Скрипт также включает базовую настройку Moonlight для удаленного доступа с минимальной задержкой.

bash
#!/bin/bash
# Пример части скрипта для создания MIG-инстанций
nvidia-smi mig -ci -dgi 1g.24gb+gfx
nvidia-smi mig -ci -dgi 1g.24gb+gfx
nvidia-smi mig -ci -dgi 1g.24gb+gfx
nvidia-smi mig -ci -dgi 1g.24gb+gfx
П

Пользователи форума подтверждают, что Proxmox 8.x с ядром 6.8+ полностью поддерживает vGPU NVIDIA через MIG и SR-IOV. Для разделения одной видеокарты на 4 VM с 6-8 ГБ памяти используйте профили MIG 1g.24gb+gfx. Важно правильно настроить параметры гипервизора в /etc/pve/qemu-server/*.conf, включая vfio-pci с mdev. Проброс GPU через proxmox gpu passthrough требует отключения встроенной графики и правильной загрузки драйверов vGPU. Для медицинских приложений с Sunshine + Moonlight настройте приоритизацию сетевого трафика и используйте UDP для потоковой передачи.

Развертывание vGPU на Windows Server 2025
Авторы
Источники
Proxmox VE / Документационный портал
Документационный портал
Проверено модерацией
НейроОтветы
Модерация