Naprawianie błędu AllocationFailed lub ZonalAllocationFailed podczas tworzenia, ponownego uruchamiania lub zmieniania rozmiaru Zestawów skalowania maszyn wirtualnych 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 ze wskazówkami dotyczącymi rozwiązywania problemów. Te wskazówki mogą spowodować utratę danych i nieodwracalne uszkodzenie klastra w tym scenariuszu. Aby uzyskać więcej informacji, zobacz Czy mogę używać dużych zestawów skalowania maszyn wirtualnych w klastrze usługi Service Fabric?
W tym artykule uzyskasz informacje o:
- Błędy AllocationFailed lub ZonalAllocationFailed w zestawach skalowania maszyn wirtualnych platformy Microsoft Azure.
- 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 dla 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:
- Tworzy zestaw skalowania maszyn wirtualnych.
- Uruchom ponownie zatrzymane (cofnięto przydział) wystąpienie maszyny wirtualnej zestawu skalowania.
- Zmienianie rozmiaru 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 poprawy prawdopodobieństwa powodzenia alokacji na stronie https://aka.ms/allocation-guidance.
Komunikat o błędzie 2: Alokacja nie powiodła się. Nie można przydzielić maszyn wirtualnych z poniższymi ograniczeniami, ponieważ określony warunek jest zbyt restrykcyjny. Usuń pewne ograniczenia i spróbuj ponownie. Zastosowane ograniczenia są następujące:
- Availability zone
- 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 zakres takiej alokacji to pojedynczy klaster i istnieje możliwość, że w klastrze brakuje pojemności. Przeczytaj więcej na temat poprawy prawdopodobieństwa powodzenia alokacji na https://aka.ms/allocation-guidancestronie .
Jak uniknąć błędów alokacji
Aby uniknąć błędów alokacji, możesz zastosować niektóre ustawienia konfiguracji do zestawu skalowania w celu zoptymalizowania żądań alokacji.
Nadmierna aprowizacja. Po włączeniu nadmiernej aprowizacji zestaw skalowania faktycznie uruchamia więcej wystąpień maszyn wirtualnych niż poproszono Cię o. Następnie usuwa dodatkowe wystąpienia maszyn wirtualnych po pomyślnym aprowizacji żądanej liczby wystąpień maszyn wirtualnych. Ta praktyka poprawia współczynniki powodzenia aprowizacji i skraca czas wdrażania. Nie są naliczane opłaty za dodatkowe wystąpienia maszyn wirtualnych i nie są one uwzględniane w stosunku do limitów przydziału. Aby włączyć nadmierną aprowizowanie:
W witrynie Azure Portal wyszukaj i wybierz pozycję Zestawy skalowania maszyn wirtualnych.
Wybierz nazwę zestawu skalowania.
W okienku menu wybierz pozycję Konfiguracja.
W nagłówku Overprovisioning (Nadmierna aprowizacja) ustaw wartość Enable overprovisioning (Włącz nadmierną aprowizowanie) na Wł.
Wybierz pozycję Zapisz.
Dowiedz się więcej na temat nadmiernej aprowizacji.
Włącz duże zestawy skalowania. Duże zestawy skalowania maszyn wirtualnych są definiowane jako zestawy skalowania, które mogą być skalowane do większej niż 100 wystąpień maszyn wirtualnych. Ta funkcja jest ustawiana przez właściwość zestawu skalowania (
singlePlacementGroup=false
). To, co sprawia, że specjalny zestaw skalowania 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. WsinglePlacementGroup
przypadku ustawienia nafalse
wartość masz większe szanse na powodzenie alokacji, ponieważ wdrożenia można rozłożyć w wielu klastrach po wdrożeniu jako grupa wielomieściowa. Dowiedz się więcej na temat pracy z dużymi zestawami skalowania maszyn wirtualnych, w szczególności sposobu konwertowania istniejącego zestawu skalowania na wiele grup umieszczania.Uwaga 16.
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
ustawieniufalse
wartości na wartość nie można jej ponownie zmienić.
Zmniejsz liczbę wystąpień żądanego rozmiaru maszyny wirtualnej, a następnie spróbuj ponownie wykonać operację wdrażania. W przypadku większych wdrożeń warto ocenić zestawy skalowania maszyn wirtualnych platformy Azure z wieloma grupami umieszczania. Liczba wystąpień maszyn wirtualnych może automatycznie zwiększać się lub zmniejszać w reakcji na zapotrzebowanie lub według zdefiniowanego harmonogramu.
Inne porady
Dopóki preferowany typ maszyny wirtualnej nie będzie dostępny w preferowanym regionie, klienci, którzy napotykają problemy z wdrażaniem, powinni rozważyć wskazówki opisane w poniższych sekcjach jako rozwiązanie tymczasowe.
Zidentyfikuj scenariusz, który najlepiej pasuje do Twojego przypadku. Aby zwiększyć prawdopodobieństwo powodzenia alokacji, spróbuj ponownie wysłać żądanie alokacji przy użyciu odpowiedniego sugerowanego rozwiązania. Możesz też zawsze ponowić próbę później. W klastrze, regionie lub strefie mogła zostać zwolniona 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ący istniejący zestaw skalowania. Lub klaster obsługuje żądany rozmiar maszyny wirtualnej, ale obecnie może nie mieć wystarczającej pojemności.
Rozwiązanie dla przyczyny 1
Spróbuj wykonać jedną z następujących czynności:
Spróbuj przenieść zestaw skalowania do innego klastra w tym samym regionie z odpowiednią pojemnością.
Zatrzymaj (cofnij przydział) wszystkie wystąpienia 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:
W witrynie Azure Portal wyszukaj i wybierz pozycję Zestawy skalowania maszyn wirtualnych.
Wybierz nazwę zestawu skalowania.
Wybierz pozycję Zatrzymaj.
Po zatrzymaniu wszystkich wystąpień maszyn wirtualnych w celu wykonania zmiany rozmiaru, a następnie uruchomieniu zestawu skalowania nowa próba alokacji może zidentyfikować klaster z wystarczającą pojemnością do hostowania całego zestawu skalowania.
Skonfiguruj zestaw skalowania tak, aby był skalowany w więcej niż jednej grupie umieszczania.
Zobacz Tworzenie dużego zestawu skalowania.
Przyczyna 2: Ponownie uruchomiono częściowo zatrzymaną (cofniętą przydział) maszynę wirtualną
Częściowa alokacja 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 przydziałze zestawu 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ące istniejący zestaw dostępności, który może mieć niewystarczającą pojemność.
Rozwiązanie dla przyczyny 2
Zatrzymaj (cofnij przydział) wszystkie wystąpienia maszyn wirtualnych w zestawie skalowania, a następnie uruchom ponownie każde wystąpienie maszyny wirtualnej. Aby zatrzymać wystąpienia maszyn wirtualnych:
W witrynie Azure Portal wyszukaj i wybierz pozycję Zestawy skalowania maszyn wirtualnych.
Wybierz nazwę zestawu skalowania.
W okienku menu wybierz pozycję Wystąpienia.
Wybierz wszystkie wymienione wystąpienia maszyn wirtualnych.
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. Uruchomione ponownie wystąpienia maszyn wirtualnych, które zostały w pełni zatrzymane
Pełna alokacja 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 obsługujących wymagany rozmiar w regionie lub strefie.
Rozwiązanie dla przyczyny 3
Zmień żądanie alokacji, korzystając z sugestii w tym artykule. Następnie ponów próbę żądania, aby zwiększyć prawdopodobieństwo powodzenia alokacji.
Jeśli używasz starszych serii maszyn wirtualnych lub rozmiarów (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 niedozwolone jest używanie innego rozmiaru maszyny wirtualnej? Następnie spróbuj wdrożyć w innym regionie w obrębie tej samej lokalizacji geograficznej. Więcej informacji na temat dostępnych rozmiarów maszyn wirtualnych w poszczególnych regionach można znaleźć na stronie https://aka.ms/azureregions.
Jeśli używasz stref dostępności, spróbuj użyć innej strefy 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), zobacz poniższe sekcje, 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 starszych rozmiarów maszyn wirtualnych
Niektóre starsze rozmiary maszyn wirtualnych serii nie są uruchamiane w naszej infrastrukturze najnowszej generacji. Klienci mogą czasami napotkać błędy 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 blogu |
---|---|---|
Seria Av1 | Seria Av2 | Nowe rozmiary maszyn wirtualnych serii A_v2 |
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 usługi Resource Manager do korzystania 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 usługi Resource Manager, aby upewnić się, że wystąpienie maszyny wirtualnej jest odizolowane od sprzętu dedykowanego jednemu klientowi? Następnie rozważ przejście do nowych izolowanych rozmiarów maszyn wirtualnych, E64i_v3 lub E64is_v3, które zostały zaprojektowane do uruchamiania na sprzęcie najnowszej generacji. |
Nowe izolowane rozmiary maszyn wirtualnych są teraz dostępne |
Informacje podstawowe
Jak działa alokacja
Platforma Azure próbuje podzielić serwery centrum danych na klastry. Zwykle podejmuje próbę żądania 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ęte do klastra"). Diagram 1 poniżej przedstawia normalną alokację, która jest podejmowana w wielu klastrach (klaster 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.
Dlaczego występują błędy alokacji
Jeśli żądanie alokacji jest przypięte do klastra, istnieje większe prawdopodobieństwo niepowodzenia znalezienia 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? Następnie żądanie zakończy się niepowodzeniem, nawet jeśli klaster ma bezpłatne zasoby. Diagram 3 poniżej pokazuje, gdzie przypięta alokacja kończy się niepowodzeniem, ponieważ jedyny klaster kandydata nie ma bezpłatnych zasobów. Diagram 4 pokazuje, gdzie alokacja przypięta kończy się niepowodzeniem, ponieważ jedyny klaster kandydata nie obsługuje żądanego rozmiaru maszyny wirtualnej, mimo że klaster ma bezpłatne zasoby.
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 na temat platformy Azure.