Udostępnij za pośrednictwem


Naprawianie błędu AllocationFailed lub ZonalAllocationFailed podczas tworzenia, ponownego uruchamiania lub zmieniania rozmiaru Virtual Machine Scale Sets na platformie Azure

Ostrzeżenie

Jeśli zestaw skalowania maszyn wirtualnych platformy Microsoft Azure jest częścią klastra usługi Azure Service Fabric, nie postępuj zgodnie z poniższymi wskazówkami dotyczącymi rozwiązywania problemów. Te wskazówki mogą spowodować utratę danych i nieodwracalne uszkodzenia klastra w tym scenariuszu. Aby uzyskać więcej informacji, zobacz Temat Czy mogę używać dużych zestawów skalowania maszyn wirtualnych w klastrze usługi Service Fabric?

W tym artykule omówiono następujące informacje:

  • Błędy AllocationFailed lub ZonalAllocationFailed w usłudze Microsoft Azure Virtual Machine Scale Sets.
  • Jak uniknąć błędów alokacji.
  • Przyczyny błędów alokacji.
  • Jak rozwiązywać problemy z błędami alokacji, gdy wystąpią.

Aby rozwiązać problemy z błędami alokacji standardowych maszyn wirtualnych, zobacz Rozwiązywanie problemów z błędami alokacji podczas tworzenia, ponownego uruchamiania lub zmieniania rozmiaru maszyn wirtualnych na platformie Azure.

Objaw

Ze względu na duże zapotrzebowanie na usługi platformy Azure może wystąpić błąd alokacji, jeśli spróbujesz utworzyć lub uruchomić wystąpienia maszyn wirtualnych w niektórych regionach. Platforma Azure próbuje przydzielić zasoby obliczeniowe do subskrypcji za każdym razem, gdy:

  • Utwórz zestaw skalowania maszyn wirtualnych.
  • Uruchom ponownie zatrzymane (cofnięto przydział) wystąpienie maszyny wirtualnej zestawu skalowania.
  • Zmień rozmiar zestawu skalowania.

Poniższe szczegóły błędu są przykładem komunikatu o błędzie alokacji.

Kod błędu: AllocationFailed lub ZonalAllocationFailed

Komunikat o błędzie 1: Alokacja nie powiodła się. Nie mamy wystarczającej pojemności dla żądanego rozmiaru maszyny wirtualnej w tym regionie. Przeczytaj więcej na temat zwiększania prawdopodobieństwa powodzenia alokacji w witrynie https://aka.ms/allocation-guidance.

Komunikat o błędzie 2: Alokacja nie powiodła się. Nie można przydzielić maszyn wirtualnych z następującymi ograniczeniami, ponieważ warunek jest zbyt restrykcyjny. Usuń niektóre ograniczenia i spróbuj ponownie. Zastosowane ograniczenia to:

  • Strefa dostępności
  • Rozmiar maszyny wirtualnej

Komunikat o błędzie 3: Alokacja nie powiodła się. Jeśli próbujesz dodać nową maszynę wirtualną do zestawu skalowania maszyn wirtualnych z pojedynczą grupą umieszczania lub zaktualizować/zmienić rozmiar istniejącej maszyny wirtualnej w zestawie skalowania maszyn wirtualnych z pojedynczą grupą umieszczania, pamiętaj, że taka alokacja ma zakres do pojedynczego klastra i możliwe, że klaster jest poza pojemnością. Przeczytaj więcej na temat zwiększania prawdopodobieństwa powodzenia alokacji w witrynie https://aka.ms/allocation-guidance.

Jak uniknąć błędów alokacji

Aby uniknąć błędów alokacji, można zastosować niektóre ustawienia konfiguracji do zestawu skalowania w celu zoptymalizowania żądań alokacji.

  • Nadmierna aprowizowanie. Po włączeniu nadmiernej aprowizacji zestaw skalowania faktycznie uruchamia więcej wystąpień maszyn wirtualnych niż żądano. Następnie usuwa dodatkowe wystąpienia maszyn wirtualnych po pomyślnym zainicjowaniu obsługi administracyjnej żądanej liczby wystąpień maszyn wirtualnych. Ta praktyka poprawia wskaźniki powodzenia aprowizacji i skraca czas wdrażania. Nie są naliczane opłaty za dodatkowe wystąpienia maszyn wirtualnych i nie są one wliczane do limitów przydziału. Aby włączyć nadmierną aprowizację:

    1. W Azure Portal wyszukaj i wybierz pozycję Zestawy skalowania maszyn wirtualnych.

    2. Wybierz nazwę zestawu skalowania.

    3. W okienku menu wybierz pozycję Konfiguracja.

    4. W nagłówku Overprovisioning (Nadmierna aprowizowanie) ustaw pozycję Włącz nadmierną aprowizacjęna wartość Włączone.

    5. Wybierz Zapisz.

    Dowiedz się więcej na temat nadmiernej aprowizacji.

  • Włącz duże zestawy skalowania. Duże Virtual Machine Scale Sets są definiowane jako zestawy skalowania, które można skalować do ponad 100 wystąpień maszyn wirtualnych. Ta funkcja jest ustawiana przez właściwość zestawu skalowania (singlePlacementGroup=false). To, co sprawia, że duży zestaw skalowania jest wyjątkowy, nie jest liczbą wystąpień maszyn wirtualnych, ale liczbą grup umieszczania, które zawiera. Grupa umieszczania jest podobna do zestawu dostępności platformy Azure z własnymi domenami błędów i domenami uaktualniania. Z singlePlacementGroup ustawieniem na falsewartość , masz większe szanse na powodzenie alokacji, ponieważ wdrożenia można rozłożyć na wiele klastrów po wdrożeniu jako grupa wielodostępna. Dowiedz się więcej o pracy z dużymi zestawami skalowania maszyn wirtualnych, w szczególności o sposobie konwertowania istniejącego zestawu skalowania na wiele grup umieszczania.

    Uwaga

    Zestaw skalowania można zmienić z obsługi pojedynczej grupy umieszczania na obsługę wielu grup umieszczania, ale nie można wykonać konwersji w innym kierunku. Po singlePlacementGroup ustawieniu wartości falsenie można zmienić jej z powrotem.

Zmniejsz liczbę wystąpień żądanego rozmiaru maszyny wirtualnej, a następnie ponów próbę wykonania operacji wdrażania. W przypadku większych wdrożeń warto ocenić usługę Azure Virtual Machine Scale Sets z wieloma grupami umieszczania. Liczba wystąpień maszyn wirtualnych może automatycznie zwiększać lub zmniejszać się w odpowiedzi na zapotrzebowanie lub zdefiniowany harmonogram.

Inne porady

Dopóki preferowany typ maszyny wirtualnej nie będzie dostępny w preferowanym regionie, klienci, którzy napotkają problemy z wdrażaniem, powinni rozważyć wskazówki w poniższych sekcjach jako rozwiązanie tymczasowe.

Zidentyfikuj scenariusz, który najlepiej odpowiada Twojej sprawie. Aby zwiększyć prawdopodobieństwo powodzenia alokacji, spróbuj ponownie wykonać żądanie alokacji przy użyciu odpowiedniego sugerowanego rozwiązania. Możesz też ponowić próbę później. W klastrze, regionie lub strefie mogła zostać uwolniona wystarczająca ilość zasobów, aby obsłużyć żądanie w innym czasie.

Przyczyna

Region lub strefa nie ma wystarczającej pojemności rdzeni dla żądanej jednostki SKU.

Przyczyna 1. Zmiana rozmiaru zestawu skalowania lub dodanie wystąpień maszyn wirtualnych do istniejącego zestawu skalowania

Jeśli istnieje żądanie zmiany rozmiaru zestawu skalowania lub dodania wystąpienia maszyny wirtualnej do istniejącego zestawu skalowania, należy go wypróbować w oryginalnym klastrze hostującym istniejący zestaw skalowania. Klaster obsługuje żądany rozmiar maszyny wirtualnej, ale może nie mieć obecnie wystarczającej pojemności.

Rozwiązanie przyczyny 1

Spróbuj wykonać jedną z następujących akcji:

  • Spróbuj przenieść zestaw skalowania do innego klastra w tym samym regionie z odpowiednią pojemnością.

    Zatrzymaj (cofnij przydział) wszystkich wystąpień maszyn wirtualnych w zestawie skalowania, a następnie zmień rozmiar zestawu skalowania zgodnie z potrzebami. Po zakończeniu zmiany rozmiaru uruchom ponownie wystąpienia maszyn wirtualnych. Aby zatrzymać wystąpienia maszyn wirtualnych:

    1. W Azure Portal wyszukaj i wybierz pozycję Zestawy skalowania maszyn wirtualnych.

    2. Wybierz nazwę zestawu skalowania.

    3. Wybierz pozycję Zatrzymaj.

    Po zatrzymaniu wszystkich wystąpień maszyn wirtualnych w celu wykonania zmiany rozmiaru, a następnie uruchomienia zestawu skalowania nowa próba alokacji może zidentyfikować klaster z wystarczającą pojemnością do hostowania całego zestawu skalowania.

  • Skonfiguruj zestaw skalowania do skalowania w więcej niż jednej grupie umieszczania.

    Zobacz Tworzenie zestawu dużej skali.

Przyczyna 2. Ponowne uruchomienie częściowo zatrzymanej (cofniętej alokacji) maszyny wirtualnej

Częściowe cofnięcie przydziału oznacza, że zatrzymano (cofnięto przydział) co najmniej jedno, ale nie wszystkie wystąpienia maszyn wirtualnych w zestawie skalowania. Po cofnięciu przydziału wystąpienia maszyny wirtualnej skojarzone zasoby są zwalniane. Ponowne uruchamianie wystąpień maszyn wirtualnych w częściowo cofniętym zestawie dostępności jest takie samo jak dodawanie wystąpień maszyn wirtualnych do istniejącego zestawu dostępności. Dlatego należy wypróbować żądanie alokacji w oryginalnym klastrze hostującym istniejący zestaw dostępności, który może mieć niewystarczającą pojemność.

Rozwiązanie przyczyny 2

Zatrzymaj (cofnij przydział) wszystkich wystąpień maszyn wirtualnych w zestawie skalowania, a następnie uruchom ponownie każde wystąpienie maszyny wirtualnej. Aby zatrzymać wystąpienia maszyn wirtualnych:

  1. W Azure Portal wyszukaj i wybierz pozycję Zestawy skalowania maszyn wirtualnych.

  2. Wybierz nazwę zestawu skalowania.

  3. W okienku menu wybierz pozycję Wystąpienia.

  4. Wybierz wszystkie wymienione wystąpienia maszyn wirtualnych.

  5. Wybierz pozycję Zatrzymaj.

Po zatrzymaniu wszystkich maszyn wirtualnych wybierz pierwsze wystąpienie maszyny wirtualnej, a następnie wybierz pozycję Uruchom. Platforma Azure podejmuje nową próbę alokacji i wybiera nowy klaster, który ma wystarczającą pojemność.

Przyczyna 3. Ponowne uruchomienie wystąpień maszyn wirtualnych, które zostały całkowicie zatrzymane

Pełna cofnięcie przydziału oznacza zatrzymanie (cofnięcie przydziału) wszystkich wystąpień maszyn wirtualnych w zestawie dostępności. Żądanie alokacji w celu ponownego uruchomienia tych wystąpień maszyn wirtualnych będzie dotyczyć wszystkich klastrów, które obsługują wymagany rozmiar w regionie lub strefie.

Rozwiązanie przyczyny 3

Zmień żądanie alokacji, korzystając z sugestii w tym artykule. Następnie spróbuj ponownie wykonać żądanie, aby zwiększyć prawdopodobieństwo powodzenia alokacji.

Jeśli używasz starszych serii lub rozmiarów maszyn wirtualnych (takich jak Dv1, DSv1, Av1, D15v2 lub DS15v2), rozważ przejście do nowszych wersji. Zapoznaj się z tymi zaleceniami dotyczącymi określonych rozmiarów maszyn wirtualnych. Czy nie możesz używać innego rozmiaru maszyny wirtualnej? Następnie spróbuj wdrożyć w innym regionie w tej samej lokalizacji geograficznej. Aby uzyskać więcej informacji na temat dostępnych rozmiarów maszyn wirtualnych w każdym regionie pod adresem https://aka.ms/azureregions.

Jeśli używasz stref dostępności, wypróbuj inną strefę w regionie, która może mieć dostępną pojemność dla żądanego rozmiaru maszyny wirtualnej.

Jeśli żądanie alokacji jest duże (ponad 500 rdzeni), zapoznaj się z poniższymi sekcjami, aby podzielić żądanie na mniejsze wdrożenia.

Spróbuj ponownie wdrożyć wystąpienie maszyny wirtualnej, które przydziela wystąpienie maszyny wirtualnej do nowego klastra w regionie.

Błędy alokacji dla starszych rozmiarów maszyn wirtualnych

Niektóre starsze rozmiary maszyn wirtualnych serii nie są uruchamiane w infrastrukturze najnowszej generacji. Klienci mogą czasami doświadczać błędów alokacji dla tych starszych jednostek SKU. Zachęcamy klientów korzystających ze starszych maszyn wirtualnych serii do rozważenia migracji do równoważnych nowszych maszyn wirtualnych. Nowsze maszyny wirtualne są zoptymalizowane pod kątem najnowszego sprzętu i umożliwiają korzystanie z lepszych cen i wydajności.

Zapoznaj się z następującymi zaleceniami:

Starsza seria lub rozmiar maszyn wirtualnych Zalecana nowsza seria lub rozmiar maszyn wirtualnych Link do bloga
Seria Av1 Seria Av2 Nowe rozmiary maszyn wirtualnych A_v2-Series
Seria Dv1 lub DSv1 (od D1 do D5) Seria Dv3 lub DSv3 Wprowadzenie do nowych rozmiarów maszyn wirtualnych Dv3 i Ev3
Seria Dv1 lub DSv1 (od D11 do D14) Seria Ev3 lub ESv3
D15v2 lub DS15v2

Jeśli używasz modelu wdrażania Resource Manager, aby korzystać z większych rozmiarów maszyn wirtualnych, rozważ przejście do wersji D16v3/DS16v3 lub D32v3/DS32v3. Te rozmiary są przeznaczone do uruchamiania na sprzęcie najnowszej generacji.

Czy używasz modelu wdrażania Resource Manager, aby upewnić się, że wystąpienie maszyny wirtualnej jest odizolowane od sprzętu dedykowanego pojedynczemu klientowi? Następnie rozważ przejście do nowych izolowanych rozmiarów maszyn wirtualnych, E64i_v3 lub E64is_v3, które są przeznaczone do uruchamiania na sprzęcie najnowszej generacji.

Dostępne są teraz nowe rozmiary izolowanych maszyn wirtualnych

Informacje podstawowe

Jak działa alokacja

Platforma Azure próbuje podzielić serwery centrów danych na klastry. Zwykle próbuje ono wysłać żądanie alokacji w wielu klastrach. Jednak niektóre ograniczenia żądania alokacji mogą wymusić na platformie Azure podjęcie próby żądania tylko w jednym klastrze ("przypiętym do klastra"). Diagram 1 poniżej przedstawia normalną alokację, która jest podejmowana w wielu klastrach (klaster od 1 do klastra n). Na diagramie 2 alokacja jest przypięta do klastra 2, ponieważ ten klaster hostuje istniejącą usługę w chmurze (CS_1) lub zestaw dostępności.

Diagram 1. Próba alokacji platformy Azure w wielu klastrach. Diagram 2. Alokacja platformy Azure przypięta do jednego klastra.

Dlaczego występują błędy alokacji

Jeśli żądanie alokacji jest przypięte do klastra, istnieje większe prawdopodobieństwo, że nie można znaleźć bezpłatnych zasobów, ponieważ dostępna pula zasobów jest mniejsza. Co zrobić, jeśli żądanie alokacji jest przypięte do klastra, który nie obsługuje żądanego typu zasobu? Żądanie zakończy się niepowodzeniem, nawet jeśli klaster ma bezpłatne zasoby. Poniższy diagram 3 pokazuje, gdzie przypięta alokacja kończy się niepowodzeniem, ponieważ jedyny klaster kandydujących nie ma bezpłatnych zasobów. Diagram 4 pokazuje, gdzie przypięta alokacja kończy się niepowodzeniem, ponieważ jedyny klaster kandydujących nie obsługuje żądanego rozmiaru maszyny wirtualnej, mimo że klaster ma bezpłatne zasoby.

Diagramy błędów alokacji są przypiętymi klastrami. Diagram 3 przedstawia brak dostępnych bezpłatnych zasobów. Diagram 4 pokazuje, że rozmiar nie jest obsługiwany.

Skontaktuj się z nami, aby uzyskać pomoc

Jeśli masz pytania lub potrzebujesz pomocy, utwórz wniosek o pomoc techniczną lub zadaj pytanie w społeczności wsparcia dla platformy Azure. Możesz również przesłać opinię o produkcie do społeczności opinii platformy Azure.