GPU Nvidia no Proxmox: Turbinando nosso Ambiente!

Tutorial de como configurar Proxmox e GPU Nvidia para IA/AI e Machine Learning (aprendizado de Maquina)

Que tal dar um upgrade na sua experiência de virtualização com Proxmox? Neste tutorial, vamos mostrar como instalar e configurar uma GPU Nvidia no Proxmox, para que você possa aproveitar ao máximo o potencial da sua placa gráfica.

Com uma GPU Nvidia, você pode executar aplicações gráficas intensivas em máquinas virtuais com desempenho otimizado, tornando sua experiência de virtualização muito mais rápida e eficiente. Além disso, você também pode:

  • Trabalhar com Inteligência Artificial (IA): Com a 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.
  • Compartilhar a GPU com Containers LXC: Você pode compartilhar a GPU Nvidia com containers LXC, permitindo que várias aplicações sejam executadas simultaneamente e aproveitem ao máximo o potencial da placa gráfica.
  • Compartilhar a GPU com Máquinas Virtuais (VMs): Você também pode compartilhar a GPU Nvidia com máquinas virtuais, permitindo que várias VMs sejam executadas simultaneamente e aproveitem ao máximo o potencial da placa gráfica.

O que você precisa saber:

  • Você tem uma placa-mãe compatível com a GPU Nvidia (óbvio!)
  • Você tem uma GPU Nvidia (idem!)
  • Você tem Proxmox instalado e configurado (se não, não se preocupe, siga esse tutorial: Instalando o Proxmox!)
  • Você tem um pouco de conhecimento básico de Linux e virtualização (mas não se preocupe se não for um expert, vamos explicar tudo de forma clara!)

Vamos ao que interessa!

Neste tutorial, vamos mostrar como instalar os drivers Nvidia, configurar a GPU para uso em máquinas virtuais e containers LXC, e criar máquinas virtuais e containers que aproveitem ao máximo o potencial da sua placa gráfica. Vamos lá!

Instalação e configuração no HOST PROXMOX

O primeiro passo é acessar via SSH o nó que possui a GPU e executar os comandos abaixo:

# Blacklist nouveau
echo "blacklist nouveau" > /etc/modprobe.d/blacklist-nouveau.conf
echo "options nouveau modeset=0" >> /etc/modprobe.d/blacklist-nouveau.conf

# Atualizar o initramfs
update-initramfs -u

Verifique se os drivers nouveau estão carregados no kernel

lsmod | grep nouveau

Caso seja exibida uma lista, será necessário descarregar os drivers com o comando:

rmmod nouveau
lsmod | grep nouveau

Agora verifique se a GPU está visivel para o Sistema Operacional (SO) com o comando:

lspci | grep NVIDIA

O próximo passo é realizar o download do driver nvidia mais recente (Driver from Nvidia):

cd /home
wget https://us.download.nvidia.com/XFree86/Linux-x86_64/570.172.08/NVIDIA-Linux-x86_64-570.172.08.run
chmod +x NVIDIA-Linux-x86_64-570.172.08.run

Agora precisamos instalar os pacotes necessários para compilar o driver:

apt install build-essential pve-headers-$(uname -r)

Caso receba um erro parecido com o abaixo, siga esse tutorial de configuração do repositório para resolver. Após realizar a configuração do repositório, execute o passo anterior, pois os headers do kernel são necessários para a instalação dos drivers nvidia.

root@server03:/home# apt install build-essential pve-headers-$(uname -r)
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
E: Unable to locate package pve-headers-6.8.12-9-pve
E: Couldn't find any package by glob 'pve-headers-6.8.12-9-pve'

Vamos iniciar a instalção dos driver nvidia executando:

./NVIDIA-Linux-x86_64-570.181.run

durante a instalação, escolheremos a opção:

E a instalação será iniciada:

Teremos algumas menssagems de alerta (Warning), basta apertar OK. Alerta não é erro! =D kkkk

Continuando a instalação …

nesse ponto, como no proxmox não possui interface gráfica instalada (area de trabalho), basta enviar um “NO”.

E por fim, agora temos nossa placa instalada!

Agora precisamos confirmar se a GPU foi instalada corretamente executando o comando:

nvidia-smi

a resposta ao comando deverá ser algo como (mostrando que possuimos uma gpu):

Com isso podemos compartilhar a GPU com os containers LXC! não deixe de conferir nossos tutoriais!

Espero que tenham gostado!