• Друзья! Этот ресурс создан в далеком 2019 году ;) для себя, чтобы структурировать и всегда иметь под рукой нужные решения, примеры, ссылки, описания и т.д., а при случае все это обсудить с коллегами. Если вам что-то подобное может быть интересно – присоединяйтесь! Добавляйте свои заметки! Если нужны дополнительные разделы – сообщайте!

РЕШЕНО Proxmox: проброс видеокарты в контейнер (nvidia GPU Passthrough)

AndreyG

Активист
Стоят две nvidia и десяток контейнеров - все успешно работает.
Делать так:

На основной машине (pve):

apt-cache search pve-header
apt install pve-headers-*.*.*-*-pve (выбираем самую старшую версию, например apt install proxmox-headers-6.8.4-3-pve)
nano /etc/modprobe.d/blacklist.conf
Добавляем одну строку:
blacklist nouveau

update-initramfs -u

Перезагрузка

apt update && apt upgrade -y
apt install build-essential
Идете сюда: https://www.nvidia.com/Download/index.aspx#
выбираете драйвер и копируете ссылку на скачивание (она под кнопкой Agree & Download)

wget ссылка
chmod +x имя скачанного файла
./имя скачанного файла
везде жмем enter

Перезагрузка

nano /etc/modules-load.d/modules.conf

Добавляем:
Nvidia modules
nvidia
nvidia-modeset
nvidia_uvm

update-initramfs -u

nano /etc/udev/rules.d/70-nvidia.rules

Добавляем:

KERNEL=="nvidia", RUN+="/bin/bash -c '/usr/bin/nvidia-smi -L && /bin/chmod 666 /dev/nvidia*'"
KERNEL=="nvidia_modeset", RUN+="/bin/bash -c '/usr/bin/nvidia-modprobe -c0 -m && /bin/chmod 666 /dev/nvidia-modeset*'"
KERNEL=="nvidia_uvm", RUN+="/bin/bash -c '/usr/bin/nvidia-modprobe -c0 -u && /bin/chmod 666 /dev/nvidia-uvm*'"

Перезагрузка

nvidia-smi

nano /etc/pve/lxc/100.conf *100 - номер конетйнера

Добавляем:
lxc.cgroup2.devices.allow = c 195:0 rw
lxc.cgroup2.devices.allow = c 195:255 rw
lxc.cgroup2.devices.allow = c 195:254 rw
lxc.cgroup2.devices.allow = c 509:0 rw
lxc.cgroup2.devices.allow = c 509:1 rw
lxc.cgroup2.devices.allow = c 10:144 rw
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-modeset dev/nvidia-modeset 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
lxc.mount.entry = /dev/nvram dev/nvram none bind,optional,create=file

Если у вас две и более карт, то добавляете еще строки:
lxc.mount.entry: /dev/nvidia1 dev/nvidia1 none bind,optional,create=file
... и т.д.

Сохраняем и стартуем контейнер


apt update && apt upgrade -y

Идете сюда: https://www.nvidia.com/Download/index.aspx#
выбираете драйвер и копируете ссылку на скачивание (она под кнопкой Agree & Download)

wget ссылка

chmod +x имя скачанного файла (например: chmod +x NVIDIA-Linux-x86_64-550.90.07.run)

./имя скачанного файла --no-kernel-module (например: ./NVIDIA-Linux-x86_64-550.90.07.run --no-kernel-module)
везде жмем enter

Reboot

nvidia-smi

Энжой!
 
Последнее редактирование:
Сверху