Информация
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
Контакты
Оплата
Новости
Доставка
Загрузки
Форум
Настройка
    info@proxmox.su
    +7 (495) 320-70-49
    Заказать звонок
    Аспро: ЛайтШоп
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Аспро: ЛайтШоп
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Аспро: ЛайтШоп
    Телефоны
    +7 (495) 320-70-49
    Заказать звонок
    0
    0
    0
    Аспро: ЛайтШоп
    • +7 (495) 320-70-49
      • Назад
      • Телефоны
      • +7 (495) 320-70-49
      • Заказать звонок
    • info@proxmox.su
    • Москва, Бакунинская улица, 69с1
    • Пн-Пт: 09-00 до 18-00
      Сб-Вс: выходной
    • 0 Сравнение
    • 0 Избранное
    • 0 Корзина
    Главная
    Форум
    Proxmox Виртуальная Среда
    Использовать vGPU на LXC.

    Форумы: Proxmox Виртуальная Среда, Proxmox Backup Server, Proxmox Mail Gateway, Proxmox Datacenter Manager
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    Использовать vGPU на LXC., Proxmox Виртуальная Среда
     
    yezifeng
    Guest
    #1
    0
    12.03.2021 03:04:00
    Привет всем! У меня есть GPU Tesla P4. Как можно использовать vGPU в LXC контейнере, как это делается с mdev устройством на VM? Есть какие-нибудь методы или советы? Кстати, я пробовал GPU passthrough в LXC контейнерах, и все работало отлично. А вот с vGPU у меня нет четкого представления.
    Всего доброго!
     
     
     
    ismar.san
    Guest
    #2
    0
    13.08.2022 18:08:00
    Дружище, решил всё-таки добить настройку vGPU, не обязательно чтобы с LXC, может быть и с VM. Нарыл в интернете какие-то команды, можешь глянуть и сказать, правильно ли я двигаюсь, и подсказать, что дальше делать? Мне кажется, так создаются профили для vGPU, верно? Смотри тут.
     
     
     
    yezifeng
    Guest
    #3
    0
    23.08.2022 12:05:00
    Если хочешь, чтобы vGPU заработал для виртуальной машины, нужно добавить конфигурацию в файл конфигурации виртуальной машины, например, так: hostpci0: 04:00.0,mdev=RTXA5000-4Q. Можно настроить это и через веб-интерфейс.
     
     
     
    rrprime
    Guest
    #4
    0
    04.10.2021 09:15:00
    Возрождаю эту тему, так как пытаюсь этого добиться.
     
     
     
    ismar.san
    Guest
    #5
    0
    11.08.2022 21:38:00
    У кого-нибудь есть какие-нибудь новости об этом, если это возможно?
     
     
     
    Ramalama
    Guest
    #6
    0
    12.08.2022 00:37:00
    Для того чтобы пробросить GPU в контейнер LXC, не обязательно иметь Tesla/Quadro. Это работает с любой видеокартой! Вот пример с обычной потребительской видеокартой Nvidia:

    1. Установите драйверы на хост-машину... Лучший способ — установить драйверы напрямую с сайта Nvidia, потому что упакованные драйверы из apt не включают инструменты Nvidia UVM. Они вам, возможно, и не понадобятся, но они полезны, чтобы видеть, использует ли контейнер GPU. Для драйверов Nvidia вам понадобятся заголовки ядра вашей системы, gcc и make. Пример: `apt install pve-headers-5.15 gcc make` — затем перезагрузите систему и установите драйверы, а затем снова перезагрузите.

    2. Bash: `root@proxmox:~# ls -l /dev/nvidiactl`
    `crw-rw-rw- 1 root root 195, 255 Jun 27 13:44 /dev/nvidiactl`
    `root@proxmox:~# ls -l /dev/nvidia-uvm`
    `crw-rw-rw- 1 root root 505, 0 Jun 27 13:44 /dev/nvidia-uvm`

    Видите, у меня там 195 и 505... У вас там может быть что-то другое. Вам нужно изменить это в строках cgroup2 ниже...

    Остановите контейнер LXC...

    Добавьте следующее в конфигурацию вашего LXC:

    Bash: `lxc.cgroup2.devices.allow: c 195:* rwm`
    `lxc.cgroup2.devices.allow: c 505:* rwm`
    `lxc.mount.entry: /dev/nvidia0 dev/nvidia0 none bind,optional,create=file`
    `lxc.mount.entry: /dev/nvidiactl dev/nvidiactl none bind,optional,create=file`
    `lxc.mount.entry: /dev/nvidia-uvm dev/nvidia-uvm none bind,optional,create=file`
    `lxc.mount.entry: /dev/nvidia-uvm-tools dev/nvidia-uvm-tools none bind,optional,create=file`

    Запустите контейнер(ы) снова...

    Войдите в контейнер через SSH...

    Установите ту же версию драйвера, что и на хост-машине, но на этот раз с аргументом: `./NVIDIA-Linux-x86_64-515.48.07.run --no-kernel-module`

    Возможно, вам потребуется перезагрузить контейнер — и вуаля, все готово!

    Чтобы проверить, работает ли это, просто запустите что-нибудь в контейнере, например, видеокодирование/декодирование, что угодно...

    Снова войдите в хост-машину через SSH и выполните: `nvidia-smi`

    Там вы увидите, какой контейнер чем занимается и какой процент GPU он использует.

    Для видеокарт AMD это похоже, но вам придется поискать инструкции в Google... То же самое для Intel.

    В общем, пробросить GPU в контейнер LXC очень просто. И вы можете пробросить один и тот же GPU к тому количеству контейнеров, которое хотите. Единственное ограничение в том, что Nvidia, например, ограничивает декодирование/кодирование и т.д. только 3-5 одновременным потокам. То есть, 3-5 контейнеров могут одновременно получать доступ к GPU, в зависимости от видеокарты.

    Однако проброс GPU в виртуальную машину — это совсем другая история. Если это выделенная видеокарта, то для одной виртуальной машины это тоже очень просто. Одна видеокарта для нескольких виртуальных машин = vGPU/MxGPU + это все очень баговано, в общем, забудьте об этом.

    Единственная надежда, которую я вижу, — это если Intel выпустит графические карты Arc с поддержкой SR-IOV. Потому что SR-IOV — это единственный надежный и полностью рабочий способ пробросить что-то на несколько виртуальных машин без необходимости полагаться на сломанные драйверы.

    Cheers.
     
     
     
    ismar.san
    Guest
    #7
    0
    12.08.2022 01:40:00
    Привет, друг! Спасибо за всю эту информацию. У меня возникли проблемы с использованием более одного контейнера на одной GPU – в каждом контейнере приложение для реалтайм-рендеринга видео. Не должно быть просадок в FPS. Для справки: мы делали это, запустив 3 видеопотока на RTX5000, мне кажется, что этого недостаточно для того, что может предложить карта. Если пытаться запустить 4 потока, это влияет на предыдущие и всё вылетает. В общем, это ограничение заставляет меня покупать больше GPU или использовать гипервизор, который поддерживает нативный vGPU. В этом случае лицензия тоже платная, но это будет дешевле, чем покупать больше RTX6000. Но спасибо, спасибо.
     
     
     
    Ramalama
    Guest
    #8
    0
    12.08.2022 02:56:00
    Похоже, либо ошибка в драйвере, либо тебе нужен другой драйвер. Есть enterprise-драйверы R515 для таких карт. У них должны быть неограниченные сессии. Но честно говоря, если у тебя возникают проблемы с более чем тремя сессиями, звучит как ошибка. Это не связано с Proxmox, просто общая ошибка NVIDIA, потому что у всех потребительских карт есть ограничение в 3 сессии. У твоей карты не должно быть такого ограничения, но раз enterprise- и consumer-драйверы почти одинаковые, мне кажется, что так и есть. В любом случае, кроме этого я ничего не могу посоветовать. Если каким-то образом ты все еще используешь обычный драйвер, попробуй R515. Если ты уже используешь R515, то тут, наверное, уже ничего не поможет. Удачи и всем пока!
     
     
     
    ismar.san
    Guest
    #9
    0
    12.08.2022 19:35:00
    Понял, да, видел такое раньше, потребительские драйвера у них такое ограничение, просто забыл. Попробую использовать Nvidia GRID драйвера, как ты и посоветовал, огромное спасибо.
     
     
     
    dreen24
    Guest
    #10
    0
    13.01.2024 18:29:00
    Нашёл вот эту статью, оказалась полезной https://gitlab.com/polloloco/vgpu-proxmox
     
     
     
    FancyBee
    Guest
    #11
    0
    23.04.2024 19:30:00
    VGPU с VM работает отлично, но для этого нужен отдельный VM для каждого контейнера, которому требуется VGPU. Я ищу способ обойтись без VGPU в LXC. Какие устройства нужно отправлять в LXC, чтобы использовать их внутри? Пока что я все еще рассматриваю возможность установки Docker напрямую на Proxmox хост и использования Portainer для управления им.
     
     
     
    DJB-WSM
    Guest
    #12
    0
    14.07.2024 19:59:00
    Как и у @FancyBee. Проброс vGPU для ВМ работает отлично, а вот как, черт возьми, сделать то же самое с LXC? Вся информация про LXC, которую я нахожу, говорит о том, что нужно как-то разделять драйвер GPU ХОСТ-системы, но это не похоже на то, как работает настройка vGPU-драйвера. И нельзя использовать оба варианта одновременно, пока кто-то не скажет установить драйвера на Хост! При vGPU-конфигурации ты намеренно предотвращаешь использование GPU хостом!
     
     
     
    bindi
    Guest
    #13
    0
    15.07.2024 01:19:00
    Драйвера на хост для vGPU всё-таки нужны. Я использую nvidia-container-toolkit, может, он заработает вместе с включенными драйверами vGPU? https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html <CTID>.conf дополнения: Код: lxc.hook.pre-start: sh -c '[ ! -f /dev/nvidia0 ] && /usr/bin/nvidia-modprobe -c0 -u'
    lxc.environment: NVIDIA_VISIBLE_DEVICES=all
    lxc.environment: NVIDIA_DRIVER_CAPABILITIES=compute,utility,video
    lxc.hook.mount: /usr/share/lxc/hooks/nvidia
     
     
     
    FancyBee
    Guest
    #14
    0
    17.07.2024 10:56:00
    Попробовал установить NVIDIA Toolkit – он нужен для подготовки хоста Ollama, но если в LXC не видят устройств, то Toolkit не может завершить инициализацию и т.д. В итоге контейнер Docker вообще не получает vGPU или GPU.
     
     
     
    DARKACE
    Guest
    #15
    0
    15.12.2024 23:03:00
    Привет, я пытался заставить это работать. Нужно объединить драйвер NVIDIA vGPU Host Driver и обычный драйвер, тогда всё заработает. Смотри этот тред Z Thread 'Merge patch for nvidia drivers to get LXC containers gpu access working' Apr 29, 2024, нашёл этот GitHub здесь: https://github.com/VGPU-Community-Drivers/vGPU-Unlock-patcher. Там есть патчи для объединения драйверов, и мне удалось заставить это работать на Proxmox с версией 535.129.03, чтобы установить модуль ядра nvidia_uvm. Теперь контейнеры LXC успешно получают доступ к GPU и могут его использовать, протестировано с Jellyfin и NVENC. Я просто скачал репозиторий, положил туда копию файлов драйвера NVIDIA .run, (он извлекает как KVM, так и потребительский драйвер, нужно положить оба в папку) запустил команду ./patch.sh general-merge, затем зашёл в папку -patched... zenowl77 Ответы: 0 Форум: Proxmox VE: Установка и настройка
     
     
     
    Страницы: 1
    Читают тему
    +7 (495) 320-70-49
    info@proxmox.su

    Конфиденциальность Оферта
    © 2026 Proxmox.su
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры