Använda GPU:er med klustrade virtuella datorer
Gäller för: Azure Stack HCI, version 21H2
Det här avsnittet innehåller råd om hur du använder grafikprocessorer (GPU:er) med klustrade virtuella datorer (VM) som kör Azure Stack HCI-operativsystemet för att ge GPU-acceleration till arbetsbelastningar i klustrade virtuella datorer.
Från och med Azure Stack HCI version 21H2 kan du använda GPU:er i Azure Stack HCI-kluster för att tillhandahålla GPU-acceleration för arbetsbelastningar som körs i klustrade virtuella datorer. Det här avsnittet beskriver de grundläggande förutsättningarna för den här funktionen och hur du distribuerar den.
GPU-acceleration tillhandahålls via diskret enhetstilldelning (DDA), även kallat GPU-genomsnäckning, vilket gör att du kan dedikera en eller flera fysiska GPU:er till en virtuell dator. Klustrade virtuella datorer kan dra nytta av GPU-acceleration och klustringsfunktioner som hög tillgänglighet via redundans. Direktmigrering av virtuella datorer stöds inte för närvarande, men virtuella datorer kan startas om automatiskt och placeras där GPU-resurser är tillgängliga i händelse av ett fel.
Förutsättningar
För att komma igång behöver du ett Azure Stack HCI-kluster med minst två servrar som kör Azure Stack HCI version 21H2. Du behöver också GPU:er som är fysiskt installerade på varje server i klustret.
Anteckning
Den Azure Stack HCI-katalogen anger ännu inte GPU-kompatibilitet eller certifieringsinformation. Följ tillverkarens instruktioner för GPU-installation.
Användningsanvisningar
I det här avsnittet beskrivs de steg som krävs för att använda antingen Windows Administrationscenter eller Windows PowerShell för att förbereda klusterservrarna för GPU-användning. Du kan tilldela en eller flera virtuella datorer till en klustrad GPU-resurspool och ta bort en virtuell dator från en klustrad GPU-resurspool. Du kan också använda PowerShell för att testa automatisk omstart.
Använda Windows Administrationscenter
Använd Windows Administrationscenter för att förbereda klustret, tilldela en virtuell dator till en GPU-resurspool och ta bort tilldelning av en virtuell dator till en GPU-resurspool.
Så här förbereder du klustret och tilldelar en virtuell dator till en GPU-resurspool:
På menyn Verktyg, under Tillägg,väljer du GPU:er för att öppna verktyget.
På verktygets huvudsida väljer du fliken GPU-pooler och sedan Skapa GPU-pool.
På sidan Ny GPU-pool anger du följande och väljer sedan Spara:
- Servernamn
- GPU-poolnamn
- GPU:er som du vill lägga till i poolen
När processen är klar visas en kommandotolk som visar namnet på den nya GPU-poolen och värdservern.
På sidan Tilldela virtuell dator till GPU-pool anger du följande och väljer sedan Tilldela:
- Servernamn
- GPU-poolnamn
- Virtuell dator som du vill tilldela GPU:n till från GPU-poolen.
Du kan också definiera avancerade inställningsvärden för minnesmappade IO-utrymmen (MMIO) för att fastställa resurskrav för en enskild GPU.
När processen är klar får du en bekräftelsemeddelande som visar att du har tilldelat GPU:n från GPU-resurspoolen till den virtuella datorn, som visas under Tilldelade virtuella datorer.
Så här tar du bort tilldelning av en virtuell dator från en GPU-resurspool:
På fliken GPU-pooler väljer du den GPU som du vill ta bort tilldelning av och väljer sedan Ta bort tilldelning av virtuell dator.
På sidan Ta bort tilldelning av virtuell dator från GPU-pool går du till listrutan Virtuella datorer, anger namnet på den virtuella datorn och väljer sedan Ta bort tilldelning.
När processen har slutförts får du ett meddelande om att den virtuella datorn har otilldelades från GPU-poolen, och under Tilldelningsstatus visar GPU:n Tillgänglig (Inte tilldelad).
Använd PowerShell
Använd PowerShell för att förbereda klustret, tilldela en virtuell dator till en GPU-resurspool och testa automatisk omstart.
Förbereda klustret
Förbered GPU:erna på varje server genom att installera säkerhetsminskningsdrivrutiner på varje server, inaktivera GPU:er och demontera dem från värden enligt anvisningarna i Distribuera grafikenheter med diskret enhetstilldelning. Beroende på maskinvaruleverantören kan du också behöva konfigurera eventuella GPU-licensieringskrav.
Skapa en ny tom resurspool på varje server som ska innehålla klustrade GPU-resurser. Se till att ange samma poolnamn på varje server.
Kör följande cmdlet som administratör i PowerShell:
New-VMResourcePool -ResourcePoolType PciExpress -Name "GpuChildPool"Lägg till de demonterade GPU:erna från varje server i resurspoolen som du skapade i föregående steg.
Kör följande cmdlets i PowerShell:
$gpu = Get-VMHostAssignableDeviceAdd-VMHostAssignableDevice -HostAssignableDevice $gpu -ResourcePoolName "GpuChildPool"
Nu har du en resurspool för hela klustret (med namnet GpuChildPool ) som är ifylld med tilldelningsbara GPU:er. Klustret använder den här poolen för att fastställa VM-placering för alla startad eller flyttad virtuella datorer som har tilldelats till GPU-resurspoolen.
Tilldela en virtuell dator till en GPU-resurspool
Börja med att antingen skapa en ny virtuell dator i klustret eller hitta en befintlig virtuell dator.
Förbered den virtuella datorn för DDA genom att ange dess cachebeteende, stoppåtgärd och minnesmappade I/O-egenskaper (MMIO) enligt anvisningarna i Distribuera grafikenheter med diskret enhetstilldelning.
Konfigurera den virtuella klusterdatorns standardåtgärd offline som
force-shutdowni stället försave.Kör följande cmdlet i PowerShell:
Get-ClusterResource -name vmname | Set-ClusterParameter -Name "OfflineAction" -Value 3Tilldela den resurspool som du skapade tidigare till den virtuella datorn. Detta deklarerar till klustret att den virtuella datorn kräver en tilldelad enhet från
GpuChildPoolpoolen när den antingen startas eller flyttas.Kör följande cmdlet i PowerShell:
$vm | Add-VMAssignableDevice -ResourcePoolName "GpuChildPool"Anteckning
Om du vill lägga till fler än en GPU till den virtuella datorn kontrollerar du först att resurspoolen har fler än en tilldelad GPU tillgänglig och kör sedan föregående kommando igen.
Om du startar den virtuella datorn nu ser klustret till att det placeras på en server med tillgängliga GPU-resurser från den här klusteromfattande poolen. Klustret tilldelar också GPU:n till den virtuella datorn via DDA, vilket gör att GPU kan nås från arbetsbelastningar i den virtuella datorn.
Anteckning
Du måste också installera drivrutiner från GPU-tillverkaren på den virtuella datorn så att appar på den virtuella datorn kan dra nytta av den GPU som tilldelats dem.
Du kan också ta bort en tilldelad GPU från en virtuell dator. Det gör du genom att köra följande cmdlet i PowerShell:
Get-VMAssignableDevice -VMName $vm | Where-Object { $_.ResourcePoolName -eq "GpuChildPool" } | Remove-VMAssignableDevice
Redundansväxling av en virtuell dator med en tilldelad GPU
Testa klustrets möjlighet att hålla GPU-arbetsbelastningen tillgänglig genom att utföra en tömningsåtgärd på servern där den virtuella datorn körs med en tilldelad GPU. Om du vill tömma servern följer du anvisningarna i underhållsproceduren för redundanskluster. Klustret startar om den virtuella datorn på en annan server i klustret, så länge en annan server har tillräckligt med tillgängliga GPU-resurser i poolen som du skapade.
Nästa steg
Mer information finns i:





