Felsöka allokeringsfel när du distribuerar Cloud Services (klassisk) i Azure
Viktigt!
Cloud Services (klassisk) är nu inaktuellt för alla kunder från och med den 1 september 2024. Alla befintliga distributioner som körs stoppas och stängs av av Microsoft och data försvinner permanent från och med oktober 2024. Nya distributioner bör använda den nya Azure Resource Manager-baserade distributionsmodellen Azure Cloud Services (utökad support).
Sammanfattning
När du distribuerar instanser till en molntjänst eller lägger till nya webb- eller arbetsrollinstanser, allokerar Microsoft Azure beräkningsresurser. Du kan ibland få fel när dessa åtgärder utförs även innan du når gränsen för Azure-prenumerationen. Den här artikeln förklarar orsakerna till några av de vanliga allokeringsfelen och föreslår möjliga åtgärder. Informationen kan också vara användbar när du planerar distributionen av dina tjänster.
Om ditt Azure-problem inte åtgärdas i den här artikeln går du till Azure-forumen på Microsoft Q &A och Stack Overflow. Du kan publicera ditt problem i dessa forum eller publicera till @AzureSupport på Twitter. Du kan också skicka en Azure Support begäran. Om du vill skicka en supportbegäran går du till sidan Azure Support och väljer Hämta support.
Bakgrund – Så här fungerar allokering
Servrarna i Azure-datacenter partitioneras i kluster. En ny molntjänstallokeringsbegäran görs i flera kluster. När den första instansen distribueras till en molntjänst (i antingen mellanlagring eller produktion) fästs molntjänsten på ett kluster. Alla ytterligare distributioner för molntjänsten sker i samma kluster. I den här artikeln refererar vi till det här tillståndet som "fäst på ett kluster". Följande diagram illustrerar fallet med en normal allokering, som görs i flera kluster. Det andra diagrammet illustrerar fallet med en allokering som fästs på kluster 2 eftersom det är där den befintliga cloud service-CS_1 finns.
Varför allokeringsfel inträffar
När 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 begränsad till ett kluster. Om din allokeringsbegäran är fäst på ett kluster men klustret inte stöder den resurstyp som du begärde misslyckas din begäran även om klustret har en kostnadsfri resurs. Nästa diagram illustrerar fallet där en fäst allokering misslyckas eftersom det enda kandidatklustret inte har några kostnadsfria resurser. Diagram 4 illustrerar fallet där en fäst allokering misslyckas eftersom det enda kandidatklustret inte stöder den begärda storleken på den virtuella datorn (VM), även om klustret har kostnadsfria resurser.
Felsöka allokeringsfel för molntjänster
Felmeddelande
I Azure Portal navigerar du till molntjänsten och i sidofältet väljer du Åtgärdsloggar (klassiska) för att visa loggarna.
Se följande ytterligare lösningar för undantagen:
Undantagstyp | Felmeddelande | Lösning |
---|---|---|
FabricInternalServerError | Åtgärden misslyckades med felkoden "InternalError" och errorMessage "Servern påträffade ett internt fel. Försök igen med begäran." | Felsöka FabricInternalServerError |
ServiceAllocationFailure | Åtgärden misslyckades med felkoden "InternalError" och errorMessage "Servern påträffade ett internt fel. Försök igen med begäran." | Felsöka ServiceAllocationFailure |
LocationNotFoundForRoleSize | Åtgärden misslyckades{Operation ID} : "Den begärda VM-nivån är för närvarande inte tillgänglig i region ({Region ID} ) för den här prenumerationen. Prova en annan nivå eller distribuera till en annan plats." |
Felsöka LocationNotFoundForRoleSize |
ConstrainedAllocationFailed | Azure-åtgärden misslyckades{Operation ID} med koden Compute.ConstrainedAllocationFailed. Information: Allokeringen misslyckades; inte kan uppfylla begränsningarna i begäran. Den begärda nya tjänstdistributionen är bunden till en tillhörighetsgrupp eller är riktad mot ett virtuellt nätverk, eller så finns det en befintlig distribution under den här värdbaserade tjänsten. Något av dessa villkor begränsar den nya distributionen till specifika Azure-resurser. Försök igen senare eller prova att minska storleken på den virtuella datorn eller antalet rollinstanser. Alternativt kan du om möjligt ta bort begränsningarna eller prova att distribuera till en annan region. |
Felsöka ConstrainedAllocationFailed |
OverconstrainedAllocationRequest | Den VM-storlek (eller kombination av VM-storlekar) som krävs för den här distributionen kan inte etableras på grund av begränsningar för distributionsbegäran. Om möjligt kan du prova att lätta på begränsningar som bindningar för virtuella nätverk, distribuera till en värdbaserad tjänst utan någon annan distribution i den och till en annan tillhörighetsgrupp eller utan tillhörighetsgrupp, eller prova att distribuera till en annan region. | Felsöka OverconstrainedAllocationRequest |
Exempel på felmeddelande:
"Azure-åtgärden {operation id} misslyckades med koden Compute.ConstrainedAllocationFailed. Information: Allokeringen misslyckades; inte kan uppfylla begränsningarna i begäran. Den begärda nya tjänstdistributionen är kopplad till en tillhörighetsgrupp eller är riktad mot ett virtuellt nätverk, eller så finns det en befintlig distribution under den här värdbaserade tjänsten. Något av dessa villkor begränsar den nya distributionen till specifika Azure-resurser. Försök igen senare eller prova att minska storleken på den virtuella datorn eller antalet rollinstanser. Om möjligt kan du också ta bort de ovan nämnda begränsningarna eller prova att distribuera till en annan region."
Vanliga problem
Här är de vanliga allokeringsscenarierna som gör att en allokeringsbegäran fästs på ett enda kluster.
- Distribuera till mellanlagringsplats – Om en molntjänst har en distribution i något av facken fästs hela molntjänsten på ett specifikt kluster. Det innebär att om en distribution redan finns på produktionsplatsen kan en ny mellanlagringsdistribution endast allokeras i samma kluster som produktionsplatsen. Om klustret närmar sig maxkapaciteten kan begäran misslyckas.
- Skalning – När nya instanser läggs till i en befintlig molntjänst måste de allokeras i samma kluster. Små skalningsbegäranden går vanligtvis att allokera, men inte alltid. Om klustret närmar sig maxkapaciteten kan begäran misslyckas.
- Tillhörighetsgrupp – Infrastrukturresurserna i alla kluster i den regionen kan allokera en ny distribution till en tom molntjänst, såvida inte molntjänsten fästs på en tillhörighetsgrupp. Distributioner försöker använda samma tillhörighetsgrupp i samma kluster. Om klustret närmar sig maxkapaciteten kan begäran misslyckas.
- Virtuellt nätverk för tillhörighetsgrupp – Äldre virtuella nätverk var knutna till tillhörighetsgrupper i stället för regioner, och molntjänster i dessa virtuella nätverk skulle fästas på tillhörighetsgruppsklustret. Distributionsförsök till den här typen av virtuellt nätverk sker i det fästa klustret. Om klustret närmar sig maxkapaciteten kan begäran misslyckas.
Lösningar
Omdistribuera till en ny molntjänst – Den här lösningen kommer sannolikt att lyckas mest eftersom plattformen kan välja mellan alla kluster i den regionen.
- Distribuera arbetsbelastningen till en ny molntjänst
- Uppdatera CNAME- eller A-posten för att peka trafik till den nya molntjänsten
- När noll trafik kommer till den gamla webbplatsen kan du ta bort den gamla molntjänsten. Den här lösningen innebär noll driftavbrott.
Ta bort både produktions- och mellanlagringsplatser – Den här lösningen bevarar ditt befintliga DNS-namn (Domain Name System), men orsakar stilleståndstid för ditt program.
- Ta bort produktions- och mellanlagringsplatserna för en befintlig molntjänst så att molntjänsten är tom och sedan
- Skapa en ny distribution i den befintliga molntjänsten. Den här lösningen försöker allokeringen på alla kluster i regionen igen. Se till att molntjänsten inte är kopplad till en tillhörighetsgrupp.
Reserverad IP - Den här lösningen bevarar din befintliga IP-adress men orsakar driftstopp för ditt program.
Skapa en ReservedIP för din befintliga distribution med hjälp av PowerShell
New-AzureReservedIP -ReservedIPName {new reserved IP name} -Location {location} -ServiceName {existing service name}
Följ #2 och se till att ange den nya ReservedIP i tjänstens CSCFG.
Ta bort tillhörighetsgrupp för nya distributioner – Tillhörighetsgrupper rekommenderas inte längre. Följ stegen för #1 för att distribuera en ny molntjänst. Se till att molntjänsten inte finns i en tillhörighetsgrupp.
Konvertera till ett regionalt virtuellt nätverk – Se Så här migrerar du från tillhörighetsgrupper till ett regionalt virtuellt nätverk (virtuellt nätverk).