Proxmox – LXC Container GPU Passthrough

Proxmox LXC container GPU passthrough

Nesse tutorial vamos realizar o compartilhamento da gpu para um container LXC, com isso podemos Trabalhar com Inteligência Artificial (IA).

Ao utilizar uma GPU Nvidia, você pode executar modelos de IA e aprendizado de máquina (Machine Learning) em suas máquinas virtuais, aproveitando ao máximo o potencial da sua placa gráfica.

Vamos ao que interessa!

Crei um container LXC linux Ubuntu ou Debian no proxmox, NÃO INICIE O CONTAINER AINDA, DEIXE ELE DESLIGADO!

Após criar, acesse via SHELL o host/nó que se encontra o container.

Execute o comando abaixo para listar as GPUs disponiveis/instalada no host:

# ls /dev/nvidia[0-9]
/dev/nvidia0  /dev/nvidia1

# ls /dev/dri/renderD12[0-9]
/dev/dri/renderD128  /dev/dri/renderD129

No meu caso possuo 2 GPUs que irei compartilhar com o container.

O próximo passo é editar o arquivo:

  • /etc/pve/nodes/<NODE NAME>/lxc/<CONTAINER ID>.conf

Voce deve substituir o <NODE NAME> pelo nome do nó, e o <CONTAINER ID> pelo id do container, essas informações você encontra no proxmox. Exemplo:

no arquivo vamos adicionar as seguintes linhas ao final do arquivo:

lxc.cgroup2.devices.allow: c 195:* rwm
lxc.cgroup2.devices.allow: c 243:* rwm
lxc.mount.entry: /dev/dri/renderD128 dev/dri/renderD128 none bind,optional,create=file
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

No meu caso, meu arquivo completo ficou da seguinte maneira:

Voce pode personalizar o arquivo adicionando as GPUs que deseja que o container LXC tenha acesso.

Agora inicie o container, e instale o nvidia-utils. Você deve acessar o container via SSH e executar o comando:

apt install nvidia-utils-<DRIVER VERSION>-server

O <DRIVER VERSION> deve ser o mesmo que foi instalado no HOST/NÓ conforme o tutorial “GPU Nvidia no Proxmox: Turbinando nosso Ambiente!

Para verificar se houve sucesso, execute o comando nvidia-smi, e você deverá ver a GPU.

# nvidia-smi
 
Fri Aug  8 01:20:40 2025       
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 570.158.01             Driver Version: 570.158.01     CUDA Version: 12.8     |
|-----------------------------------------+------------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  NVIDIA GeForce RTX 3060        Off |   00000000:41:00.0 Off |                  N/A |
| 47%   39C    P0             40W /  170W |       0MiB /  12288MiB |      0%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+
|   1  NVIDIA GeForce RTX 3060        Off |   00000000:C4:00.0 Off |                  N/A |
| 49%   37C    P0             40W /  170W |       0MiB /  12288MiB |      0%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+
                                                                                         
+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI              PID   Type   Process name                        GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
|  No running processes found                                                             |
+-----------------------------------------------------------------------------------------+