Aprenda a configurar o Proxmox vGPU para IA, VDI e renderização com configuração passo a passo, testes e insights de desempenho.
A Proxmox Server Solutions anunciou recentemente o suporte NVIDIA vGPU para seu hipervisor Virtual Environment (VE), desbloqueando um mundo totalmente novo de aceleração de GPU para renderização, VDI, IA e outros aplicativos. Junte-se a nós enquanto revisamos e o orientamos pelo novo conjunto de recursos do hipervisor e avaliamos seu desempenho.
Qual é o problema com o suporte a vGPU?
Se você não estiver familiarizado com o software vGPU da NVIDIA, ele permite que os recursos de computação e memória de uma GPU sejam particionados e distribuídos entre várias máquinas virtuais (VMs). Nessa configuração, as VMs alternam o uso do poder de processamento da GPU e alocam uma parte da memória da placa para suas necessidades. Essa abordagem permite que a GPU mantenha a utilização máxima, mesmo que as cargas de trabalho das VMs convidadas variem em intensidade.
Antes de começarmos… (Pré-requisitos)
Você precisará de algumas coisas antes de criar um ambiente de virtualização de GPU no Proxmox VE (PVE). Como muitos recursos de data center, o software vGPU da NVIDIA não é gratuito. Você precisará compra or inscreva-se para a versão de avaliação do seu software de GPU virtual e criar uma conta NVIDIA Enterprise. Em seguida, você deve obter um Placa compatível com vGPU e baixe os drivers apropriados do portal de licenciamento. Pegue as versões atuais dos drivers “Linux KVM”. No mínimo, baixe estes:
- Software vGPU: 18.0
- Driver do host: 570.124.03
- Driver convidado Linux: 570.124.06
- Driver convidado do Windows: 572.60
Utilizamos o NVIDIA L40S e um Dell PowerEdge R760 para este projeto.
Além disso, você precisará de um servidor de licenciamento dedicado (DLS) ou servidor de licenciamento em nuvem (CLS) para ativar a funcionalidade vGPU em seus convidados. Você pode encontrar um guia de início rápido clicando em aqui.
Em seguida, verifique se as configurações UEFI (BIOS) do seu servidor habilitam os recursos de virtualização adequados. Procure por VT-d or amd v, SR-IOV, acima da decodificação 4G, barra redimensionável e Interpretação de ID de roteamento alternativo (ARI) configurações e certifique-se de que todas estejam habilitadas.
Nota: Talvez você não encontre todos esses recursos no menu UEFI, pois alguns podem não estar expostos ao usuário.
Por último, verifique se você está usando uma versão adequada do Proxmox VE. A funcionalidade vGPU requer, no mínimo, o pve-manager versão 8.3.4, com kernel 6.18.12-8-pve ou mais recente. Você pode verificar as versões de software do seu nó PVE navegando até a aba “Summary” no servidor desejado, conforme mostrado abaixo:
O host com mais (configuração de vGPU do host Proxmox)
Agora que tudo está pronto, é hora de configurar o servidor Proxmox VE. Na interface web do seu servidor Proxmox VE, clique no nome do servidor no lado esquerdo da tela e selecione a aba “Shell”. Digite este comando na janela do console que aparece e pressione Enter quando terminar:
apt instalar pve-nvidia-vgpu-helper
Isso garantirá que a ferramenta de configuração vGPU esteja instalada no seu servidor, preparando-o para o suporte Proxmox vGPU. Depois que o servidor terminar de instalar o script ou informar que ele já está presente, execute mais um comando para executar a ferramenta.
configuração pve-nvidia-vgpu-helper
Responda “Y” a quaisquer perguntas e prossiga até que a janela do console retorne e o script seja concluído. Execute uma reinicialização rápida do servidor navegando até a aba “Summary” do servidor e clicando no botão “Reboot” ou digite o comando reboot na aba “Shell” do console e pressione Enter.
Em seguida, o driver do host vGPU da NVIDIA precisa ser carregado no servidor. Após o servidor concluir a reinicialização, use uma ferramenta de transferência SSH ou SCP, como WinSCP para copiar o driver do host para o nó.
Nota: Se você baixou todos os drivers juntos como uma pasta compactada (.zip), talvez seja necessário extrair seu conteúdo primeiro e escolher o arquivo “.run” da pasta “Host_Drivers”.
Coloque o arquivo no diretório “/home” do servidor e prepare-se para executar o instalador com os seguintes comandos.
cd /home chown root NVIDIA-Linux-x86_64-570.124.03-vgpu-kvm.run chmod +X NVIDIA-Linux-x86_64-570.124.03-vgpu-kvm.run ./NVIDIA-Linux-x86_64-570.124.03-vgpu-kvm.run --dkms
Nota: Substitua “NVIDIA-Linux-x86_64-570.124.03-vgpu-kvm.run” pelo nome real do driver que você baixou. Você pode usar o comando “ls” para mostrar o nome do arquivo depois que ele for colocado no diretório “/home”.
Agora que o driver foi instalado no servidor, estamos a apenas alguns passos de ter o lado host da nossa configuração Proxmox vGPU pronta! Antes de podermos marcar a GPU como um dispositivo que pode ser dividido entre máquinas virtuais, precisamos habilitar Single Root I/O Virtualization (SR-IOV). A NVIDIA define esse recurso como “…uma tecnologia que permite que um dispositivo PCIe físico se apresente várias vezes por meio do barramento PCIe. Essa tecnologia permite várias instâncias virtuais do dispositivo com recursos separados.” Como SR-IOV é uma peça crítica de tecnologia necessária para a funcionalidade básica de vGPU em GPUs modernas, configure-a para ligar na inicialização com o seguinte comando:
systemctl ativar --agora [email protegido]
Por fim, podemos mapear os recursos da GPU para dividi-los perfeitamente entre as VMs. Na interface web do servidor Proxmox VE, clique em “Datacenter” no canto superior esquerdo e role para baixo para selecionar a aba “Resource Mappings”.
Clique no botão “Adicionar” abaixo da seção “Dispositivos PCI” da página e preencha o campo “Nome:” na próxima janela com o nome que descreve a GPU que você está mapeando.
Em seguida, marque a caixa rotulada “Use with Mediated Devices” e certifique-se de que o menu suspenso “Mapping on Node” contenha o servidor com a GPU sendo mapeada. Role para baixo na lista de dispositivos, confirmando que todos os IDs de dispositivos têm “NVIDIA Corporation” presente na coluna “Vendor”. Se isso for verdade, clique na caixa de seleção no canto superior esquerdo da tabela para selecionar todos os dispositivos; caso contrário, selecione apenas os dispositivos com “NVIDIA Corporation” como fornecedor.
Nota: Se várias GPUs estiverem instaladas em seu sistema, você pode usar o comando “lspci” na aba “Shell” no servidor desejado para determinar os IDs que acompanham cada placa.
Ao terminar de selecionar o dispositivo, clique no botão “Create” no canto inferior direito da janela pop-up para confirmar sua seleção. Sua GPU NVIDIA agora está pronta para ser fatiada em vGPUs para os convidados do seu servidor Proxmox VE!
Atendendo os convidados (atribuindo vGPUs a máquinas virtuais)
As peças estão todas no lugar para começarmos a atribuir e usar vGPUs em nossas máquinas virtuais. Comece criando uma nova máquina virtual, como de costume, ou usando uma VM existente. Para nossa demonstração, usaremos uma máquina virtual Windows Server 2025.
Na interface web do servidor Proxmox VE, desligue a máquina virtual usando qualquer método que você achar adequado (console noVNC, menu de energia do convidado, etc.) e clique na aba “Hardware” do convidado.
No menu suspenso que aparece após clicar no botão “Adicionar”, selecione um “Dispositivo PCI”.
Na janela pop-up “Adicionar: Dispositivo PCI”, selecione o nome que você atribuiu à GPU mapeada por recursos no campo “Dispositivo:”.
Em seguida, clique no campo “MDev Type:” e observe a lista de opções de tipo de dispositivo mediado apresentadas. Você pode notar que cada escolha tem uma designação numérica e alfabética. O número representa a quantidade de VRAM atribuída ao convidado (em gigabytes), enquanto “A”, “B” e “Q” referem-se ao caso de uso da vGPU:
- Q – Estações de trabalho virtuais com drivers RTX Enterprise (requer licença RTX vWS)
- B – Desktops virtuais (requer licença NVIDIA Virtual PC ou licença RTX vWS)
- A – Soluções de aplicativos (requer uma licença NVIDIA Virtual Applications)
Nota: Você pode ler mais sobre os diferentes perfis vGPU e suas licenças necessárias aqui.
Para esta demonstração, usamos o perfil “NVIDIA L40S-12Q”. Após selecionar o tipo de dispositivo mediado desejado, finalize marcando a caixa de seleção “PCI-Express” e clicando no botão azul “Add”.
A VM agora tem uma vGPU atribuída a ela, mas ainda precisamos instalar o driver convidado e um token de licenciamento para fazer as coisas rolarem. Agora você pode ligar a máquina virtual e fazer login.
Após efetuar login, transfira o driver convidado NVIDIA vGPU adquirido anteriormente do portal de licenciamento para a VM da maneira que você quiser (SMB, SCP, download direto, etc.). Como alternativa, você pode criar e carregar um arquivo de CD-ROM virtual (.iso) contendo o driver para o armazenamento do seu servidor PVE usando um software como ImgBurn para implantar muitos convidados habilitados para vGPU simultaneamente.
Execute o arquivo do instalador do driver clicando duas vezes no executável e siga as instruções no menu de instalação que aparece.
Extraia o driver para o local padrão no campo “Caminho de extração:” e escolha a opção de instalação “Expressa” quando solicitado.
Após a conclusão da instalação do driver, clique no botão “FECHAR” para sair do menu.
Em seguida, precisaremos ativar a licença vGPU no convidado. Os métodos de ativação podem diferir significativamente dependendo se você selecionar um servidor de licença dedicado (DLS) ou servidor de licença em nuvem (CLS) e seu sistema operacional. Siga as instruções da NVIDIA Guia de início rápido do sistema de licenças e Guia do usuário de licenciamento de cliente para obter etapas detalhadas sobre como ativar clientes para sua configuração específica.
Usamos um servidor de licença em nuvem e recebemos um arquivo de token para colocar nos convidados para ativação. Mova esse arquivo para o convidado e copie-o para a pasta “C:\Program Files\NVIDIA Corporation\vGPU Licensing\ClientConfigToken”.
Em seguida, é necessário reiniciar o convidado para concluir o processo de ativação.
Seguindo todas as etapas de configuração do host e do convidado detalhadas aqui, você deve estar pronto para executar programas e aplicativos que exigem uma GPU. Não se esqueça de habilitar o Remote Desktop Protocol (RDP) ou instalar seu software de desktop remoto favorito em seus convidados após a reinicialização para aproveitar a bondade da visualização remota acelerada por GPU!
Acelerando o motor (testando o Proxmox vGPU)
Agora que temos alguns servidores virtuais com GPUs virtuais, vamos dar uma volta com eles! Cada uma das nossas VMs foi configurada com 8 vCPUs Intel Xeon Platinum 8580 pinadas (4 núcleos hyperthreaded), 32 gigabytes de RAM ECC DDR5 4800 MT/s registrada e o perfil de vGPU NVIDIA L40S-12Q (estação de trabalho virtual) com 12 gigabytes de VRAM. Você pode ver a configuração completa de hardware das máquinas virtuais abaixo:
Cinebench 2024
Com base no software de modelagem e animação Cinema 4D da Maxon, o Cinebench 2024 oferece uma visão interessante e objetiva do desempenho de renderização em vGPUs. Vamos comparar todo o poder do L40S em seu perfil “48Q” (todos os 48 gigabytes de VRAM) com uma máquina virtual versus quatro VMs executando o perfil “12Q”.
Embora não faça muito sentido ter uma máquina virtual monopolizando o L40S inteiro, podemos ver que o desempenho é impressionante com 21,147 pontos no benchmark de GPU de passagem única. No entanto, dividir a GPU em quatro partes mostra o impacto da abordagem de fatiamento de tempo da NVIDIA para compartilhar os núcleos CUDA da GPU, com pontuações individuais variando de 2,514 a 2,567 quando o benchmark foi executado simultaneamente em todas as VMs.
Executar novamente o teste em uma única máquina virtual com o perfil “12Q” e as outras três VMs ociosas aumenta a pontuação de volta para 15,133. Não é exatamente um retorno à pontuação total da GPU, mas ainda é respeitável para uma vGPU particionada.
Referências do Blender
Vamos continuar com mais alguns benchmarks de renderização com o Blender. Seguindo tendências semelhantes ao Cinebench 2024, dividir a GPU em quatro partes resulta em desempenho total dramaticamente menor quando comparado a uma única máquina virtual executando a mesma carga de trabalho no mesmo perfil.
Conforme demonstrado no benchmark Monster, apenas quatro VMs compartilhando o poder de computação da GPU significa que o desempenho de renderização individual pode ser tão baixo quanto 8% de uma única VM com o mesmo perfil. No entanto, observamos uma máquina virtual ganhando uma grande vantagem sobre as outras — até 2.4 vezes a pontuação do pior desempenho.
Os benchmarks Junkshop e Classroom contam histórias semelhantes, com grandes quedas no desempenho de três das quatro VMs e um único convidado obtendo uma pontuação muito mais alta do que os outros.
Curiosamente, parece haver breves momentos em que a vGPU de uma máquina virtual recebe maior prioridade e assume uma liderança significativa. Por exemplo, durante o benchmark Classroom, nossa segunda VM Windows Server 2025 (WIN2025-2) atingiu mais do que o triplo do desempenho de seus pares, apesar de ser executada simultaneamente. Embora não possamos determinar precisamente se isso se deve ao agendamento do software vGPU ou à natureza da própria GPU, isso destaca algumas estranhezas de desempenho sinônimas da abordagem de time-slicing-only da NVIDIA com esta placa.
Conclusão
A configuração e o suporte para o software vGPU da NVIDIA podem não ser tão refinados quanto outras plataformas concorrentes. Ainda assim, é um recurso interessante e valioso para organizações e homelabbers que já executam sistemas Proxmox Virtual Environment. Embora o desempenho seja significativamente reduzido ao dividir recursos de GPU, muitas organizações ainda aproveitam a tecnologia vGPU da NVIDIA e determinaram que compartilhar uma GPU supera essa desvantagem. Essa atitude foi adotada por muitos hyperscalers e data centers com espaço restrito, onde amontoar o máximo de inquilinos (neste caso, máquinas virtuais com vGPUs) no menor espaço possível é a opção mais eficiente e lucrativa.
A recente e rápida expansão de recursos da Proxmox Server Solutions, como rede definida por software, suporte ao kernel Linux 6.11 e um sistema de gerenciamento de data center dedicado mostra um progresso significativo e prova que está se tornando uma escolha válida na arena do hipervisor. Esperamos ver um desenvolvimento contínuo neste espaço e estamos ansiosos para contar mais sobre ferramentas e tecnologias interessantes que chegarão ao PVE em breve!
Envolva-se com a StorageReview
Newsletter | YouTube | Podcast iTunes/Spotify | Instagram | Twitter | TikTok | RSS feed