É possível partilhar uma GPU integrada entre uma VM e contentores no host?

Eva Wong é a Redatora Técnica e e entusiasta residente na ZimaSpace. Uma geek de longa data com paixão por homelabs e software de código aberto, ela é especialista em traduzir conceitos técnicos complexos em guias acessíveis e práticos . Eva acredita que o auto-hospedagem deve ser divertida, não intimidante. Através dos seus tutoriais, ela capacita a comunidade adesmistificar configurações de hardware , desde a construção do seu primeiro NAS até dominar os contêineres Docker., from building their first NAS to mastering Docker containers.

Por vezes. O passthrough PCI completo atribui à VM toda a GPU integrada, pelo que os contentores do anfitrião normalmente perdem o acesso. A partilha requer suporte de hardware e de controladores para dispositivos mediados, Intel GVT-g em determinadas plataformas mais antigas ou funções virtuais SR-IOV em plataformas mais recentes compatíveis.

O acesso dos contentores é uma camada separada: normalmente, os contentores partilham o kernel do anfitrião e utilizam dispositivos de renderização, como `/dev/dri/renderD128`. Uma VM necessita de uma função de GPU virtualizada ou de um dispositivo mediado, e não desse nó de dispositivo do anfitrião. Esta distinção determina a configuração segura, o método de validação e o ponto de reversão.

Identifique o modo de virtualização suportado pela sua plataforma

Comece pela geração exata do CPU, pelo ID PCI da iGPU, pelo firmware, pelo kernel do anfitrião e pelo controlador. Um guia para uma geração Intel pode não se aplicar a outra, e alguns métodos de partilha foram descontinuados ou requerem módulos externos à árvore principal.

Se apenas for suportado o passthrough completo, escolha a VM ou o anfitrião para a aceleração. Não espere que um contentor do anfitrião mantenha o Quick Sync depois de o controlador do anfitrião ser desvinculado.

Se forem suportados SR-IOV ou dispositivos mediados, mantenha a função física no anfitrião e atribua uma função virtual ou um mdev à VM. Confirme o comportamento de reposição e do controlador antes de o considerar pronto para produção.

Utilize sinais de capacidade e de carga de trabalho

Verifique se o anfitrião continua a expor um nó de renderização e se a VM deteta a GPU virtual atribuída. Execute descodificação ou codificação por hardware em ambos os ambientes, em vez de depender das listagens de dispositivos.

Monitorize a utilização dos motores da GPU, os erros, a pressão de memória e os registos do kernel durante transcodificações simultâneas. A capacidade partilhada não garante um desempenho previsível nem suporte para codecs.

Utilize a tabela abaixo para escolher um modelo de funcionamento seguro.

Estado observado Veredicto Próxima ação
Passthrough PCI completo Utilização exclusiva pela VM Os contentores do anfitrião perdem a iGPU
mdev/GVT-g suportado Partilha em frações Específico da geração
SR-IOV suportado PF no anfitrião, VF na VM Validar o ciclo de vida do controlador

Configure o menor privilégio e o controlo das atualizações

Conceda aos contentores do anfitrião apenas o dispositivo de renderização e as permissões de grupo necessárias, e não acesso privilegiado abrangente. Na VM, instale o controlador correspondente à função virtualizada e mantenha uma alternativa de renderização por software para manutenção.

Fixe as combinações funcionais de kernel e controlador até que a atualização seguinte passe um teste de laboratório. Os módulos SR-IOV experimentais podem deixar de funcionar após atualizações do kernel ou do firmware, por isso documente os passos de remoção e recuperação.

A visão geral da expansão da GPU do ZimaCube da ZimaSpace fornece contexto sobre o hardware.

Um guia independente sobre partilha de GPU em homelabs apresenta o passthrough completo, os dispositivos mediados e o SR-IOV.

-15% OFF

Volte a testar após o reinício e sob carga simultânea

Arranque o anfitrião a frio, inicie primeiro os contentores e depois a VM; repita pela ordem inversa. Ambos os caminhos devem recuperar sem voltar a associar manualmente os controladores.

Execute a carga de trabalho simultânea real durante tempo suficiente para revelar limitação térmica e falhas de reposição. Em seguida, reinicie a VM sem reiniciar o anfitrião e confirme que os contentores mantêm a aceleração.

Avance apenas quando a plataforma exata suportar um modo de partilha e resistir a testes de carga simultânea e de reinício. Pare se o anfitrião perder o nó de renderização, se a VM não conseguir ser reposta ou se a solução depender de um controlador sem manutenção que não possa fixar em segurança.

Suporte e Dicas

Mais para Ler

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.