Delen via


GPU's gebruiken met geclusterde VM's

Van toepassing op: Azure Stack HCI, versies 23H2 en 22H2

Notitie

De aanbevolen manier om VM's te maken en beheren in Azure Stack HCI 23H2 is met behulp van het Azure Arc-besturingsvlak. Gebruik het mechanisme dat hieronder wordt beschreven om uw VM's alleen te beheren als u functionaliteit nodig hebt die niet beschikbaar is in Azure Arc-VM's.

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 basisvereisten voor deze mogelijkheid besproken en wordt uitgelegd hoe u deze kunt implementeren.

GPU-versnelling wordt geleverd via Discrete Device Assignment (DDA), ook wel GPU-passthrough genoemd, waarmee u een of meer fysieke GPU's aan een VM kunt toewijzen. Geclusterde VM's kunnen profiteren van GPU-versnelling en clustermogelijkheden, zoals hoge beschikbaarheid via failover. Het live migreren van VM's wordt momenteel niet ondersteund, maar VM's kunnen automatisch opnieuw worden opgestart en worden geplaatst waar GPU-resources beschikbaar zijn in het geval van een storing.

Vereisten

Om aan de slag te gaan, hebt u een Azure Stack HCI-cluster 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 GPU-compatibiliteit of certificeringsinformatie aan. Volg de instructies van de fabrikant voor de GPU-installatie.

Gebruiksinstructies

In deze sectie worden de stappen beschreven die nodig zijn om Windows Admin Center of Windows PowerShell te gebruiken om uw 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 PowerShell ook gebruiken om automatisch opnieuw opstarten te testen.

Windows Admin Center gebruiken

Gebruik Windows Admin Center 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 heffen.

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

  1. Selecteer in het menu Extra , onder Extensies, GPU's om het hulpprogramma te openen.

    Schermopname van het GPU-hulpprogramma in Windows Admin Center

  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 Admin Center

  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 aan de groep wilt toevoegen

    Schermopname van de pagina Nieuwe GPU-pool in Windows Admin Center 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 vervolgens Toewijzen:

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

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

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

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

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

De toewijzing van een VM uit een GPU-resourcegroep opheffen:

  1. Selecteer op het tabblad GPU-pools de GPU die u wilt opheffen en selecteer vervolgens Toewijzing van VM ongedaan maken.

  2. Geef op de pagina Toewijzing van VM uit GPU-pool ongedaan maken in de keuzelijst Virtuele machines de naam van de virtuele machine op en selecteer vervolgens Toewijzing ongedaan maken.

    Schermopname van de pagina Vm ongedaan maken vanuit GPU-pool waarop de toewijzing van de VM moet worden ongedaan gemaakt

    Nadat het proces is voltooid, ontvangt u een prompt dat de VM is verwijderd uit de GPU-pool en onder Toewijzingsstatus geeft de GPU beschikbaar (niet toegewezen) weer.

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 schakelen en deze van de host te ontkoppelen volgens de instructies in Grafische apparaten implementeren met discrete apparaattoewijzing. Afhankelijk van uw hardwareleverancier moet u mogelijk ook eventuele 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 groepsnaam opgeeft.

    Voer in PowerShell de volgende cmdlet uit als beheerder:

     New-VMResourcePool -ResourcePoolType PciExpress -Name "GpuChildPool"
    
  2. Voeg de losgekoppelde 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 vm-plaatsing te bepalen voor alle gestarte of verplaatste VM's die zijn toegewezen aan de GPU-resourcegroep.

Een VM toewijzen aan een GPU-resourcegroep

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

Bereid de VM voor op DDA door de cachegedrag, stopactie en MMIO-eigenschappen (Memory-Mapped I/O) 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 savevan .

    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 wordt aan het cluster aangegeven dat voor de VM een toegewezen apparaat uit de GpuChildPool pool is vereist wanneer deze wordt gestart 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 de resourcegroep meer dan één toewijsbare GPU beschikbaar heeft en voert u vervolgens de vorige opdracht opnieuw uit.

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

Notitie

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

U kunt ook een toegewezen GPU van een VM verwijderen. Voer hiervoor in PowerShell de volgende cmdlet uit:

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

Failover uitvoeren van een VM met een toegewezen GPU

Als u de mogelijkheid van het cluster wilt testen om uw GPU-workload beschikbaar te 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 failoverclusters om de server leeg te maken. Het cluster start de VM opnieuw op 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 ook voor meer informatie: