Dela via


Använda GPU:er med klustrade virtuella datorer

Gäller för: Azure Stack HCI, version 23H2 och 22H2

Anteckning

Det rekommenderade sättet att skapa och hantera virtuella datorer på Azure Stack HCI 23H2 är att använda Azure Arc-kontrollplanet. Använd den mekanism som beskrivs nedan för att endast hantera dina virtuella datorer om du behöver funktioner som inte är tillgängliga på virtuella Azure Arc-datorer.

Det här avsnittet innehåller vägledning om hur du använder grafikprocessorer (GPU:er) med klustrade virtuella datorer 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 DDA (Discrete Device Assignment, diskret enhetstilldelning), även kallat GPU-direktströmning, 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. Livemigrering 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 som kör Azure Stack HCI, version 21H2. Du behöver också GPU:er som är fysiskt installerade på varje server i klustret.

Anteckning

Azure Stack HCI-katalogen anger ännu inte GPU-kompatibilitet eller certifieringsinformation. Följ tillverkarens anvisningar för GPU-installation.

Användningsinstruktioner

I det här avsnittet beskrivs de steg som krävs för att använda antingen Windows Admin Center 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 Admin Center

Använd Windows Admin Center för att förbereda klustret, tilldela en virtuell dator till en GPU-resurspool och ta bort tilldelningen av en virtuell dator till en GPU-resurspool.

Så här förbereder du klustret och tilldelar en virtuell dator till en GPU-resurspool:

  1. verktygsmenyn under Tillägg väljer du GPU:er för att öppna verktyget.

    Skärmbild av GPU-verktyget i Windows Admin Center

  2. På verktygets huvudsida väljer du fliken GPU-pooler och sedan Skapa GPU-pool.

    Skärmbild av sidan Skapa GPU-pooler i Windows Admin Center

  3. På sidan Ny GPU-pool anger du följande och väljer sedan Spara:

    1. Servernamn
    2. Namn på GPU-pool
    3. GPU:er som du vill lägga till i poolen

    Skärmbild av sidan Ny GPU-pool i Windows Admin Center för att ange servrar, poolnamn och GPU:er

    När processen har slutförts visas ett meddelande som visar namnet på den nya GPU-poolen och värdservern.

  4. På sidan Tilldela virtuell dator till GPU-pool anger du följande och väljer sedan Tilldela:

    1. Servernamn
    2. Namn på GPU-pool
    3. Virtuell dator som du vill tilldela GPU:n till från GPU-poolen.

    Du kan också definiera avancerade inställningsvärden för minnesmappade I/O-blanksteg (MMIO) för att fastställa resurskraven för en enda GPU.

    Skärmbild av sidan Tilldela virtuell dator till GPU-pool i Windows Admin Center där du tilldelar en virtuell dator till en GPU från GPU-poolen

    När processen är klar får du en bekräftelse som visar att du har tilldelat GPU:n från GPU-resurspoolen till den virtuella datorn, som visas under Tilldelade virtuella datorer.

    Skärmbild av uppmaningen om lyckad åtgärd som visar GPU som är tilldelad till en virtuell dator och den virtuella datorn som visas under Tilldelade virtuella datorer

Så här avtilldelar du en virtuell dator från en GPU-resurspool:

  1. På fliken GPU-pooler väljer du den GPU som du vill ta bort tilldelningen av och väljer sedan Ta bort tilldelning av virtuell dator.

  2. På sidan Ta bort tilldelning av virtuell dator från GPU-pool anger du namnet på den virtuella datorn i listrutan Virtuella datorer och väljer sedan Ta bort tilldelning.

    Skärmbild av sidan Avtilldela virtuell dator från GPU-pool som visar den virtuella datorn som ska tas bort

    När processen är klar får du ett meddelande om att den virtuella datorn inte har tilldelats 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äkerhetsreduceringsdrivrutiner 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.

  1. 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"
    
  2. 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 cmdletar i PowerShell:

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

Nu har du en klusteromfattande resurspool (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 startade eller flyttade 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.

  1. Konfigurera den virtuella klusterresursens standardåtgärd offline som force-shutdown i stället saveför .

    Kör följande cmdlet i PowerShell:

     Get-ClusterResource -name vmname | Set-ClusterParameter -Name "OfflineAction" -Value 3
    
  2. Tilldela resurspoolen som du skapade tidigare till den virtuella datorn. Detta deklarerar för klustret att den virtuella datorn kräver en tilldelad enhet från poolen när den GpuChildPool antingen startas eller flyttas.

    Kör följande cmdlet i PowerShell:

     $vm | Add-VMAssignableDevice -ResourcePoolName "GpuChildPool"
    

    Anteckning

    Om du vill lägga till mer än en GPU till den virtuella datorn kontrollerar du först att resurspoolen har mer än en tillgänglig tilldelad GPU 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:n kan nås från arbetsbelastningar i den virtuella datorn.

Anteckning

Du måste också installera drivrutiner från GPU-tillverkaren i 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. Om du vill göra det kör du följande cmdlet i PowerShell:

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

Redundansvämna en virtuell dator med en tilldelad GPU

Om du vill testa klustrets möjlighet att hålla GPU-arbetsbelastningen tillgänglig utför du en dräneringså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ållsprocedurer 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 även: