É possível passar um controlador USB para uma VM sem perder as portas do anfitrião?

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.

Sim, mas apenas quando as portas pretendidas pertencem a um controlador que pode ser isolado do anfitrião. O passthrough PCI atribui o controlador USB completo, não um conector, pelo que todas as portas ligadas a esse controlador são transferidas com ele.

As etiquetas na caixa não constituem um mapa fiável. Os conectores frontais, traseiros e internos podem partilhar um controlador, enquanto um único painel traseiro pode conter portas de dois controladores. Essa distinção determina a configuração segura, o método de validação e o ponto de reversão.

Mapeie os controladores, as portas e os grupos IOMMU

Liste os controladores USB PCI e os respetivos grupos IOMMU e, em seguida, ligue um dispositivo inofensivo a cada porta física e observe qual o controlador que o recebe. Guarde o mapa antes de alterar os controladores.

Na maioria dos sistemas, um grupo IOMMU é o limite mínimo para uma atribuição segura. Se o controlador pretendido partilhar um grupo com armazenamento, rede ou o único controlador USB do anfitrião, o passthrough pode remover mais do que o pretendido.

A solução mais simples para uma disposição inseparável é uma placa USB PCIe dedicada. Escolha uma placa cujo controlador não partilhe um grupo inseguro e cujo orçamento de energia seja adequado aos dispositivos ligados.

Decida com base nos sinais de sobrevivência do anfitrião

Mantenha o SSH ou outro caminho de gestão não baseado em USB ativo. Confirme que o teclado do anfitrião, o suporte de arranque, o cabo da UPS e o dispositivo de entrada do instalador não estão ligados ao controlador que vai ser reatribuído.

Ligue apenas a função PCI pretendida ao VFIO e reinicie. O anfitrião deverá manter o controlador restante e a VM deverá enumerar todas as portas do dispositivo transferido.

Consulte a tabela abaixo antes de ligar hardware insubstituível.

Estado observado Veredicto Próxima ação
Controlador dedicado e grupo limpo Transferir O anfitrião mantém os outros controladores
O controlador partilha um grupo com um dispositivo crítico Não transferir Adicionar uma placa USB separada
Propriedade da porta desconhecida Mapear primeiro Ainda não ligar dispositivos de produção

Transfira o controlador com um caminho de reversão

Registe o controlador e os parâmetros de arranque originais e, em seguida, altere um controlador de cada vez. Evite usar a substituição ACS como primeira medida, pois pode fazer com que os grupos pareçam separados sem alterar o isolamento do hardware subjacente.

Ligue o dispositivo PCI à VM e ative as opções necessárias da máquina e do IOMMU. Teste a ligação a quente, as transferências sustentadas, a reposição da VM e o reinício do anfitrião.

A análise do hardware do ZimaCube da ZimaSpace mostra por que motivo a disposição das expansões é importante.

O guia de passthrough VFIO da comunidade explica o agrupamento IOMMU e o isolamento de dispositivos.

-15% OFF

Volte a testar todas as portas físicas

Depois do arranque, teste todas as portas do anfitrião e todas as portas atribuídas à VM com armazenamento e um dispositivo HID de baixo risco. Verifique se o anfitrião continua acessível quando a VM é parada ou bloqueia.

Repita o teste após um ciclo completo de desligar e ligar a alimentação, pois o firmware pode reordenar os dispositivos ou alterar a inicialização. Mantenha um método de recuperação através da consola que não dependa do controlador transferido.

Avance apenas quando o controlador pretendido tiver um grupo seguro e o anfitrião mantiver a gestão e os dispositivos USB críticos. Pare se o armazenamento, a rede, a UPS ou toda a entrada do anfitrião desaparecerem com a função pretendida.

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.