Kompatibilitetsläge för dynamisk processor i Azure Stack HCI

Gäller för: Azure Stack HCI, versionerna 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 mekanismen 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.

Kompatibilitetsläget för dynamisk processor i Azure Stack HCI har uppdaterats för att dra nytta av nya processorfunktioner i en klustrad miljö. Processorkompatibiliteten fungerar genom att fastställa vilka processorfunktioner som stöds för varje enskild nod i klustret och beräkna den gemensamma nämnaren för alla processorer. Virtuella datorer är konfigurerade för att använda det maximala antalet funktioner som är tillgängliga på alla servrar i klustret. Detta förbättrar prestanda jämfört med den tidigare versionen av processorkompatibiliteten som standard har en minimal, fast uppsättning processorfunktioner.

Information om processorkompatibilitetsläget i Windows Server finns i Processorkompatibilitetsläge i Hyper-V.

När processorkompatibilitetsläget ska användas

Med kompatibilitetsläget för processorn kan du flytta en virtuell dator i realtid (direktmigrering) eller flytta en virtuell dator som sparas mellan noder med olika processkapacitetsuppsättningar. Men även när processorkompatibilitet är aktiverat kan du inte flytta virtuella datorer mellan värdar med olika processortillverkare. Du kan till exempel inte flytta virtuella datorer som körs eller virtuella datorer med sparat tillstånd från en värd med Intel-processorer till en värd med AMD-processorer. Om du måste flytta en virtuell dator på det här sättet stänger du först av den virtuella datorn och startar sedan om den på den nya värden.

Viktigt

Endast virtuella Hyper-V-datorer med den senaste konfigurationsversionen (10.0) drar nytta av den dynamiska konfigurationen. Virtuella datorer med äldre versioner drar inte nytta av den dynamiska konfigurationen och fortsätter att använda fasta processorfunktioner från den tidigare versionen.

Vi rekommenderar att du aktiverar kompatibilitetsläget för processorn för virtuella datorer som körs på Azure Stack HCI. Detta ger den högsta nivån av funktioner, och när det är dags att migrera till ny maskinvara kräver flytt av de virtuella datorerna inte driftstopp.

Anteckning

Du behöver inte använda kompatibilitetsläget för processorn om du planerar att stoppa och starta om de virtuella datorerna. Varje gång en virtuell dator startas om räknar gästoperativsystemet upp processorkompatibiliteterna som är tillgängliga på den nya värddatorn.

Varför processorkompatibilitetsläge behövs

Processortillverkare introducerar ofta optimeringar och funktioner i sina processorer. Dessa funktioner förbättrar ofta prestanda eller säkerhet genom att använda specialiserad maskinvara för en viss uppgift. Många medieprogram använder till exempel processorfunktioner för att påskynda vektorberäkningar. Dessa funktioner krävs sällan för att program ska kunna köras. de förbättrar helt enkelt prestandan.

Den funktionsuppsättning som är tillgänglig på en processor varierar beroende på märke, modell och ålder. Operativsystem och programprogramvara räknar vanligtvis upp systemets processorkapacitetsuppsättning när de först startas. Programvaran förväntar sig inte att de tillgängliga processorfunktionerna ändras under sin livstid, och det kan naturligtvis aldrig hända när den körs på en fysisk dator eftersom processorfunktionerna är statiska om inte processorn uppgraderas.

Med vm-mobilitetsfunktioner kan dock en virtuell dator som körs migreras till en ny virtualiseringsvärd. Om programvara på den virtuella datorn har identifierats och börjat använda en viss processorfunktion och den virtuella datorn flyttas till en ny virtualiseringsvärd som saknar den funktionen, kommer programvaran sannolikt att misslyckas. Detta kan leda till att programmet eller den virtuella datorn kraschar.

För att undvika fel utför Hyper-V kontroller före förhandsversion när en virtuell dators direktmigrering eller spara/återställa-åtgärd initieras. Dessa kontroller jämför uppsättningen processorfunktioner som är tillgängliga för den virtuella datorn på källvärden med den uppsättning funktioner som är tillgängliga på målvärden. Om dessa funktionsuppsättningar inte matchar avbryts migrerings- eller återställningsåtgärden.

Nyheter i processorkompatibilitetsläge

Tidigare var alla nya uppsättningar med processorinstruktioner dolda, vilket innebär att gästoperativsystemet och programprogramvaran inte kunde dra nytta av nya förbättringar av processorinstruktioner för att hjälpa program och virtuella datorer att hålla prestanda.

För att lösa den här begränsningen har processorkompatibilitetsläget uppdaterats för att ge förbättrade, dynamiska funktioner på processorer som kan använda SLAT (Second Level Address Translation). Den här nya funktionen beräknar den gemensamma nämnaren för processorfunktioner som stöds av noderna i klustret och uppdaterar det befintliga kompatibilitetsläget för processorn på en virtuell dator så att den här dynamiskt beräknade funktionsuppsättningen används i stället för den gamla hårdkodade funktionsuppsättningen.

I Azure Stack HCI-miljöer säkerställer det nya kompatibilitetsläget för processorn att uppsättningen processorfunktioner som är tillgängliga för virtuella datorer mellan virtualiseringsvärdar matchar genom att presentera en gemensam funktionsuppsättning för alla servrar i klustret. Varje virtuell dator får det maximala antalet processorinstruktioner som finns på alla servrar i klustret. Den här processen sker automatiskt och är alltid aktiverad och replikerad i klustret, så det finns inget kommando för att aktivera eller inaktivera processen.

Migrera virtuella datorer som körs mellan kluster

Förutsatt att alla servrar i varje kluster kör samma maskinvara, vilket är ett krav för Azure Stack HCI, är det möjligt att direktmigrera virtuella datorer som körs mellan kluster. Det finns tre vanliga scenarier.

  • Direktmigrering av en virtuell dator från ett kluster med nya processorer till ett kluster med samma processorer. Vm-funktionerna överförs till målklustret. Det här scenariot kräver inte att kompatibilitetsläget för processorn är aktiverat. Om den är aktiverad orsakas dock inga problem.

  • Direktmigrering av en virtuell dator från ett kluster med äldre processorer till ett kluster med nyare processorer. Vm-funktionerna överförs till målklustret. Om den virtuella datorn startas om i det här scenariot får den den senaste beräknade funktionen för målklustret.

  • Direktmigrering av en virtuell dator från ett kluster med nyare processorer till ett kluster med äldre processorer. Du måste ange att den virtuella datorprocessorn ska använda MinimumFeatureSet för parametern CompatibilityForMigrationMode i PowerShell eller välja Kompatibel mellan andra värdar med samma PROCESSOR-tillverkare i Windows Admin Center under Inställningar > processorer > för virtuella datorer. Detta tilldelar den virtuella datorn till de minsta processorfunktioner som erbjuds på servern. När kompatibiliteten har flyttats till Kompatibel i klustret (rekommenderas) och den virtuella datorn startas om får den senaste beräknade funktionen för målklustret.

Konfigurera en virtuell dator för att använda processorkompatibilitetsläge

I det här avsnittet beskrivs hur du konfigurerar en virtuell dator för att använda processorkompatibilitetsläge med hjälp av antingen Windows Admin Center eller PowerShell. Det går att köra virtuella datorer med och utan kompatibilitetsläge i samma kluster.

Viktigt

Du måste stänga av den virtuella datorn innan du kan aktivera eller inaktivera kompatibilitetsläget för processorn.

Aktivera kompatibilitetsläget för processorn med hjälp av Windows Admin Center

Så här aktiverar du kompatibilitetsläget för processorn med hjälp av Windows Admin Center:

  1. Anslut till klustret och välj Sedan Virtuella datorer i fönstret Verktyg.

  2. Under Inventering väljer du den virtuella dator där du vill aktivera kompatibilitetsläget för processorn, expanderar Power-menyn och väljer sedan Stäng av.

  3. Välj Inställningar och sedan Processorer och markera kryssrutan processorkompatibilitet.

    Markera kryssrutan för att aktivera processorkompatibilitet

  4. Om du vill ange den virtuella datorns CPU-funktioner till den högsta nivå som stöds av alla servrar i ett kluster väljer du Kompatibel i klustret (rekommenderas). Detta maximerar prestanda för virtuella datorer samtidigt som möjligheten att flytta den virtuella datorn som körs till andra servrar i klustret bevaras. Vi rekommenderar att du aktiverar detta för alla virtuella datorer som körs på Azure Stack HCI 21H2-kluster. Om den virtuella datorn är inaktiverad måste den startas om för att flyttas till en värd med en annan nivå av CPU-instruktioner som stöds, vilket är vanligt med olika generationer av processorer.

    Om du vill ange den virtuella datorns CPU-funktioner till minimum för att se till att du kan flytta den virtuella datorn som körs till andra Hyper-V-värdar utanför klustret så länge de har samma CPU-tillverkare väljer du Kompatibel mellan andra värdar med samma CPU-tillverkare.

    Anteckning

    Precis som dynamiskt kompatibilitetsläge för processorn är Kompatibel i klustret exklusivt för Azure Stack HCI 21H2 och stöds inte för andra operativsystem.

  5. Välj Spara processorinställningar och starta om den virtuella datorn.

Aktivera processorkompatibilitetsläge med PowerShell

Om du vill aktivera kompatibilitetsläget för processorn kör du följande cmdlet:

get-vm -name <name of VM> -ComputerName <target cluster or host> | Set-VMProcessor -CompatibilityForMigrationEnabled $true 

Vi rekommenderar att du ställer in den virtuella datorns CPU-funktioner på den högsta nivå som stöds av alla servrar i klustret. Detta maximerar prestanda för virtuella datorer samtidigt som möjligheten att flytta den virtuella datorn som körs till andra servrar i klustret bevaras.

Om du vill att den virtuella datorn ska kunna använda de vanliga funktionerna för klusternoden kör du följande cmdlet:

get-vm -name <name of VM> -ComputerName <target cluster or host> | Set-VMProcessor -CompatibilityForMigrationEnabled $true -CompatibilityForMigrationMode CommonClusterFeatureSet

Du kan också ange den virtuella datorns CPU-funktioner till minimum, vilket säkerställer att du kan flytta den virtuella datorn som körs till andra Hyper-V-värdar utanför klustret om de har samma CPU-tillverkare.

Om du vill att den virtuella datorn ska kunna använda de minsta standardfunktionerna för migrering mellan kluster kör du följande cmdlet:

get-vm -name <name of VM> -ComputerName <target cluster or host> | Set-VMProcessor -CompatibilityForMigrationEnabled $true -CompatibilityForMigrationMode MinimumFeatureSet

Nästa steg

Mer information finns i även: