Dela via


Felsök allokeringsfel när du skapar eller ändrar storlek på virtuella datorer i Azure

Gäller för: ✔️ Virtuella Linux-datorer ✔️ Virtuella Windows-datorer

När du skapar en virtuell dator (VM), startar alla stoppade (frigjorda) virtuella datorer eller ändrar storlek på en virtuell dator allokerar Microsoft Azure beräkningsresurser till din prenumeration. Vi investerar kontinuerligt i ytterligare infrastruktur och funktioner för att säkerställa att vi alltid har alla virtuella datortyper tillgängliga för att stödja kundernas efterfrågan. Däremot kan du ibland uppleva resursallokeringsfel på grund av en aldrig tidigare skådad ökning av efterfrågan på Azure-tjänster i specifika regioner. Det här problemet kan uppstå när du försöker skapa, starta eller ändra storlek på virtuella datorer i en region medan de virtuella datorerna kan visa en felkod och ett meddelande som liknar följande text:

Felkod: AllocationFailed eller ZonalAllocationFailed

Felmeddelande: 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 i https://aka.ms/allocation-guidance":

Alternativ rekommendation: När du får en alternativ rekommendation innebär det att storleken på den virtuella datorn som du begärde är för närvarande inte tillgänglig i den valda regionen eller zonen. Om du vill öka dina chanser att allokera en virtuell dator kan du välja något av de alternativa alternativen. Använd bara ändringarna i indatavalet för den virtuella datorn eller ändra storlek på den befintliga virtuella datorn med önskat alternativ och försök att starta eller skapa den virtuella datorn igen.

Prova till exempel något av dessa alternativ för att förbättra risken för att allokeringen lyckas:

  • Alternativa storlekar på virtuella datorer för samma zon och region: Standard_A2_v2, Standard_A2m_v2 eller Standard_D2a_v4
  • Alternativa zoner för samma storlek på virtuella datorer och region: Zon 1 och 3

Obs!

Om du felsöker en virtuell dators skalningsuppsättning (VMSS) är processen densamma som en vanlig virtuell dator. För att lösa problemet bör du följa anvisningarna i den här artikeln.

Felmeddelande: Allokeringen misslyckades. Om du försöker lägga till en ny virtuell dator i VMSS med en enkel placeringsgrupp eller uppdatera/ändra storlek på en befintlig virtuell dator i en VMSS med en enkel placeringsgrupp, är det bra att tänka på att en sådan allokering är begränsad till ett enda kluster och det är möjligt att klustret saknar kapacitet. Läs mer om att förbättra sannolikheten för att allokeringen lyckas i http://aka.ms/allocation-guidance.":

Den här artikeln förklarar orsakerna till några av de vanliga allokeringsfelen och föreslår möjliga åtgärder.

Tills den önskade typen av virtuella datorer är tillgänglig i önskad region rekommenderar vi kunder som stöter på distributionsproblem att betrakta vägledningen som en tillfällig lösning.

Identifiera det scenario som bäst matchar ditt ärende och försök sedan igen med allokeringsbegäran med hjälp av motsvarande föreslagna lösning för att öka sannolikheten för att allokeringen lyckas. Alternativt kan du alltid försöka igen senare. Detta beror på att tillräckligt med resurser kan ha frigjorts i klustret, regionen eller zonen för att hantera din begäran.

Överväg att använda Kapacitetsreservationer på begäran för att säkerställa att det alltid finns kapacitet som är avsedd för dina arbetsbelastningar. Med det här alternativet kan du reservera beräkningskapacitet i förväg, vilket säkerställer att dina virtuella datorer kan distribueras efter behov utan allokeringsfel. Den här metoden kan förbättra tillförlitligheten och förutsägbarheten för dina distributioner.

Fristående virtuell dator

Orsak

Om du har en fristående virtuell dator i Azure, vilket innebär att den inte ingår i en tillgänglighetsuppsättning eller närhetsplaceringsgrupp med andra virtuella datorer, och du stöter på allokeringsfel vid försök att skapa, starta eller distribuera om, indikerar detta att Azure för närvarande saknar tillräcklig kapacitet för att uppfylla din begäran i den angivna regionen eller zonen.

Provisoriska lösningar

Använd någon av följande metoder för att lösa problemet:

  • Försök igen med allokeringen

    Ibland kan problemet vara tillfälligt och ett nytt försök att allokera efter en kort period kan lösa problemet.

  • Ändra storlek på den virtuella datorn

    Överväg att ändra den virtuella datorn till en annan storlek som kan ha mer tillgänglighet i regionen eller zonen.

  • Ändra region eller zon

    Om den aktuella regionen eller zonen har hög efterfrågan kan du prova att distribuera den virtuella datorn i en annan region eller tillgänglighetszon där det kan finnas mer kapacitet.

Ändra storlek på en virtuell dator, lägg till virtuella datorer eller starta delvis stoppade (frigjorda) virtuella datorer till en befintlig tillgänglighetsuppsättning

Obs!

En virtuell dator kan bara läggas till i en tillgänglighetsuppsättning när den skapas. Om du vill lägga till en befintlig virtuell dator i en tillgänglighetsuppsättning eller ändra en virtuell dators tillgänglighetsuppsättning måste den virtuella datorn tas bort och återskapas. För med information läser du Så här ändrar du tillgänglighetsuppsättningen för en virtuell dator med hjälp av Azure PowerShell.

Orsak

En begäran om att ändra storlek på eller lägga till en virtuell dator i en befintlig tillgänglighetsuppsättning måste prövas i det ursprungliga klustret som är värd för den befintliga tillgänglighetsuppsättningen. Klustret kanske inte stöder den begärda storleken för den virtuella datorn eller har för närvarande inte en tillräcklig kapacitet.

Partiell frigöring innebär att du har stoppat (frigjort) en eller flera, men inte alla, virtuella datorer i en tillgänglighetsuppsättning. När du frigör en virtuell dator släpps de associerade resurserna. Att starta virtuella datorer i en delvis frigjord tillgänglighetsuppsättning är detsamma som att lägga till virtuella datorer i en befintlig tillgänglighetsuppsättning. Därför måste allokeringsbegäran göras i det ursprungliga klustret som är värd för den befintliga tillgänglighetsuppsättningen som kanske inte har tillräcklig kapacitet.

Provisoriska lösningar

Använd någon av följande metoder för att lösa problemet:

  • För en ny distribution av en virtuell dator, om den kan ingå i en annan tillgänglighetsuppsättning skapar du den virtuella datorn i en annan tillgänglighetsuppsättning (i samma region eller zon). Den nya virtuella datorn kan sedan läggas till i samma virtuella nätverk.

  • Överväg att ändra storlek på den virtuella datorn till en annan storlek som kan ha mer tillgänglighet i regionen eller zonen. För att säkerställa att storlekarna på de virtuella datorerna stöds i din tillgänglighetsuppsättning använder du tillgänglighetsuppsättningar – Lista tillgängliga storlekar – REST API.

  • Stoppa (frigöra) alla virtuella datorer i samma tillgänglighetsuppsättning och starta sedan alla tillämpliga virtuella datorer i en batch för att tillåta allokering från alla tillgängliga kluster, i stället för bara det kluster där tillgänglighetsuppsättningen är för närvarande allokerad.

    Följ dessa steg för att stoppa alla virtuella datorer i tillgänglighetsuppsättningen:

    1. Gå till Virtuella datorer i Azure-portalen.
    2. Välj Lägg till filter och lägg till ett filter för den tillgänglighetsuppsättning som du vill hantera.
    3. Markera kryssrutan för alla virtuella datorer i tillgänglighetsuppsättningen.
    4. Välj Stoppa och vänta tills åtgärden har slutförts och alla virtuella datorer rapporterar statusen Stoppad (frigjord).
    5. Välj Starta för att allokera alla virtuella datorer igen.

Starta helt stoppade (frigjorda) virtuella datorer i en tillgänglighetsuppsättning

Orsak

Fullständig frigöring innebär att du stoppade (frigjorde) alla virtuella datorer i en tillgänglighetsuppsättning. Allokeringsbegäran om att starta dessa virtuella datorer riktar sig till alla kluster som stöder önskade storlekar i regionen eller zonen.

Provisoriska lösningar

Använd någon av följande metoder för att lösa problemet:

  • Försök igen med allokeringen

    Ibland kan problemet vara tillfälligt och ett nytt försök att allokera efter en kort period kan lösa problemet.

  • Ändra storlek på de virtuella datorerna

    Överväg att ändra storlek på den virtuella datorn till en annan storlek som kan ha mer tillgänglighet i regionen eller zonen. Om du vill säkerställa att storlekarna på de virtuella datorerna stöds i tillgänglighetsuppsättningen använder du Tillgänglighetsuppsättningar – Lista tillgängliga storlekar – REST API.

  • Ändra region eller zon

    Om den aktuella regionen eller zonen har hög efterfrågan kan du prova att distribuera eller migrera de virtuella datorerna till en annan region eller tillgänglighetszon där det kan finnas mer kapacitet.

Allokeringsfel för virtuella datorer i tillgänglighetszoner

Orsak

Azure-tillgänglighetszoner är fysiskt och logiskt separata datacenter inom en Azure-region. Varje tillgänglighetszon har en egen oberoende infrastruktur för ström, kylning och nätverk. Dessa är utformade för att säkerställa hög tillgänglighet och motståndskraft genom att isolera fel i en enda zon, vilket minimerar påverkan på andra zoner inom samma region.

Men på grund av de ytterligare villkor för distributionsbegränsningar som är associerade med tillgänglighetszoner kan allokeringsfelen inträffa.

Provisoriska lösningar

Använd någon av följande metoder för att lösa problemet:

  • Försök igen med allokeringen

    Ibland kan ett nytt försök med allokeringsbegäran senare hjälpa eftersom resurser kan ha frigjorts i zonen.

  • Ändra storlek på den virtuella datorn

    Överväg att ändra storlek på den virtuella datorn till en annan storlek som kan ha mer tillgänglighet i regionen eller zonen.

  • Ändra region eller zon

    Om den aktuella regionen eller zonen har hög efterfrågan kan du prova att distribuera eller migrera de virtuella datorerna till en annan region eller tillgänglighetszon där det kan finnas mer kapacitet. Regionen eller zonen kan ändras med följande metoder:

Överansträngda allokeringsfel

Orsak

När Azure Compute-plattformen inte kan allokera en virtuell dator för att uppfylla de nödvändiga begränsningar som anges i begäran uppstår överansträngda allokeringsfel. Dessa fel inträffar vanligtvis när specifika krav inte kan uppfyllas inom de tillgängliga resurserna. De indikeras ofta av fel som OverconstrainedZonalAllocationRequest eller OverconstrainedAllocationRequest.

Dessa begränsningar omfattar vanligtvis (men inte alltid) följande objekt:

  • VM-storlek/SKU
  • Accelererat nätverk
  • Tillgänglighetszon
  • Tillfällig disk
  • Närhetsplaceringsgrupp (Proximity Placement Group – PPG)
  • Ultradisk eller PremiumSSDv2

Provisoriska lösningar

Använd någon av följande metoder för att lösa problemet:

  • Försök igen med allokeringen

    Ibland kan ett nytt försök med allokeringsbegäran senare hjälpa eftersom resurser kan ha frigjorts i zonen.

  • Ändra storlek på den virtuella datorn

    Överväg att ändra storlek på den virtuella datorn till en annan storlek som kan ha mer tillgänglighet i regionen eller zonen.

  • Ändra region eller zon

    Om den aktuella regionen eller zonen har hög efterfrågan kan du prova att distribuera eller migrera de virtuella datorerna till en annan region eller tillgänglighetszon där det kan finnas mer kapacitet. Regionen eller zonen kan ändras med följande metoder:

  • Justera begränsningar som kan begränsa allokeringen: det kan finnas tillräcklig tillgänglighet för vm-SKU:n i zonen. De definierade begränsningarna kan dock förhindra allokering. Om du vill öka sannolikheten för lyckad allokering kan du överväga att justera begränsningarna genom att:

    • Inaktivera accelererat nätverk.
    • Ta bort den virtuella datorn från valfri närhetsplaceringsgrupp.
    • Tar bort ultraSSD- eller PemiumSSDv2-diskar.

Allokeringsfel för virtuella datorer med närhetsplaceringsgrupper

Närhetsplaceringsgrupper ser till att resurserna är indelade i samma datacenter för att minska svarstiden. Den tillagda distributionsbegränsningen kan dock ibland leda till allokeringsfel. För mer information och bästa praxis läser du Närhetsplaceringsgrupper.

Orsak

När du begär att starta eller allokera den första virtuella datorn i en närhetsplaceringsgrupp, väljs datacentret automatiskt. Om den nödvändiga storleken på den virtuella datorn inte är tillgänglig i det datacentret misslyckas begäran. I scenarier med elastiska arbetsbelastningar där virtuella datorinstanser läggs till eller tas bort dynamiskt, kan tillämpning av en begränsning för närhetsplaceringsgrupp leda till ett tilldelningsfel, vilket indikerar att tilldelningsbegäran inte kan slutföras.

Lösning

Frigör alla virtuella datorer i närhetsplaceringsgruppen och försök ändra i vilken ordning du startar dina virtuella datorer. Om du startar dina virtuella datorer med den mest restriktiva SKU:n först kan du öka risken för lyckade allokeringar.

Allokeringsfel för äldre VM-storlekar (Av1, Dv1, DSv1, D15v2, DS15v2 osv.)

När vi expanderar Azure-infrastrukturen distribuerar vi nyare maskinvara som är utformad för att stöda de senaste typerna av virtuella datorer. Vissa av de äldre seriernas virtuella datorer körs inte på den senaste generationens infrastruktur. Därför kan kunder ibland uppleva allokeringsfel för dessa äldre SKU:er. För att undvika detta problem uppmuntrar vi kunder som använder äldre virtuella datorer att överväga att flytta till motsvarande nyare virtuella datorer enligt följande rekommendationer. Dessa virtuella datorer är optimerade för den senaste hårdvaran och gör att du kan dra fördel av bättre priser och prestanda.

Äldre VM-serie/storlek Rekommenderad nyare VM-serie/storlek Mer information
Av1-serien Av2-serien https://azure.microsoft.com/blog/new-av2-series-vm-sizes/
Dv1- eller DSv1-serien (D1 till D5) Dv3- eller DSv3-serien https://azure.microsoft.com/blog/introducing-the-new-dv3-and-ev3-vm-sizes/
Dv1- eller DSv1-serien (D11 till D14) Ev3- eller Sv3-serien
D15v2 eller DS15v2 Överväg att flytta till D16v3/DS16v3 eller D32v3/DS32v3. Dessa är utformade för att köras på den senaste generationens maskinvara. Om du vill se till att den virtuella datorinstansen är isolerad till maskinvara som är dedikerad till en enskild kund kan du överväga att flytta till de nya isolerade virtuella datorstorlekarna, E64i_v3 eller E64is_v3, som är utformade för att köras på den senaste generationens maskinvara. https://azure.microsoft.com/blog/new-isolated-vm-sizes-now-available/

Allokeringsfel för stora distributioner (fler än 500 kärnor)

Minska antalet instanser av den begärda VM-storleken och försök sedan att distribuera igen. För större distributioner kanske du dessutom 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, och du har större chans att allokeringen lyckas eftersom distributionerna kan spridas över flera kluster när de distribueras som en grupp med flera placeringar. Läs mer om att arbeta med stora VM-skalningsuppsättningar och hur du konverterar en befintlig skalningsuppsättning som sträcker sig över flera placeringsgrupper. Observera att du kan ändra en skalningsuppsättning från att stödja en enda placeringsgrupp till att stödja flera placeringsgrupper, men du kan inte utföra en konvertering i den andra riktningen.

Bakgrundsinformation

Så här fungerar allokering

Servrarna i Azure-datacenter partitioneras i kluster. Normalt görs försök med en allokeringsbegäran i flera kluster, men det är möjligt att vissa begränsningar (som den virtuella datorns storlek, Ultra SSD och närhetsplaceringsgrupper) från allokeringsbegäran tvingar Azure-plattformen att försöka göra begäran i endast ett kluster. Följande Diagram 1 illustrerar fallet med en normal allokering som görs i flera kluster.

Skärmbild av Diagram 1 som visar allokeringsförsök i flera kluster.

Anledningar till att allokeringsfel uppstår

När en allokering har ett stort antal begränsningar finns det en större chans att det inte går att hitta kostnadsfria resurser eftersom den tillgängliga resurspoolen är mindre. Om din allokeringsbegäran är begränsad (till exempel när du använder närhetsplaceringsgrupper men den typ av resurs som du begärde inte stöds av uppsättningen kluster och närliggande) misslyckas din begäran även om klustret har kostnadsfria resurser. Följande Diagram 2 illustrerar fallet där en allokering misslyckas eftersom de kandidatkluster som är associerade med närhetsplaceringsgruppen inte har några kostnadsfria resurser. Diagram 3 illustrerar fallet där en allokering misslyckas eftersom de kandidatkluster som är associerade med närhetsplaceringsgruppen inte stöder den begärda storleken för den virtuella datorn, även om klustren har kostnadsfria resurser.

Skärmbild av Diagram 2 som visar att allokeringen misslyckades utan tillgänglig kostnadsfri resurs och Diagram 3 som visar att allokeringen misslyckades med storlek som 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 Azures feedbackcommunity.