GPU's gebruiken met geclusterde VM's

Van toepassing op: Azure Stack HCI, versie 21H2

Dit onderwerp bevat richtlijnen voor het gebruik van GPU's (Graphics Processing Units) met geclusterde virtuele machines (VM's) waarop het Azure Stack HCI-besturingssysteem wordt uitgevoerd om GPU-versnelling te bieden aan workloads in de geclusterde VM's.

Vanaf Azure Stack HCI, versie 21H2 kunt u GPU's opnemen in uw Azure Stack HCI-cluster om GPU-versnelling te bieden voor workloads die worden uitgevoerd op geclusterde VM's. In dit onderwerp worden de basisvoorwaarden voor deze mogelijkheid besproken en hoe u deze implementeert.

GPU-versnelling wordt geleverd via Discrete Apparaattoewijzing (DDA), ook wel BEKEND als GPU-pass-through, waarmee u een of meer fysieke GPU's kunt toewijsen aan een VM. Geclusterde VM's kunnen profiteren van GPU-versnelling en clusteringmogelijkheden, zoals hoge beschikbaarheid via failover. Live migreren van VM's wordt momenteel niet ondersteund, maar VM's kunnen automatisch opnieuw worden opgestart en geplaatst waar GPU-resources beschikbaar zijn in het geval van een storing.

Vereisten

Als u aan de slag wilt gaan, hebt u een Azure Stack HCI-cluster van ten minste twee servers nodig, waarop Azure Stack HCI, versie 21H2 wordt uitgevoerd. U hebt ook GPU's nodig die fysiek op elke server van het cluster zijn geïnstalleerd.

Notitie

De Azure Stack HCI-catalogus geeft nog geen informatie over GPU-compatibiliteit of certificering aan. Volg de instructies van de fabrikant voor gpu-installatie.

Gebruiksinstructies

In deze sectie worden de stappen beschreven die nodig zijn om Windows-beheercentrum of Windows PowerShell clusterservers voor te bereiden op GPU-gebruik. U kunt een of meer VM's toewijzen aan een geclusterde GPU-resourcegroep en een VM verwijderen uit een geclusterde GPU-resourcegroep. U kunt ook PowerShell gebruiken om automatisch opnieuw opstarten te testen.

Beheercentrum Windows gebruiken

Gebruik Windows-beheercentrum om het cluster voor te bereiden, een VM toe te wijzen aan een GPU-resourcegroep en de toewijzing van een VM aan een GPU-resourcegroep op te geven.

Het cluster voorbereiden en een VM toewijzen aan een GPU-resourcegroep:

  1. Selecteer in het menu Extra onder Extensiesde optie GPU's om het hulpprogramma te openen.

    Schermopname van het GPU-hulpprogramma in Windows-beheercentrum

  2. Selecteer op de hoofdpagina van het hulpprogramma het tabblad GPU-pools en selecteer vervolgens GPU-pool maken.

    Schermopname van de pagina GPU-pools maken in Windows-beheercentrum

  3. Geef op de pagina Nieuwe GPU-pool het volgende op en selecteer opslaan:

    1. Servernaam
    2. Naam gpu-pool
    3. GPU's die u wilt toevoegen aan de groep

    Schermopname van de pagina Nieuwe GPU-pool in Windows-beheercentrum om servers, poolnaam en GPU's op te geven

    Nadat het proces is voltooid, ontvangt u een prompt met de naam van de nieuwe GPU-pool en de hostserver.

  4. Geef op de pagina VM toewijzen aan GPU-pool het volgende op en selecteer toewijzen:

    1. Servernaam
    2. Naam gpu-pool
    3. Virtuele machine aan wie u de GPU wilt toewijzen vanuit de GPU-pool.

    U kunt ook geavanceerde instellingswaarden definiëren voor memory-mapped IO-ruimten (MMIO) om de resourcevereisten voor één GPU te bepalen.

    Schermopname van de pagina VM toewijzen aan GPU-pool in Windows-beheercentrum waar u een VM toewijst aan een GPU vanuit de GPU-pool

    Nadat het proces is voltooid, ontvangt u een bevestigingsprompt waarin wordt weergegeven dat u de GPU van de GPU-resourcegroep hebt toegewezen aan de VM, die wordt weergegeven onder Toegewezen VM's.

    Schermopname van de prompt met de GPU die is toegewezen aan een VM en de VM die wordt weergegeven onder Toegewezen VM's

De toewijzing van een VM aan een GPU-resourcegroep in de volgende omgevingen in de weg worden wijzer:

  1. Selecteer op het tabblad GPU-pools de GPU die u wilt uittekenen en selecteer vervolgens VM niet toewijzen.

  2. Geef op de pagina VM uit GPU-pool toewijzen in het keuzevak Virtuele machines de naam van de virtuele machine op en selecteer vervolgens Toewijzen verwijderen.

    Schermopname van de pagina VM toewijzen aan GPU-pool met de VM die niet moet worden toegewezen

    Nadat het proces is voltooid, ontvangt u een succesprompt dat de VM niet is toegewezen uit de GPU-pool en onder Toewijzingsstatus toont de GPU Beschikbaar (niet toegewezen).

PowerShell gebruiken

Gebruik PowerShell om het cluster voor te bereiden, een VM toe te wijzen aan een GPU-resourcegroep en automatisch opnieuw opstarten te testen.

Het cluster voorbereiden

Bereid de GPU's op elke server voor door stuurprogramma's voor beveiligingsbeperking op elke server te installeren, de GPU's uit te zetten en ze van de host te ontkoppelen volgens de instructies in Grafische apparaten implementeren met discreteapparaattoewijzing. Afhankelijk van uw hardwareleverancier moet u mogelijk ook gpu-licentievereisten configureren.

  1. Maak een nieuwe lege resourcegroep op elke server die de geclusterde GPU-resources bevat. Zorg ervoor dat u op elke server dezelfde poolnaam op geeft.

    Voer in PowerShell de volgende cmdlet uit als beheerder:

     New-VMResourcePool -ResourcePoolType PciExpress -Name "GpuChildPool"
    
  2. Voeg de ontkoppelde GPU's van elke server toe aan de resourcegroep die u in de vorige stap hebt gemaakt.

    Voer in PowerShell de volgende cmdlets uit:

     $gpu = Get-VMHostAssignableDevice
    
     Add-VMHostAssignableDevice -HostAssignableDevice $gpu -ResourcePoolName "GpuChildPool"
    

U hebt nu een clusterbrede resourcegroep (met de naam GpuChildPool ) die is gevuld met toewijsbare GPU's. Het cluster gebruikt deze pool om de plaatsing van VM's te bepalen voor gestarte of verplaatste VM's die zijn toegewezen aan de GPU-resourcegroep.

Een VM toewijzen aan een GPU-resourcegroep

Maak eerst een nieuwe VM in uw cluster of zoek een bestaande VM.

Bereid de VM voor op DDA door het cachegedrag, de stopactie en de memory-mapped I/O-eigenschappen (MMIO) in te stellen volgens de instructies in Grafische apparaten implementeren met discrete apparaattoewijzing.

  1. Configureer de standaard offlineactie van de cluster-VM-resource als force-shutdown in plaats van save .

    Voer in PowerShell de volgende cmdlet uit:

     Get-ClusterResource -name vmname | Set-ClusterParameter -Name "OfflineAction" -Value 3
    
  2. Wijs de resourcegroep die u eerder hebt gemaakt toe aan de VM. Hiermee geeft u aan het cluster aan dat voor de VM een toegewezen apparaat uit de pool is vereist wanneer het wordt gestart GpuChildPool of verplaatst.

    Voer in PowerShell de volgende cmdlet uit:

     $vm | Add-VMAssignableDevice -ResourcePoolName "GpuChildPool"
    

    Notitie

    Als u meer dan één GPU aan de VM wilt toevoegen, controleert u eerst of er meer dan één toewijsbare GPU beschikbaar is in de resourcegroep en voer u de vorige opdracht opnieuw uit.

Als u de VM nu start, zorgt het cluster ervoor dat deze op een server met beschikbare GPU-resources uit deze clusterbrede pool wordt geplaatst. Het cluster wijst de GPU ook toe aan de VM via DDA, waardoor de GPU toegankelijk is vanuit workloads binnen de VM.

Notitie

U moet ook stuurprogramma's van de GPU-fabrikant op de VM installeren, zodat apps in de VM kunnen profiteren van de GPU die aan hen is toegewezen.

U kunt ook een toegewezen GPU verwijderen uit een VM. Voer in PowerShell de volgende cmdlet uit om dit te doen:

 Get-VMAssignableDevice -VMName $vm | Where-Object { $_.ResourcePoolName -eq "GpuChildPool" } | Remove-VMAssignableDevice

Fail over een VM met een toegewezen GPU

Als u wilt testen of het cluster uw GPU-workload beschikbaar kan houden, voert u een drain-bewerking uit op de server waarop de VM wordt uitgevoerd met een toegewezen GPU. Volg de instructies in Onderhoudsprocedures voor failovercluster om de server leeg te maken. Het cluster start de VM opnieuw op een andere server in het cluster, zolang een andere server voldoende beschikbare GPU-resources heeft in de pool die u hebt gemaakt.

Volgende stappen

Zie voor meer informatie ook: