Dare una scheda grafica a una macchina virtuale: il vero ostacolo non è il driver, è il gruppo

Passare hardware direttamente a una macchina è possibile, ma i dispositivi si cedono a gruppi, non uno per uno. E l’hardware ceduto toglie alla macchina anche la libertà di spostarsi.

AtlasPVE ·

Questa voce risponde a

  • proxmox gpu passthrough
  • proxmox gruppo iommu
  • proxmox pci passthrough non funziona
  • proxmox scheda grafica a vm
  • proxmox passaggio hardware

Dare una scheda grafica fisica, un controller di dischi o una scheda di acquisizione direttamente a una macchina virtuale è possibile. La promessa è vera: la macchina usa quell’hardware come se fosse suo.

Ma il punto in cui ci si blocca non è il driver. È il gruppo.

I dispositivi non si cedono uno per uno

La tua scheda madre decide quali dispositivi possono essere isolati l’uno dall’altro e li ordina in gruppi. Non puoi cedere un singolo dispositivo di un gruppo; cedi l’intero gruppo.

La conseguenza: se la scheda grafica sta nello stesso gruppo del controller dei dischi, dare la scheda grafica significa dare anche il controller. Di solito non si può fare, perché lì c’è il disco del server.

Quindi la domanda da porsi comprando hardware non è "questa scheda grafica funzionerà" ma "su questa scheda madre sta in un gruppo tutto suo". Il raggruppamento è una proprietà della scheda madre, non della scheda grafica. La stessa scheda si cede senza problemi su una scheda madre e per niente su un’altra.

Il dispositivo sparisce dal server

Seconda sorpresa: una volta ceduto un dispositivo a una macchina virtuale, il server non può più usarlo. Non è un prestito, è un trasferimento.

La versione più frequente: su una macchina con una sola scheda grafica cedi la scheda a una macchina virtuale e lo schermo del server se ne va con lei. Se puoi collegarti da remoto va bene, ma al primo intoppo non hai più la possibilità di attaccare tastiera e monitor e guardare.

L’hardware ceduto toglie anche la libertà di spostarsi

Per chi ha montato un cluster questo è il punto più importante: una macchina con passaggio hardware di solito non può spostarsi su un altro nodo.

Il motivo è semplice: la scheda che hai ceduto sta dentro questa macchina fisica. Anche se l’altro nodo ha lo stesso modello, non è lo stesso dispositivo.

Quindi la rete di sicurezza che ti dà il cluster non copre quella macchina. Non può essere spostata nelle notti di manutenzione né ripartire su un altro nodo durante un guasto. Impostando un passaggio hardware, quello che scegli davvero è questo: mobilità in cambio di prestazioni e accesso diretto all’hardware.

Nemmeno la memoria è più elastica

Quarto vincolo, il meno noto: l’hardware ceduto scrive direttamente nella memoria della macchina virtuale. Perché funzioni, quella memoria deve restare dov’è.

Ma il meccanismo che allunga la memoria e la riprende è proprio quello che la sposta. Quando entrambi sono attivi sulla stessa macchina, dal lato driver nascono problemi.

In pratica la regola è: su una macchina con passaggio hardware non allungare la memoria, assegnala fissa. Vuol dire che quella macchina non può partecipare al gioco del "promettere più di quanto si ha" descritto nell’articolo precedente. La memoria che le hai promesso è davvero riservata.

La frase della decisione

Il passaggio hardware non è un guadagno, è uno scambio. Ciò che guadagni: la velocità reale dell’hardware e l’accesso a tutte le sue capacità. Ciò che perdi: la portabilità, l’uso del dispositivo da parte del server e l’elasticità della memoria.

Se fai questo scambio consapevolmente è lo strumento giusto. Se l’hai fatto senza accorgertene, lo scopri alla prima notte di manutenzione o al primo guasto.

Che cosa fa Atlas

Quando Atlas legge i dispositivi PCI del server, legge anche in quale gruppo di isolamento si trova ciascuno. Prima di decidere vedi quindi il raggruppamento: il dispositivo che vuoi cedere è da solo, oppure accanto c’è qualcosa che non vuoi dare via.

C’è inoltre una regola che cade esattamente sull’ultima parte di questo articolo. Se una macchina virtuale ha un passaggio hardware definito e l’allungamento della memoria attivo, Atlas lo segna come avviso: insieme creano problemi dal lato driver. L’avviso non dice solo "c’è un problema", dice cosa fare e ti porta direttamente all’impostazione della memoria.

È un piccolo esempio della postura generale del prodotto: la configurazione in sé è valida, niente dà errore, ma due impostazioni valide insieme non hanno senso. Cose così vanno dette mentre si installa, non durante un guasto.

Fonti

La documentazione ufficiale di Proxmox. In inglese, e su questo argomento l’ultima parola è la sua.

Voci collegate

Come si presenta questo dentro Atlas?

Vai alla pagina prodotto