Felsöka allokeringsfel när du distribuerar Cloud Services (klassisk) i Azure

Viktigt!

Cloud Services (klassisk) är nu inaktuellt för nya kunder och kommer att dras tillbaka den 31 augusti 2024 för alla kunder. 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-supportbegäran. Om du vill skicka en supportbegäran går du till azure-supportsidan 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. Eventuella ytterligare distributioner för molntjänsten sker i samma kluster. I den här artikeln refererar vi till detta som "fäst på ett kluster". Diagram 1 nedan illustrerar fallet med en normal allokering som görs i flera kluster. Diagram 2 illustrerar fallet med en allokering som fästs på kluster 2 eftersom det är där den befintliga Cloud Service-CS_1 finns.

Allocation Diagram

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 den typ av resurs som du begärde inte stöds av klustret, misslyckas din begäran även om klustret har en kostnadsfri resurs. Diagram 3 nedan 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 VM-storleken, även om klustret har kostnadsfria resurser.

Pinned Allocation Failure

Felsöka allokeringsfel för molntjänster

Felmeddelande

Gå till molntjänsten i Azure-portalen och välj Åtgärdsloggar (klassisk) i sidofältet för att visa loggarna.

Se ytterligare lösningar för undantagen nedan:

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 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. Alternativt kan du, om möjligt, ta bort de ovannämnda 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 – En ny distribution till en tom molntjänst kan allokeras av infrastrukturresursen i alla kluster i den regionen, såvida inte molntjänsten fästs på en tillhörighetsgrupp. Distributioner till samma tillhörighetsgrupp görs i samma kluster. Om klustret närmar sig maxkapaciteten kan begäran misslyckas.
  • VNet 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. Distributioner till den här typen av virtuellt nätverk görs i det fästa klustret. Om klustret närmar sig maxkapaciteten kan begäran misslyckas.

Lösningar

  1. 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.
  2. Ta bort både produktions- och mellanlagringsplatser – Den här lösningen bevarar ditt befintliga DNS-namn, 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. Detta kommer att försöka allokeras igen på alla kluster i regionen. Kontrollera att molntjänsten inte är kopplad till en tillhörighetsgrupp.
  3. 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 ovan och se till att ange den nya ReservedIP i tjänstens CSCFG.

  4. Ta bort tillhörighetsgrupp för nya distributioner – Tillhörighetsgrupper rekommenderas inte längre. Följ stegen i punkt 1 ovan för att distribuera en ny molntjänst. Kontrollera att molntjänsten inte finns i en tillhörighetsgrupp.

  5. Konvertera till ett regionalt virtuellt nätverk – Se Så här migrerar du från tillhörighetsgrupper till ett regionalt virtuellt nätverk (VNet).