Puoi assegnare un controller USB a una VM senza perdere le porte host?

Eva Wong è la Technical Writer e smanettatrice residente di ZimaSpace. Una geek da sempre con una passione per homelab e software open-source, si specializza nel tradurre concetti tecnici complessi in guide accessibili e pratiche. Eva crede che l'auto-ospitare debba essere divertente, non intimidatorio. Attraverso i suoi tutorial, dà potere alla comunità di demistificare le configurazioni hardware, dalla costruzione del loro primo NAS al dominio dei container Docker.

Sì, ma solo quando le porte che vuoi assegnare appartengono a un controller che può essere isolato dall'host. Il passthrough PCI assegna l'intero controller USB, non un singolo connettore, quindi ogni porta collegata a quel controller viene trasferita con esso.

Le etichette sul case non costituiscono una mappa affidabile. I connettori anteriori, posteriori e interni possono condividere un controller, mentre un singolo pannello posteriore può contenere porte appartenenti a due controller. Questa distinzione determina la configurazione sicura, il metodo di verifica e il punto di ripristino.

Mappa controller, porte e gruppi IOMMU

Elenca i controller USB PCI e i relativi gruppi IOMMU, quindi collega un dispositivo innocuo a ciascuna porta fisica e osserva quale controller lo rileva. Salva la mappa prima di modificare i driver.

Nella maggior parte dei sistemi, un gruppo IOMMU è il confine minimo per un'assegnazione sicura. Se il controller di destinazione condivide un gruppo con lo storage, la rete o l'unico controller USB dell'host, il passthrough rischia di rimuovere più risorse del previsto.

La soluzione più pulita per una disposizione non separabile consiste nell'aggiungere una scheda USB PCIe dedicata. Scegli una scheda il cui controller non condivida un gruppo non sicuro e il cui budget di alimentazione sia sufficiente per i dispositivi collegati.

Decidi in base ai segnali di sopravvivenza dell'host

Mantieni attivo SSH o un altro percorso di gestione non USB. Verifica che la tastiera dell'host, il supporto di avvio, il cavo dell'UPS e il dispositivo di input dell'installer non siano collegati al controller da riassegnare.

Collega solo la funzione PCI di destinazione a VFIO e riavvia. L'host dovrebbe conservare il controller rimanente e la VM dovrebbe rilevare tutte le porte del dispositivo assegnato.

Consulta la tabella seguente prima di collegare hardware insostituibile.

Stato osservato Verdetto Prossima azione
Controller dedicato e gruppo pulito Assegna L'host conserva gli altri controller
Il controller condivide un gruppo con un dispositivo critico Non assegnare Aggiungi una scheda USB separata
Proprietà della porta sconosciuta Mappa prima Nessun dispositivo di produzione per ora

Assegna il controller mantenendo una procedura di ripristino

Annota il driver originale e i parametri di avvio, quindi modifica un controller alla volta. Evita di usare ACS override come prima risposta, perché può far apparire separati i gruppi senza modificare l'isolamento hardware sottostante.

Collega il dispositivo PCI alla VM e abilita le opzioni macchina e IOMMU richieste. Verifica l'hot-plug, i trasferimenti prolungati, il ripristino della VM e il riavvio dell'host.

La recensione hardware di ZimaCube di ZimaSpace mostra perché la disposizione delle espansioni è importante.

La guida al passthrough VFIO della community spiega il raggruppamento IOMMU e l'isolamento dei dispositivi.

-15% OFF

Verifica nuovamente ogni porta fisica

Dopo l'avvio, testa ogni porta dell'host e ogni porta assegnata alla VM con un dispositivo di storage e una periferica HID a basso rischio. Verifica che l'host resti raggiungibile se la VM viene arrestata o si blocca.

Ripeti il test dopo un ciclo completo di spegnimento e riaccensione, perché il firmware può riordinare i dispositivi o modificarne l'inizializzazione. Mantieni un metodo di ripristino da console che non dipenda dal controller assegnato.

Procedi solo quando il controller di destinazione dispone di un gruppo sicuro e l'host conserva la gestione e i dispositivi USB critici. Interrompi la procedura se lo storage, la rete, l'UPS o tutti i dispositivi di input dell'host scompaiono insieme alla funzione di destinazione.

Supporto e consigli

Altro da leggere

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.