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:
Selecteer in het menu Extra , onder Extensies, GPU's om het hulpprogramma te openen.
Selecteer op de hoofdpagina van het hulpprogramma het tabblad GPU-pools en selecteer vervolgens GPU-pool maken.
Geef op de pagina Nieuwe GPU-pool het volgende op en selecteer opslaan:
- Servernaam
- Naam gpu-pool
- GPU's die u aan de groep wilt toevoegen
Nadat het proces is voltooid, ontvangt u een prompt met de naam van de nieuwe GPU-pool en de hostserver.
Geef op de pagina VM toewijzen aan GPU-pool het volgende op en selecteer vervolgens Toewijzen:
- Servernaam
- Naam gpu-pool
- 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.
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.
De toewijzing van een VM uit een GPU-resourcegroep opheffen:
Selecteer op het tabblad GPU-pools de GPU die u wilt opheffen en selecteer vervolgens Toewijzing van VM ongedaan maken.
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.
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.
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"
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.
Configureer de standaard offlineactie van de cluster-VM-resource als
force-shutdown
in plaatssave
van .Voer in PowerShell de volgende cmdlet uit:
Get-ClusterResource -name vmname | Set-ClusterParameter -Name "OfflineAction" -Value 3
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:
Feedback
https://aka.ms/ContentUserFeedback.
Binnenkort beschikbaar: In de loop van 2024 zullen we GitHub-problemen geleidelijk uitfaseren als het feedbackmechanisme voor inhoud en deze vervangen door een nieuw feedbacksysteem. Zie voor meer informatie:Feedback verzenden en weergeven voor