-
O que é o PCI Passthrough no Proxmox?
-
Requisitos de Hardware e Compatibilidade
-
Validando o Suporte de Hardware Antes da Configuração
-
Habilitando o IOMMU na BIOS
-
Configurando o Proxmox VE para o PCI Passthrough
-
Preparando Dispositivos para Atribuição por Passagem Direta
-
Atribuição de Dispositivos a Máquinas Virtuais Usando a Interface Web
-
Validação Pós-Passagem no Sistema Operacional Convidado
-
Dicas Avançadas e Cenários de Solução de Problemas
-
Solução de Backup de Nível Empresarial para suas VMs Proxmox
-
Perguntas frequentes sobre o PCI Passthrough no Proxmox
-
Conclusão
O PCI passthrough é um dos recursos mais poderosos do Proxmox VE. Ele permite atribuir diretamente dispositivos PCIe físicos—como GPUs, placas de rede (NICs) ou controladores de armazenamento—às suas máquinas virtuais. Isso pode melhorar o desempenho, reduzir a latência e habilitar cargas de trabalho avançadas que exigem acesso direto ao hardware. Mas como configurá-lo? Neste guia, abordaremos desde os conceitos básicos até a resolução avançada de problemas, para que você possa dominar o pci passthrough no Proxmox em seu ambiente.
O que é o PCI Passthrough no Proxmox?
O PCI passthrough permite que uma VM controle um dispositivo PCIe físico como se ele estivesse instalado diretamente em sua própria placa-mãe. Ao atribuir um dispositivo usando o pci passthrough no Proxmox, esse dispositivo torna-se invisível para o sistema hospedeiro até que seja liberado pela VM — trata-se de isolamento real de hardware.
Por que isso é importante? Algumas cargas de trabalho precisam de acesso direto a hardware especializado por motivos de velocidade ou compatibilidade:
Atribuir uma GPU para aprendizado de máquina ou codificação de vídeo.
Passagem por uma NIC de alta velocidade para dispositivos de rede.
Atribuir um controlador de armazenamento a ZFS ou a outros sistemas de arquivos dentro de uma VM.
No cerne desta funcionalidade está a IOMMU (Unidade de Gerenciamento de Memória Entrada-Saída). A IOMMU mapeia com segurança os acessos à memória dos dispositivos entre máquinas virtuais e a RAM física. Nas plataformas Intel, isso é denominado VT-d; na AMD, é conhecido como AMD-Vi ou Modo SVM. Sem suporte à IOMMU tanto no nível da CPU quanto no nível da placa-mãe, o redirecionamento PCI no Proxmox não funcionará de forma confiável — ou sequer funcionará.
A maioria das CPUs modernas de classe servidor suporta nativamente esses recursos, mas verifique sempre a documentação do modelo específico antes de começar.
Requisitos de Hardware e Compatibilidade
Antes de configurar o PCI passthrough no Proxmox, certifique-se de que seu hardware o suporta integralmente — caso contrário, você poderá encontrar obstáculos frustrantes posteriormente.
Primeiro: Suporte da CPU
As CPUs Intel devem suportar VT-d.
As CPUs AMD exigem o modo AMD-Vi/SVM.
Verifique as especificações do seu processador online, caso tenha dúvidas; procure por “VT-d” (Intel) ou “AMD-Vi”/“SVM” (AMD).
Segundo: Suporte à placa-mãe
Nem todos os chipsets implementam a funcionalidade completa do IOMMU—mesmo que sua CPU o faça! Placas de servidor geralmente funcionam melhor; algumas placas para consumidores fazem cortes nesse aspecto.
Procure o modelo da sua placa no site do fabricante ou pesquise fóruns comunitários por relatos de sucesso com o PCI passthrough no Proxmox.
Terceiro: Compatibilidade do dispositivo
A maioria dos dispositivos PCIe pode ser passada diretamente — incluindo GPUs (NVIDIA/AMD/Intel), NICs, controladores USB e placas RAID —, mas alguns apresentam peculiaridades:
Dispositivos multifuncionais podem exigir que todas as funções sejam passadas em conjunto.
Placas compatíveis com SR-IOV podem apresentar múltiplas funções “virtuais” para compartilhamento entre VMs.
Se possível, teste primeiro com hardware de reposição antes de implantar cargas de trabalho críticas!
Quarto: Configurações do firmware
Atualize o firmware BIOS/UEFI antes de iniciar — versões mais antigas podem não ter opções essenciais de virtualização exigidas pelo Proxmox VE 7.x+.
Validando o Suporte de Hardware Antes da Configuração
Vale a pena verificar a compatibilidade antes de efetuar alterações:
1. Inicie o shell do Proxmox.
2. Execute lscpu — confirme se as flags de virtualização estão presentes (vmx para Intel; svm para AMD).
3. Verificar dispositivos PCI disponíveis:
lspci -nnk
Identifique quais dispositivos pretende atribuir posteriormente.
4. Pesquisar os registros dmesg:
dmesg | grep -i iommu
Se nada aparecer sobre a ativação do IOMMU após a inicialização — mesmo após habilitar as configurações da BIOS — talvez seja necessário utilizar hardware diferente ou atualizações de firmware.
Ao confirmar estes pontos agora, você evita perder tempo solucionando configurações não suportadas posteriormente!
Habilitando o IOMMU na BIOS
A habilitação do IOMMU no nível de firmware é essencial — todo o restante da passagem direta de PCI no Proxmox depende disso funcionar corretamente desde a inicialização:
1. Reinicie seu servidor e acesse a configuração da BIOS/UEFI (pressione Delete, F2 ou tecla semelhante durante a inicialização).
2. Localize as configurações de virtualização em Avançado > Configuração da CPU ou nos menus Chipset.
Para Intel: Ative VT-d/Tecnologia de Virtualização Intel para E/S Direcionada.
Para AMD: Ative o Modo SVM, o AMD-Vi ou simplesmente o IOMMU, conforme a redação do menu.
3. Defina como Habilitado qualquer opção encontrada relacionada a “IOMMU”, “VT-d” ou “Modo SVM”.
4. Se disponível, ative os Serviços de Controle de Acesso (ACS) — isso ajuda a isolar dispositivos multifuncionais em grupos separados, evitando que interfiram uns com os outros durante a atribuição.
5. Salvar alterações (F10) e sair da configuração do BIOS/UEFI.
Se não tiver certeza se as configurações surtiram efeito após reiniciar novamente no Proxmox:
dmesg | grep -e DMAR -e IOMMU
Você deve ver linhas como DMAR: IOMMU habilitado (Intel) ou AMD-Vi: IOMMU habilitado (AMD).
Sem uma configuração adequada do firmware aqui, nenhuma quantidade de ajustes de software fará o PCI passthrough no Proxmox funcionar!
Configurando o Proxmox VE para o PCI Passthrough
Com o firmware pronto, vamos configurar o próprio Proxmox passo a passo:
Etapa 1: Determine o tipo do seu bootloader
O Proxmox utiliza o GRUB (o mais comum) ou o systemd-boot, conforme o método de instalação:
Executar:
efibootmgr -v
Se a saída mencionar systemd-boot, é isso que você está usando; caso contrário, assuma o GRUB, salvo se tiver sido instalado personalizadamente de outra forma.
Por que isso é importante? A forma como definimos os parâmetros do kernel difere entre eles — e esses parâmetros são fundamentais para ativar, no momento da inicialização, os recursos de passagem direta PCI (PCI passthrough) no Proxmox!
Etapa 2: Editar os parâmetros de inicialização do kernel
Os parâmetros do kernel indicam ao Linux como lidar com as extensões de virtualização durante a inicialização inicial:
Para usuários do GRUB:
1. Abra /etc/default/grub em um editor:
nano /etc/default/grub
2. Localize a linha que começa com GRUB_CMDLINE_LINUX_DEFAULT.
3a. Em processadores Intel, adicione:
quiet intel_iommu=on iommu=pt
3b. Em processadores AMD, adicione:
quiet amd_iommu=on iommu=pt
Observação: Núcleos modernos muitas vezes ativam automaticamente a AMD-Vi se a SVM/IOMMU estiver habilitada na BIOS — contudo, adicionar ambas as opções garante confiabilidade mesmo após atualizações!
4. Salvar arquivo (Ctrl+X, depois Y, depois Enter).
5. Atualize a configuração do GRUB para que as alterações entrem em vigor na próxima reinicialização:
update-grub
Para usuários do systemd-boot:
1. Abra /etc/kernel/cmdline:
  nano /etc/kernel/cmdline
2. Adicione os parâmetros adequados conforme indicado acima (intel_iommu=on iommu=pt OU amd_iommu=on iommu=pt) no final da linha, após as entradas existentes, como as informações de root/zfs.
3. Salve o arquivo e, em seguida, atualize a configuração do bootloader:
proxmox-boot-tool refresh
O que essas opções significam?
intel_iommu=on: Ativa o mecanismo VT-d nos chipsets Intel compatíveis;amd_iommu=on: Ativa funcionalidade equivalente em chipsets AMD compatíveis;iommu=pt: Define o modo de passagem direta, para que dispositivos não utilizados não sejam impedidos de serem atribuídos;quiet: Reduz o ruído no console durante a inicialização — não é estritamente necessário, mas mantém os registros organizados!
Etapa 3: Carregar os módulos do kernel VFIO
Os módulos VFIO (“Entrada/Saída de Função Virtual”) permitem a transferência segura de dispositivos PCIe do espaço do kernel do sistema operacional hospedeiro diretamente para máquinas virtuais convidadas por meio da pilha QEMU/KVM:
Edite o arquivo /etc/modules para que esses módulos sejam carregados automaticamente a cada inicialização:
nano /etc/modules
Adicione linhas na parte inferior, se ainda não estiverem presentes:
vfio vfio_iommu_type1 vfio_pci vfio_virqfd # Opcional, mas melhora a estabilidade no tratamento de interrupções!
Salve o arquivo ao concluir (Ctrl+X, depois Y).
Etapa 4: Atualizar o initramfs e reiniciar o servidor
A atualização do initramfs garante que os novos drivers/configurações sejam incluídos já nas primeiras fases do processo de inicialização do Linux:
Execute ambos os comandos abaixo como usuário root/sudo:
update-initramfs -u -k all reboot
Após a reinicialização ser concluída com sucesso, prossiga imediatamente para as etapas de verificação abaixo — não as ignore!
Passo 5: Verifique se tudo está funcionando até agora
Ao voltar online, execute as seguintes verificações:
Verifique se o IOMMU foi ativado corretamente—
dmesg | grep -e DMAR -e IOMMU
Procure mensagens de confirmação como "DMAR: IOMMU ativado" (Intel) ou "AMD-Vi: Encontrado" / "IOMMU ativado" (AMD).
Verificar o status do remapeamento de interrupções—
dmesg | grep 'remapping'
Espere linhas como "DMAR-IR: Remapeamento de IRQ ativado...", indicando funcionamento correto — um requisito essencial, especialmente ao atribuir GPUs/placas de rede que exigem interrupções MSI/MSI-X dentro das máquinas virtuais!
Se algum dos comandos não retornar nada relevante, verifique cuidadosamente as etapas anteriores antes de prosseguir com a configuração do PCI passthrough no Proxmox!
Preparando Dispositivos para Atribuição por Passagem Direta
Agora começa a preparação real dos dispositivos — o cerne de qualquer implantação bem-sucedida de passagem direta PCI no Proxmox! Veja como garantir uma transferência segura do kernel do host para o contexto da máquina virtual convidada...
Verifique o isolamento do dispositivo usando grupos IOMMU
Cada dispositivo PCIe está inserido em um "grupo IOMMU". Dispositivos que compartilham o mesmo grupo não podem ser atribuídos de forma independente — eles devem ser movidos juntos devido aos recursos de barramento compartilhados/limitações de hardware impostas pelo próprio projeto do chipset!
Para listar os grupos de forma clara, execute—
find /sys/kernel/iommu_groups/ -type l | sort | while read link; do \ group=$(echo $link | cut -d'/' -f5); \ device=$(basename $link); \ echo "Grupo $group : $(lspci -nns $device)"; done;
Identifique o(s) dispositivo(s) de destino — se estiver(em) em um grupo isolado, ótimo! Caso contrário, tente mover fisicamente a(s) placa(s) entre os encaixes OU ativar a substituição do ACS («Serviços de Controle de Acesso») na BIOS, se disponível...
Como último recurso, considere apenas adicionar o parâmetro do kernel—
pcie_acs_override=downstream,multifunction
para dividir grupos teimosos—mas tenha cuidado com as implicações de segurança, pois as garantias rigorosas de isolamento são perdidas ao usar truques de substituição!
Colocar os drivers do host na lista negra para que não assumam o controle do dispositivo em primeiro lugar
Nos casos de muitas GPUs, NICs e controladores de armazenamento, os drivers padrão do Linux assumem o controle muito cedo, impedindo uma transferência limpa para o VFIO... Solução? Colocar esses drivers explicitamente na lista negra—
Edite /etc/modprobe.d/blacklist.conf :
Para GPUs NVIDIA, adicione as seguintes linhas—
blacklist nouveau blacklist nvidia blacklist nvidiafb blacklist nvidia_drm
Para GPUs AMD, adicione—
blacklist amdgpu blacklist radeon
Para iGPUs Intel, adicione—
lista negra i915
Salve o arquivo ao concluir! Observação—apenas para servidores sem interface gráfica; não inclua na lista negra o adaptador de exibição primário utilizado pelo console do host, a menos que exista um caminho alternativo de gerenciamento remoto...
Vincular IDs do dispositivo ao driver VFIO na inicialização
Encontre os IDs do fabricante/dispositivo usando—
lspci -nnk # Pesquisar formato [vendorID]:[deviceID] # Exemplo de trecho de saída...# 01:00.0 Controlador compatível com VGA [0300]: Corporação NVIDIA GP107GL [Quadro P400] [10de:1cb3] # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^ # Descrição &......# 01:00.0 Controlador compatível com VGA [0300]: Corporação NVIDIA GP107GL [Quadro P400] [10de:1cb3] # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^ # Descrição &......# 01:00.0 Controlador compatível com VGA [0300]: Corporação NVIDIA GP107GL [Quadro P400] [10de:1cb3] # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^ # Descrição &......# 01:00.1 Dispositivo de áudio [0403]: Controlador de áudio de alta definição GP107GL da NVIDIA Corporation [10de:0fb9] # # Ambos os IDs devem ser vinculados juntos! # nano /etc/modprobe.d/vfio.d/vfio.conf # Adicione a linha abaixo, substituindo os IDs conforme adequado.opções vfio-pci ids=10de:1cb3,10de:0fb9 # update-initramfs -u -k all # Reconstruir o initramfs novamente! reboot # É necessário reiniciar mais uma vez.Agora, o driver VFIO reivindica automaticamente essas IDs exatas toda vez que o sistema é inicializado — nenhuma intervenção manual será necessária a partir de agora..# 01:00.# 01:00...
Atribuição de Dispositivos a Máquinas Virtuais Usando a Interface Web
Com os preparativos concluídos, atribuir hardware real por meio da interface web é simples, mas poderoso...
1. Selecione a máquina virtual de destino na árvore de navegação à esquerda no painel de controle da interface web;
2. Acesse a guia Hardware;
3. Clique no botão em negrito rotulado como Add e escolha a opção “PCI Device”;
4. Na caixa de diálogo, selecione o modo “Raw Device” e, em seguida, escolha a entrada desejada que corresponda à saída anterior do comando lspci;
5. Para cartões multifunção, selecione as caixas de verificação “All Functions” E “Primary GPU”, conforme aplicável;
6. As opções avançadas incluem alternar «PCI Express», «ROM-Bar», etc. — habilite apenas se recomendado pela documentação do fabricante ou por guias da comunidade específicos ao tipo/modelo do cartão!
7. Clique no botão em negrito rotulado como "Add".
Inicie/reinicie a VM posteriormente — o sistema operacional convidado deve agora detectar o dispositivo físico real, tal como faria em uma instalação direta em hardware...
Validação Pós-Passagem no Sistema Operacional Convidado
Atribuir não é suficiente — você quer provas de que tudo funciona conforme o previsto! Veja como os administradores validam rapidamente o sucesso, independentemente de estarem executando convidados Windows ou Linux...
Nos convidados Linux
Abra a janela do terminal dentro do sistema operacional convidado e execute—
lspci | grep VGA # Deve mostrar a string esperada do modelo/fornecedor da GPU.lsmod | grep vfio_pci # Deve confirmar que o módulo vfio-pci está carregado ativamente.dmesg # Verifique o buffer de log próximo ao final em busca especificamente de erros/avisos que mencionem o(s) dispositivo(s) passado(s)! glxinfo # Verificação útil para confirmar se o renderizador OpenGL corresponde ao nome/versão esperada da GPU dedicada.ethtool <interface> # Para NICs, confirma se a velocidade da ligação e as funcionalidades correspondem às expectativas.smartctl # Para controladores de armazenamento, valida dados SMART visíveis, verificáveis etc..
Nos convidados Windows
Abra o Gerenciador de Dispositivos e procure em Adaptadores de Vídeo/Controladores de Som/etc.—Itens passados aparecem sem triângulos de aviso/marcas de exclamação assim que os drivers corretos forem instalados.......
Se aparecer um código de erro (“Erro 43” é comum em placas NVIDIA): veja as dicas de solução de problemas abaixo sobre a ocultação da assinatura do hipervisor e soluções alternativas!
Sugestão de ferramenta opcional — para análises detalhadas, utilize o utilitário NirSoft DevManView, que fornece uma análise detalhada, incluindo campos de versão/data/estado do driver para cada componente detectado...
Dicas Avançadas e Cenários de Solução de Problemas
Até administradores experientes enfrentam dificuldades, às vezes... Aqui estão soluções comprovadas que abrangem a maioria dos problemas mais frequentes observados na implantação de PCI passthrough no Proxmox atualmente—
Defina sempre o tipo de máquina VM = q35 + combinação de firmware UEFI OVMF sempre que possível — isso maximiza a compatibilidade, especialmente com atribuições de GPU!
Transfira TODAS as funções pertencentes ao mesmo cartão juntas, por exemplo, gráficos + áudio HDMI; caso contrário, convidados Windows/Linux podem falhar na inicialização silenciosamente!
Instale os drivers oficiais mais recentes DENTRO DO SISTEMA OPERACIONAL CONVIDADO—não no host—para qualquer placa/controlador que estiver sendo atribuído…
Solução alternativa para o Código de Erro 43 da NVIDIA — no arquivo de configuração da VM (.conf localizado em
/etc/pve/qemu-server/<vmid>.conf), adicione a linha:args:-cpu host,kvm=on,hv_vendor_id=null. Isso oculta a assinatura do KVM/QEMU, enganando as verificações do driver…Algumas GPUs AMD mais antigas/de faixa média sofrem com um erro de reinicialização que impede sua reutilização em várias inicializações/paradas sem uma reinicialização fria… Solução? Instale o módulo DKMS de código aberto
vendor-resetno lado do host, seguindo atentamente as instruções do GitHub…Se ocorrerem erros de mapeamento de interrupção, tente adicionar o parâmetro do kernel:
vfio_iommu_type1.allow_unsafe_interrupts=1. Utilize apenas como medida temporária até que a correção adequada seja implementada, pois isso desativa as verificações rigorosas de segurança…A passagem de controladores USB geralmente exige todo o hub/grupo devido a limitações no projeto do chipset… Confirme o agrupamento por meio de scripts anteriores ou da saída do comando lspci…
SSDs NVMe expirando? Adicione a flag do kernel:
nvme_core.default_ps_max_latency_us=0.Lembre-se: documente sempre todas as alterações feitas ao longo do caminho, para que a reversão ou a solução de problemas permaneça fácil, mesmo meses depois…
Solução de Backup de Nível Empresarial para suas VMs Proxmox
Depois de configurar cargas de trabalho avançadas utilizando o redirecionamento PCI no Proxmox VE, é fundamental proteger essas máquinas virtuais contra eventos de perda de dados — desde exclusões acidentais até ataques de ransomware ou falhas de hardware — o que nos leva naturalmente à consideração de estratégias de backup especialmente adaptadas a ambientes empresariais como o seu.
O Vinchin se destaca como uma solução profissional de backup de máquinas virtuais, projetada especificamente com as necessidades empresariais em mente — oferecendo suporte robusto não apenas ao Proxmox VE, mas também ao VMware vSphere/ESXi/vCenter, Hyper-V, oVirt/RHV/OLVM, XCP-ng/XenServer/Citrix Hypervisor e ambientes de nuvem OpenStack KVM/ZStack/Huawei FusionCompute/H3C CAS UIS/Sangfor HCI — um total de mais de quinze plataformas de virtualização líderes mundiais! Como você está trabalhando especificamente com o Proxmox aqui, a integração nativa do Vinchin garante fluxos de trabalho de proteção perfeitamente integrados, adaptados exatamente à arquitetura desta plataforma, além das demais mencionadas acima, caso infraestruturas híbridas venham a ser adotadas no futuro.
Os principais destaques incluem a tecnologia de backup incremental perpétuo, que minimiza o uso de armazenamento ao capturar apenas os blocos alterados após um backup completo inicial, bem como mecanismos integrados de deduplicação e compressão, que reduzem drasticamente a ocupação dos backups sem comprometer a velocidade de restauração. A Vinchin também permite migração V2V entre plataformas entre hipervisores suportados, oferecendo flexibilidade às equipes de TI durante atualizações ou transições para a nuvem. Outras funcionalidades de destaque incluem backups agendados e repetitivos, criptografia de dados, transmissão multithread, política de retenção GFS e capacidades de restauração granular — tudo acessível por meio de um console baseado na web, intuitivo e projetado para que até mesmo não especialistas possam dominá-lo rapidamente.
Fazer o backup de uma VM Proxmox leva apenas quatro etapas simplificadas na interface web do Vinchin:
(1) Selecione a VM de destino do inventário;

(2) Escolha o armazenamento de backup preferido;

(3) Configure estratégias de backup;

(4) Enviar tarefa — com monitoramento de progresso integrado.

Não é necessária nenhuma programação complexa, e as operações de recuperação são igualmente diretas, graças às ferramentas de restauração imediata e recuperação granular integradas à confiável arquitetura de motor da Vinchin, amplamente utilizada globalmente por milhares de organizações, tanto grandes quanto pequenas.Baixe gratuitamente sua versão de teste completa, válida por sessenta dias, e experimente pessoalmente uma implantação sem esforço — basta clicar abaixo, começar agora e proteger o que mais importa hoje mesmo!
Perguntas frequentes sobre o PCI Passthrough no Proxmox
P1: Como posso reverter com segurança meu servidor caso minha GPU passada cause uma tela preta após a reinicialização?
A1: Conecte-se remotamente via SSH, edite os arquivos de lista negra/vfio.conf, remova as entradas problemáticas, atualize o initramfs e reinicie; como alternativa, use a porta de gráficos integrados, se disponível.
P2: Por que meu controlador USB desaparece tanto do host quanto do convidado após a atribuição?
A2: Muitos hubs/controladores USB compartilham seu grupo; sempre passe o grupo inteiro em vez de uma única função, sempre que possível.
Conclusão
O PCI passthrough liberta todo o potencial do Proxmox VE, concedendo às VMs acesso direto ao hardware e oferecendo um desempenho quase nativo para GPUs, NICs e controladores de armazenamento. O sucesso depende da estrita compatibilidade de hardware (CPU, suporte IOMMU na motherboard) e da configuração precisa — activando o IOMMU na BIOS, ligando os dispositivos aos controladores VFIO e isolando as funções correctamente. Embora a configuração exija atenção aos detalhes, a recompensa em termos de latência reduzida e suporte de cargas de trabalho especializadas é substancial. Valide sempre os grupos através de lspci/dmesg e utilize a interface web do Proxmox para a atribuição. Domine estas etapas e o PCI passthrough tornar-se-á uma ferramenta transformadora no seu arsenal de virtualização.
Partilhar em: