Usare GPU con macchine virtuali cluster
Si applica a: Locale di Azure, versioni 23H2 e 22H2
Nota
Il modo consigliato per creare e gestire macchine virtuali in Azure Locale, versione 23H2 consiste nell'usare il piano di controllo di Azure Arc. Usare il meccanismo descritto di seguito per gestire le macchine virtuali solo se sono necessarie funzionalità non disponibili nelle macchine virtuali di Azure Arc.
È possibile includere GPU nei cluster per fornire accelerazione GPU ai carichi di lavoro in esecuzione nelle macchine virtuali in cluster. L'accelerazione GPU può essere fornita tramite l'assegnazione di dispositivi discreti (DDA), che consente di dedicare una o più GPU fisiche a una macchina virtuale o tramite il partizionamento GPU. Le macchine virtuali in cluster possono sfruttare l'accelerazione GPU e le funzionalità di clustering, ad esempio la disponibilità elevata tramite failover. La migrazione in tempo reale delle macchine virtuali non è attualmente supportata, ma le macchine virtuali possono essere riavviate e posizionate automaticamente in cui sono disponibili risorse GPU in caso di errore.
In questo articolo si apprenderà come usare le unità di elaborazione grafica (GPU) con macchine virtuali in cluster per fornire accelerazione GPU ai carichi di lavoro usando l'assegnazione di dispositivi discreti. Questo articolo illustra come preparare il cluster, assegnare una GPU a una macchina virtuale del cluster ed eseguire il failover di tale macchina virtuale usando Windows Admin Center e PowerShell.
Prerequisiti
Prima di iniziare a usare GPU con macchine virtuali in cluster, è necessario tenere presenti diversi requisiti e aspetti da considerare:
- È necessario un cluster Azure Stack HCI che esegue Azure Stack HCI versione 22H2 o successiva.
- È necessario un cluster di failover di Windows Server che esegue Windows Server 2025 o versione successiva.
È necessario installare la stessa creazione e il modello delle GPU in tutti i server del cluster.
Esaminare e seguire le istruzioni del produttore della GPU per installare i driver e il software necessari in ogni server del cluster.
A seconda del fornitore dell'hardware, potrebbe essere necessario configurare anche eventuali requisiti di licenza GPU.
È necessario un computer con Windows Admin Center installato. Questo computer potrebbe essere uno dei nodi del cluster.
Creare una macchina virtuale a cui assegnare la GPU. Preparare la macchina virtuale per DDA impostando il comportamento della cache, l'azione di arresto e le proprietà di I/O mappate alla memoria (MMIO) in base alle istruzioni riportate in Distribuire dispositivi grafici usando l'assegnazione di dispositivi discreti.
Preparare le GPU in ogni server installando driver di mitigazione della sicurezza in ogni server, disabilitando le GPU e smontandole dall'host. Per altre informazioni su questo processo, vedere Distribuire dispositivi grafici usando l'assegnazione di dispositivi discreti.
Seguire la procedura descritta in Pianificare la distribuzione dei dispositivi usando l'assegnazione di dispositivi discreti per preparare i dispositivi GPU nel cluster.
Assicurarsi che il dispositivo disponga di spazio MMIO sufficiente allocato all'interno della macchina virtuale. Per ulteriori informazioni, consultare spazio MMIO.
Creare una macchina virtuale a cui assegnare la GPU. Preparare la macchina virtuale per DDA impostando il comportamento della cache, l'azione di arresto e le proprietà di I/O mappate alla memoria (MMIO) in base alle istruzioni riportate in Distribuire dispositivi grafici usando l'assegnazione di dispositivi discreti.
Preparare le GPU in ogni server installando driver di mitigazione della sicurezza in ogni server, disabilitando le GPU e smontandole dall'host. Per altre informazioni su questo processo, vedere Distribuire dispositivi grafici usando l'assegnazione di dispositivi discreti.
Nota
Il sistema deve essere supportato dalla soluzione Azure Stack HCI con supporto GPU. Per esplorare le opzioni, visitare il catalogo di Azure Stack HCI.
Preparare il cluster
Al termine dei prerequisiti , è possibile preparare il cluster per l'uso di GPU con macchine virtuali in cluster.
La preparazione del cluster comporta la creazione di un pool di risorse contenente le GPU disponibili per l'assegnazione alle macchine virtuali. Il cluster usa questo pool per determinare il posizionamento delle macchine virtuali per le macchine virtuali avviate o spostate assegnate al pool di risorse GPU.
Usando Windows Admin Center, seguire questa procedura per preparare il cluster per l'uso di GPU con macchine virtuali in cluster.
Per preparare il cluster e assegnare una macchina virtuale a un pool di risorse GPU:
Avviare Windows Admin Center e assicurarsi che l'estensione GPU sia già installata.
Selezionare Gestione cluster dal menu a discesa in alto e connettersi al cluster.
Dal menu Impostazioni selezionare Estensioni>GPU.
Nel menu Strumenti, in Estensioni, selezionare GPU per aprire lo strumento.
Nella pagina principale dello strumento selezionare la scheda Pool DI GPU e quindi selezionare Crea pool GPU.
Nella pagina Nuovo pool di GPU specificare quanto segue e quindi selezionare Salva:
- Nome server
- Nome pool GPU
- GPU da aggiungere al pool
Al termine del processo, si riceverà una richiesta di conferma dell'esito positivo che mostra il nome del nuovo pool GPU e del server host.
Assegnare una macchina virtuale a un pool di risorse GPU
È ora possibile assegnare una macchina virtuale a un pool di risorse GPU. È possibile assegnare una o più macchine virtuali a un pool di risorse GPU in cluster e rimuovere una macchina virtuale da un pool di risorse GPU in cluster.
Seguire questa procedura per assegnare una macchina virtuale esistente a un pool di risorse GPU usando Windows Admin Center.
Nota
È anche necessario installare i driver dal produttore della GPU all'interno della macchina virtuale in modo che le app nella macchina virtuale possano sfruttare i vantaggi della GPU assegnata.
Nella pagina Assegna macchina virtuale al pool GPU specificare quanto segue, quindi selezionare Assegna:
- Nome server
- Nome pool GPU
- Macchina virtuale a cui si vuole assegnare la GPU dal pool di GPU.
È anche possibile definire valori di impostazione avanzati per gli spazi di I/O mappati alla memoria (MMIO) per determinare i requisiti delle risorse per una singola GPU.
Al termine del processo, si riceverà una richiesta di conferma che indica che la GPU è stata assegnata correttamente dal pool di risorse GPU alla macchina virtuale, che viene visualizzata in Macchine virtuali assegnate.
Per annullare l'assegnazione di una macchina virtuale da un pool di risorse GPU:
Nella scheda Pool di GPU selezionare la GPU che si vuole annullare l'assegnazione e quindi selezionare Annulla assegnazione macchina virtuale.
Nella pagina Annullare l'assegnazione della macchina virtuale dal pool di GPU, nella casella di riepilogo Macchine virtuali specificare il nome della macchina virtuale e quindi selezionare Annulla assegnazione.
Al termine del processo, viene visualizzato un messaggio di conferma dell'esito positivo che la macchina virtuale non è stata assegnata dal pool di GPU e in Stato assegnazione la GPU mostra Disponibile (non assegnato) .
Quando si avvia la macchina virtuale, il cluster garantisce che la macchina virtuale venga inserita in un server con risorse GPU disponibili da questo pool a livello di cluster. Il cluster assegna anche la GPU alla macchina virtuale tramite DDA, che consente l'accesso alla GPU dai carichi di lavoro all'interno della macchina virtuale.
Eseguire il failover di una macchina virtuale con una GPU assegnata
Per testare la capacità del cluster di mantenere disponibile il carico di lavoro GPU, eseguire un'operazione di svuotamento nel server in cui la macchina virtuale è in esecuzione con una GPU assegnata. Per svuotare il server, seguire le istruzioni riportate in Procedure di manutenzione del cluster di failover. Il cluster riavvia la macchina virtuale in un altro server del cluster, purché un altro server disponga di risorse GPU disponibili sufficienti nel pool creato.
Per testare la capacità del cluster di mantenere disponibile il carico di lavoro GPU, eseguire un'operazione di svuotamento nel server in cui la macchina virtuale è in esecuzione con una GPU assegnata. Per svuotare il server, seguire le istruzioni riportate in Procedure di manutenzione del cluster di failover. Il cluster riavvia la macchina virtuale in un altro server del cluster, purché un altro server disponga di risorse GPU disponibili sufficienti nel pool creato.
Contenuto correlato
Per altre informazioni sull'uso di GPU con le macchine virtuali in cluster, vedere:
Per altre informazioni sull'uso di GPU con le macchine virtuali e il partizionamento GPU, vedere: