Åtgärda ett AllocationFailed- eller ZonalAllocationFailed-fel när du skapar, startar om eller ändrar storlek på Virtual Machine Scale Sets i Azure

Varning

Om skalningsuppsättningen för virtuella Microsoft Azure-datorer ingår i ett Azure Service Fabric-kluster följer du inte den här felsökningsguiden. Den här vägledningen kan orsaka dataförlust och oåterkalleliga klusterskador i det här scenariot. Mer information finns i Kan jag använda stora VM-skalningsuppsättningar i mitt Service Fabric-kluster?

I den här artikeln får du information om:

  • AllocationFailed- eller ZonallocationFailed-fel i Microsoft Azure Virtual Machine Scale Sets.
  • Så här undviker du allokeringsfel.
  • Orsakerna till allokeringsfelen.
  • Så här felsöker du allokeringsfel när de uppstår.

Information om hur du felsöker allokeringsfel för virtuella standarddatorer finns i Felsöka allokeringsfel när du skapar, startar om eller ändrar storlek på virtuella datorer i Azure.

Symptom

På grund av hög efterfrågan på Azure-tjänster kan ett allokeringsfel inträffa om du försöker skapa eller starta VM-instanser i vissa regioner. Azure försöker allokera beräkningsresurser till din prenumeration när du:

  • Skapa en VM-skalningsuppsättning.
  • Starta om en stoppad (frigjord) vm-instans för skalningsuppsättningar.
  • Ändra storlek på en skalningsuppsättning.

Följande felinformation är ett exempel på meddelandet om allokeringsfel.

Felkod: AllocationFailed eller ZonalAllocationFailed

Felmeddelande 1: Allokeringen misslyckades. Vi har inte tillräckligt med kapacitet för den begärda VM-storleken i den här regionen. Läs mer om att förbättra sannolikheten för att allokeringen lyckas på https://aka.ms/allocation-guidance.

Felmeddelande 2: Allokeringen misslyckades. Det går inte att allokera virtuella datorer med följande begränsningar, eftersom villkoret är för restriktivt. Ta bort vissa begränsningar och försök igen. Begränsningar som tillämpas är:

  • Tillgänglighetszon
  • VM-storlek

Felmeddelande 3: Allokeringen misslyckades. Om du försöker lägga till en ny virtuell dator i en VM-skalningsuppsättning med en enda placeringsgrupp eller uppdatera/ändra storlek på en befintlig virtuell dator i en VM-skalningsuppsättning med en enda placeringsgrupp bör du tänka på att allokeringen är begränsad till ett enda kluster, och det är möjligt att klustret har slut på kapacitet. Läs mer om att förbättra sannolikheten för att allokeringen lyckas på https://aka.ms/allocation-guidance.

Så här undviker du allokeringsfel

För att undvika allokeringsfel kan du tillämpa vissa konfigurationsinställningar på skalningsuppsättningen för att optimera allokeringsbegäranden.

  • Överetablering. När överetablering är aktiverat startar skalningsuppsättningen faktiskt fler VM-instanser än du bad om. Den tar sedan bort de extra VM-instanserna när det begärda antalet VM-instanser har etablerats. Den här metoden förbättrar antalet lyckade etableringar och minskar distributionstiden. Du debiteras inte för de extra VM-instanserna och de räknas inte mot dina kvotgränser. Så här aktiverar du överetablering:

    1. I Azure Portal söker du efter och väljer Vm-skalningsuppsättningar.

    2. Välj namnet på skalningsuppsättningen.

    3. I menyfönstret väljer du Konfiguration.

    4. I rubriken Överetablering anger du Aktivera överetablering till .

    5. Välj Spara.

    Läs mer om överetablering.

  • Aktivera storskaliga uppsättningar. Stora Virtual Machine Scale Sets definieras som skalningsuppsättningar som kan skalas till fler än 100 VM-instanser. Den här funktionen anges av en skalningsuppsättningsegenskap (singlePlacementGroup=false). Det som gör en stor skalningsuppsättning speciell är inte antalet VM-instanser, utan antalet placeringsgrupper som den innehåller. En placeringsgrupp liknar en Azure-tillgänglighetsuppsättning med egna feldomäner och uppgraderingsdomäner. Med singlePlacementGroup värdet har du större chans att falseallokeringen lyckas eftersom distributionerna kan spridas över flera kluster när de distribueras som en flerplaceringsgrupp. Läs mer om hur du arbetar med stora VM-skalningsuppsättningar, särskilt hur du konverterar en befintlig skalningsuppsättning för flera placeringsgrupper.

    Obs!

    Du kan ändra en skalningsuppsättning från att stödja en enskild placeringsgrupp till att stödja flera placeringsgrupper, men du kan inte utföra en konvertering i den andra riktningen. När singlePlacementGroup har angetts till falsekan du inte ändra tillbaka den.

Minska antalet instanser av den begärda VM-storleken och försök sedan utföra distributionsåtgärden igen. För större distributioner kanske du vill utvärdera Azure Virtual Machine Scale Sets med flera placeringsgrupper. Antalet VM-instanser kan automatiskt öka eller minska som svar på efterfrågan eller ett definierat schema.

Andra tips

Tills den önskade vm-typen är tillgänglig i önskad region bör kunder som upplever distributionsproblem betrakta vägledningen i följande avsnitt som en tillfällig lösning.

Identifiera det scenario som bäst matchar ditt fall. Om du vill öka sannolikheten för att allokeringen lyckas gör du ett nytt försök med allokeringsbegäran med hjälp av motsvarande föreslagna lösning. Eller så kan du alltid försöka igen senare. Tillräckligt med resurser kan ha frigjorts i klustret, regionen eller zonen för att hantera din begäran vid en annan tidpunkt.

Orsak

Regionen eller zonen har inte tillräckligt med kärnkapacitet för den begärda SKU:n.

Orsak 1: Ändra storlek på en skalningsuppsättning eller lade till virtuella datorinstanser i en befintlig skalningsuppsättning

Om det finns en begäran om att ändra storlek på en skalningsuppsättning eller lägga till en VM-instans i en befintlig skalningsuppsättning, måste den provas i det ursprungliga klustret som är värd för den befintliga skalningsuppsättningen. Eller så stöder klustret den begärda VM-storleken men har för närvarande kanske inte tillräckligt med kapacitet.

Lösning för orsak 1

Prova någon av följande åtgärder:

  • Försök att flytta skalningsuppsättningen till ett annat kluster i samma region med tillräcklig kapacitet.

    Stoppa (frigöra) alla VM-instanser i skalningsuppsättningen och ändra sedan storlek på skalningsuppsättningen efter behov. När storleksändringen har slutförts startar du om vm-instanserna. Så här stoppar du de virtuella datorinstanserna:

    1. I Azure Portal söker du efter och väljer Vm-skalningsuppsättningar.

    2. Välj namnet på skalningsuppsättningen.

    3. Välj Stoppa.

    När du har stoppat alla VM-instanser för att köra storleksändringen och sedan starta skalningsuppsättningen kan det nya allokeringsförsöket identifiera ett kluster med tillräckligt med kapacitet för att vara värd för hela skalningsuppsättningen.

  • Konfigurera skalningsuppsättningen så att den skalas över mer än en placeringsgrupp.

    Se Skapa en stor skalningsuppsättning.

Orsak 2: Startade om en delvis stoppad (frigjord) virtuell dator

Partiell frigöring innebär att du stoppade (frigjorde) en eller flera, men inte alla, virtuella datorinstanser i en skalningsuppsättning. När du frigör en VM-instans släpps de associerade resurserna. Omstart av VM-instanser i en delvis frigjord tillgänglighetsuppsättning är samma sak som att lägga till VM-instanser i en befintlig tillgänglighetsuppsättning. Därför måste du prova allokeringsbegäran i det ursprungliga klustret som är värd för den befintliga tillgänglighetsuppsättningen, som kanske inte har tillräckligt med kapacitet.

Lösning för orsak 2

Stoppa (frigöra) alla VM-instanser i skalningsuppsättningen och starta sedan om varje VM-instans. Så här stoppar du de virtuella datorinstanserna:

  1. I Azure Portal söker du efter och väljer Vm-skalningsuppsättningar.

  2. Välj namnet på skalningsuppsättningen.

  3. I menyfönstret väljer du Instanser.

  4. Välj alla virtuella datorinstanser som visas.

  5. Välj Stoppa.

När alla virtuella datorer har stoppats väljer du den första VM-instansen och väljer sedan Starta. Azure gör ett nytt allokeringsförsök och väljer ett nytt kluster som har tillräcklig kapacitet.

Orsak 3: Omstartade VM-instanser som stoppades helt

Fullständig frigöring innebär att du stoppade (frigjorde) alla VM-instanser i en tillgänglighetsuppsättning. Allokeringsbegäran om att starta om dessa VM-instanser riktar sig till alla kluster som stöder den storlek som krävs i regionen eller zonen.

Lösning för orsak 3

Ändra din allokeringsbegäran med hjälp av förslagen i den här artikeln. Försök sedan begäran igen för att förbättra risken för att allokeringen lyckas.

Om du använder äldre VM-serier eller storlekar (till exempel Dv1, DSv1, Av1, D15v2 eller DS15v2) bör du överväga att flytta till nyare versioner. Se de här rekommendationerna för specifika VM-storlekar. Är du inte tillåten att använda en annan VM-storlek? Prova sedan att distribuera till en annan region inom samma geografi. Mer information om tillgängliga VM-storlekar i varje region finns på https://aka.ms/azureregions.

Om du använder tillgänglighetszoner kan du prova en annan zon i regionen som kan ha tillgänglig kapacitet för den begärda VM-storleken.

Om din allokeringsbegäran är stor (mer än 500 kärnor) läser du följande avsnitt för att dela upp begäran i mindre distributioner.

Prova att distribuera om den virtuella datorinstansen, som allokerar den virtuella datorinstansen till ett nytt kluster i regionen.

Allokeringsfel för äldre VM-storlekar

Vissa vm-storlekar i äldre serier körs inte på vår senaste generations infrastruktur. Kunder kan ibland uppleva allokeringsfel för dessa äldre SKU:er. Vi uppmuntrar kunder som använder äldre virtuella datorer i serien att överväga att migrera till motsvarande nyare virtuella datorer. De nyare virtuella datorerna är optimerade för den senaste maskinvaran, och de gör att du kan dra nytta av bättre priser och prestanda.

Se följande rekommendationer:

Äldre VM-serie eller -storlek Rekommenderad nyare VM-serie eller storlek Blogglänk
Av1-serien Av2-serien Nya A_v2-Series VM-storlekar
Dv1- eller DSv1-serien (D1 till D5) Dv3- eller DSv3-serien Introduktion till de nya vm-storlekarna Dv3 och Ev3
Dv1- eller DSv1-serien (D11 till D14) Ev3- eller ESv3-serien
D15v2 eller DS15v2

Om du använder distributionsmodellen Resource Manager för att dra nytta av de större VM-storlekarna bör du överväga att flytta till D16v3/DS16v3 eller D32v3/DS32v3. Dessa storlekar är utformade för att köras på den senaste generationens maskinvara.

Använder du distributionsmodellen Resource Manager för att se till att den virtuella datorinstansen är isolerad till maskinvara som är dedikerad till en enda kund? Överväg sedan att flytta till de nya isolerade VM-storlekarna, E64i_v3 eller E64is_v3, som är utformade för att köras på den senaste generationens maskinvara.

Nya isolerade VM-storlekar är nu tillgängliga

Bakgrundsinformation

Så här fungerar allokering

Azure-plattformen försöker partitionera datacenterservrar i kluster. Normalt försöker den utföra en allokeringsbegäran i flera kluster. Men vissa begränsningar från allokeringsbegäran kan tvinga Azure-plattformen att bara försöka utföra begäran i ett kluster ("fäst på ett kluster"). Diagram 1 nedan visar en normal allokering som försöker utföras i flera kluster (kluster 1 till och med kluster n). I diagram 2 fästs en allokering på kluster 2 eftersom klustret är värd för den befintliga molntjänsten (CS_1) eller tillgänglighetsuppsättningen.

Diagram 1: En Azure-plattformsallokering som har försökts i flera kluster. Diagram 2: En Azure-plattformsallokering som är fäst på ett kluster.

Varför allokeringsfel inträffar

Om en allokeringsbegäran fästs på ett kluster finns det större risk att det inte går att hitta kostnadsfria resurser eftersom den tillgängliga resurspoolen är mindre. Vad händer om din allokeringsbegäran är fäst på ett kluster som inte stöder den typ av resurs som du har begärt? Då misslyckas din begäran även om klustret har kostnadsfria resurser. Diagram 3 nedan visar var en fäst allokering misslyckas eftersom det enda kandidatklustret inte har några kostnadsfria resurser. Diagram 4 visar var en fäst allokering misslyckas, eftersom det enda kandidatklustret inte stöder den begärda VM-storleken, även om klustret har kostnadsfria resurser.

Diagram över allokeringsfel är fästa kluster. Diagram 3 visar att inga kostnadsfria resurser är tillgängliga. Diagram 4 visar att storleken inte stöds.

Kontakta oss för att få hjälp

Om du har frågor eller behöver hjälp skapar du en supportförfrågan eller frågar Azure community support. Du kan också skicka produktfeedback till Azure-feedbackcommunityn.