Rozwiązywanie problemów związanych z błędami alokacji występującymi podczas tworzenia maszyn wirtualnych lub zmieniania ich rozmiaru na platformie Azure
Applies to: ✔️ maszyny wirtualne z systemem Linux ✔️ maszyny wirtualne z systemem Windows
Podczas tworzenia maszyny wirtualnej, uruchamiania wszelkich zatrzymanych maszyn wirtualnych (z cofniętym przydziałem) lub zmieniania rozmiaru maszyny wirtualnej platforma Microsoft Azure przydziela zasoby obliczeniowe do subskrypcji. Stale inwestujemy w dodatkową infrastrukturę i funkcje, aby zapewnić, że wszystkie typy maszyn wirtualnych są dostępne do obsługi wymagań klientów. Jednak ze względu na bezprecedensowy wzrost zapotrzebowania na usługi platformy Azure w określonych regionach mogą czasami wystąpić błędy alokacji zasobów. Ten problem może pojawiać się podczas próby utworzenia, uruchomienia lub zmiany rozmiaru maszyn wirtualnych w danym regionie, a maszyny wirtualne mogą wyświetlać kod błędu i komunikat podobny do następującego:
Kod błędu: AllocationFailed lub ZonalAllocationFailed
Komunikat o błędzie: „Alokacja nie powiodła się. Nie mamy wystarczającej pojemności dla żądanego rozmiaru maszyny wirtualnej w tym regionie. Przeczytaj więcej na temat sposobów na zwiększenie prawdopodobieństwa powodzenia alokacji: https://aka.ms/allocation-guidance"
Zalecenie alternatywne: jeśli otrzymasz zalecenie alternatywne, oznacza to, że żądany rozmiar maszyny wirtualnej nie jest obecnie dostępny w wybranym regionie lub strefie. Aby zwiększyć szanse na pomyślne przydzielanie maszyny wirtualnej, możesz wybrać jedną z alternatywnych opcji. Po prostu zastosuj zmiany do wyboru wejścia maszyny wirtualnej lub zmień rozmiar istniejącej maszyny wirtualnej z żądaną opcją i spróbuj ponownie uruchomić lub utworzyć maszynę wirtualną.
Na przykład wypróbuj jedną z tych alternatywnych opcji, aby zwiększyć prawdopodobieństwo powodzenia alokacji:
- Alternatywne rozmiary maszyn wirtualnych dla tej samej strefy i regionu: Standard_A2_v2, Standard_A2m_v2 lub Standard_D2a_v4
- Alternatywne strefy dla tego samego rozmiaru i regionu maszyny wirtualnej: Strefa 1 i 3
Uwaga
Jeśli rozwiązujesz problemy z zestawem skalowania maszyn wirtualnych (VMSS), proces jest taki sam jak w przypadku standardowej maszyny wirtualnej. Aby rozwiązać ten problem, postępuj zgodnie z instrukcjami w tym artykule.
Komunikat o błędzie: „Alokacja nie powiodła się. Jeśli próbujesz dodać nową maszynę wirtualną do zestawu skalowania maszyn wirtualnych z pojedynczą grupą umieszczania lub zaktualizować istniejącą maszynę wirtualną bądź zmienić jej rozmiar 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 sposobów na zwiększenie prawdopodobieństwa powodzenia alokacji: http://aka.ms/allocation-guidance."
W tym artykule wyjaśniono przyczyny niektórych typowych niepowodzeń alokacji i zasugerowano możliwe środki zaradcze.
Dopóki preferowany typ maszyny wirtualnej nie będzie dostępny w preferowanym regionie, zalecamy klientom, którzy napotykają problemy z wdrażaniem, aby rozważyć te wskazówki jako tymczasowe obejście.
Zidentyfikuj scenariusz, który najlepiej pasuje do Twojego przypadku, a następnie ponów próbę wykonania żądania alokacji, używając odpowiedniego sugerowanego obejścia w celu zwiększenia prawdopodobieństwa powodzenia alokacji. Alternatywnie można zawsze ponowić próbę później. Wynika to z faktu, że w klastrze, regionie lub strefie mogła zostać zwolniona wystarczająca ilość zasobów, aby uwzględnić Twoje żądanie.
Rozważ użycie rezerwacji wydajności na żądanie, aby zapewnić dostępność pojemności dla Twoich obciążeń krytycznych. Ta opcja pozwala zarezerwować pojemność obliczeniową z wyprzedzeniem, gwarantując, że maszyny wirtualne będą mogły zostać wdrożone zgodnie z potrzebami i bez błędów alokacji. Takie podejście może zwiększyć niezawodność i przewidywalność wdrożeń.
Autonomiczna maszyna wirtualna
Przyczyna
Jeśli masz autonomiczną maszynę wirtualną na platformie Azure, co oznacza, że nie jest ona częścią zestawu dostępności ani grupy umieszczania w pobliżu z innymi maszynami wirtualnymi, i napotkasz błędy alokacji podczas próby wykonania operacji tworzenia, uruchamiania lub ponownego wdrażania, oznacza to, że platforma Azure obecnie nie ma wystarczającej pojemności do spełnienia żądania w określonym regionie lub strefie.
Metody obejścia problemu
Aby obejść ten problem, użyj jednej z następujących metod:
Ponowna próba alokacji
Czasami problem może być tymczasowy i ponowienie próby alokacji po krótkim czasie może go rozwiązać.
Zmiana rozmiaru maszyny wirtualnej
Rozważ zmianę rozmiaru maszyny wirtualnej na inny, który może mieć większą dostępność w regionie lub strefie.
Zmiana regionu lub strefy
Jeśli bieżący region lub strefa ma duże zapotrzebowanie, spróbuj wdrożyć maszynę wirtualną w innym regionie lub strefie dostępności, w której może być więcej pojemności.
Zmiana rozmiaru maszyny wirtualnej, dodanie maszyn wirtualnych lub uruchomienie częściowo zatrzymanych maszyn wirtualnych (z cofniętym przydziałem) do istniejącego zestawu dostępności
Uwaga
Maszynę wirtualną można dodać do zestawu dostępności tylko podczas jej tworzenia. Aby dodać istniejącą maszynę wirtualną do zestawu dostępności lub zmienić zestaw dostępności maszyny wirtualnej, należy usunąć i ponownie utworzyć maszynę wirtualną. Aby uzyskać więcej informacji, zobacz, jak zmienić zestaw dostępności maszyny wirtualnej przy użyciu programu Azure PowerShell.
Przyczyna
Żądanie zmiany rozmiaru maszyny wirtualnej lub dodania maszyny wirtualnej do istniejącego zestawu dostępności musi zostać wykonane w oryginalnym klastrze hostującym istniejący zestaw dostępności. Klaster może nie obsługiwać żądanego rozmiaru maszyny wirtualnej lub nie mieć obecnie wystarczającej pojemności.
Częściowa dealokacja oznacza, że zatrzymano (cofnięto przydział) co najmniej jedną maszynę wirtualną w zestawie dostępności, ale nie wszystkie. Po cofnięciu przydziału maszyny wirtualnej skojarzone zasoby są zwalniane. Uruchamianie maszyn wirtualnych w częściowo zdealokowanym zestawie dostępności odpowiada dodawaniu maszyn wirtualnych do istniejącego zestawu dostępności. W związku z tym żądanie alokacji musi zostać wykonane w oryginalnym klastrze hostującym istniejący zestaw dostępności, który może nie mieć wystarczającej pojemności.
Metody obejścia problemu
Aby obejść ten problem, użyj jednej z następujących metod:
W przypadku nowego wdrożenia maszyny wirtualnej, jeśli maszyna wirtualna może być częścią innego zestawu dostępności, utwórz maszynę wirtualną w innym zestawie dostępności (w tym samym regionie). Tę nową maszynę wirtualną można następnie dodać do tej samej sieci wirtualnej.
Rozważ zmianę rozmiaru maszyny wirtualnej na inny, który może mieć większą dostępność w regionie lub strefie. Aby upewnić się, że rozmiary maszyn wirtualnych są obsługiwane w zestawie dostępności, użyj funkcji API REST do wyświetlania dostępnych rozmiarów zestawów dostępności.
Zatrzymaj (cofnij przydział) wszystkie maszyny wirtualne w tym samym zestawie dostępności, a następnie uruchom wszystkie odpowiednie maszyny wirtualne w partii, aby umożliwić alokację ze wszystkich dostępnych klastrów, a nie tylko klastra, w którym zestaw dostępności jest obecnie przydzielony.
Aby zatrzymać wszystkie maszyny wirtualne w zestawie dostępności, wykonaj następujące kroki:
- W portalu Azure przejdź do pozycji Maszyny wirtualne.
- Wybierz pozycję Dodaj filtr i dodaj filtr dla zestawu dostępności, którym chcesz zarządzać.
- Zatrzymaj wszystkie maszyny wirtualne w zestawie dostępności.
- Wybierz pozycję Zatrzymaj i poczekaj na ukończenie operacji, aż wszystkie maszyny wirtualne będą zgłaszać stan Zatrzymano (cofnięto przydział).
- Wybierz pozycję Uruchom, aby ponownie przydzielić wszystkie maszyny wirtualne.
Uruchomienie w pełni zatrzymanych (z cofniętym przydziałem) maszyn wirtualnych w zestawie dostępności
Przyczyna
Pełna dealokacja oznacza, że zatrzymano (cofnięto przydział) wszystkich maszyn wirtualnych w zestawie dostępności. Żądanie alokacji w celu uruchomienia tych maszyn wirtualnych będzie dotyczyć wszystkich klastrów obsługujących żądane rozmiary w regionie lub strefie.
Metody obejścia problemu
Aby obejść ten problem, użyj jednej z następujących metod:
Ponowna próba alokacji
Czasami problem może być tymczasowy i ponowienie próby alokacji po krótkim czasie może go rozwiązać.
Zmiana rozmiaru maszyn wirtualnych
Rozważ zmianę rozmiaru maszyny wirtualnej na inny, który może mieć większą dostępność w regionie lub strefie. Aby upewnić się, że rozmiary maszyn wirtualnych są obsługiwane w zestawie dostępności, użyj funkcji API REST do wyświetlania dostępnych rozmiarów zestawów dostępności.
Zmiana regionu lub strefy
Jeśli bieżący region lub strefa ma duże zapotrzebowanie, spróbuj wdrożyć lub migrować maszynę wirtualną w innym regionie lub strefie dostępności, w której może być więcej pojemności.
Błędy alokacji dla maszyn wirtualnych w strefach dostępności
Przyczyna
Strefy dostępności Azure to fizycznie oddzielone centra danych w regionie świadczenia usług Azure. Każda strefa dostępności ma niezależną infrastrukturę zasilania, chłodzenia i sieci. Zostały one zaprojektowane w celu zapewnienia wysokiej dostępności i odporności poprzez izolowanie błędów w jednej strefie, co minimalizuje wpływ na inne strefy w tym samym regionie.
Jednak ze względu na dodatkowe warunki ograniczenia wdrożenia skojarzone ze strefami dostępności mogą wystąpić błędy alokacji.
Metody obejścia problemu
Aby obejść ten problem, użyj jednej z następujących metod:
Ponowna próba alokacji
Ponowienie próby wykonania żądania alokacji w późniejszym terminie może czasem pomóc, ponieważ zasoby mogły zostać zwolnione w strefie.
Zmiana rozmiaru maszyny wirtualnej
Rozważ zmianę rozmiaru maszyny wirtualnej na inny, który może mieć większą dostępność w regionie lub strefie.
Zmiana regionu lub strefy
Jeśli bieżący region lub strefa ma duże zapotrzebowanie, spróbuj wdrożyć lub migrować maszynę wirtualną w innym regionie lub strefie dostępności, w której może być więcej pojemności. Region lub strefa można zmienić przy użyciu następujących metod:
Utwórz nową maszynę wirtualną przy użyciu kopii dysku systemu operacyjnego w innej strefie lub bez ograniczenia strefowego. Usunięcie ograniczenia strefowego rozszerza opcje alokacji do całego regionu, zamiast ograniczać je do pojedynczej strefy.
Aby uzyskać więcej informacji, zapoznaj się z następującymi artykułami:
Migrowanie lub tworzenie maszyny wirtualnej w innym regionie. Aby uzyskać więcej informacji, zobacz Przenoszenie maszyn wirtualnych platformy Azure między regionami.
Błędy alokacji dotyczące nadmiernego ograniczenia
Przyczyna
Jeśli platforma Azure Compute nie może przydzielić maszyny wirtualnej spełnieniajacej wymagane ograniczenia określone w żądaniu, występują błędy alokacji dotyczące nadmiernego ograniczenia. Te błędy zwykle występują, gdy nie można spełnić określonych wymagań w ramach dostępnych zasobów. Często są one wskazywane przez błędy, takie jak OverconstrainedZonalAllocationRequest
lub OverconstrainedAllocationRequest
.
Te ograniczenia obejmują zwykle (ale nie zawsze) następujące elementy:
- Rozmiar / jednostka SKU maszyny wirtualnej
- Przyspieszona sieć
- Strefa dostępności
- Dysk efemeryczny
- Grupa umieszczania w pobliżu (PPG)
- Dysk w warstwie Ultra lub PremiumSSDv2
Metody obejścia problemu
Aby obejść ten problem, użyj jednej z następujących metod:
Ponowna próba alokacji
Ponowienie próby wykonania żądania alokacji w późniejszym terminie może czasem pomóc, ponieważ zasoby mogły zostać zwolnione w strefie.
Zmienianie rozmiaru maszyny wirtualnej
Rozważ zmianę rozmiaru maszyny wirtualnej na inny, który może mieć większą dostępność w regionie lub strefie.
Zmiana regionu lub strefy
Jeśli bieżący region lub strefa ma duże zapotrzebowanie, spróbuj wdrożyć lub migrować maszynę wirtualną w innym regionie lub strefie dostępności, w której może być więcej pojemności. Region lub strefa można zmienić przy użyciu następujących metod:
Utwórz nową maszynę wirtualną przy użyciu kopii dysku systemu operacyjnego w innej strefie lub bez ograniczenia strefowego. Usunięcie ograniczenia strefowego rozszerza opcje alokacji do całego regionu, zamiast ograniczać je do pojedynczej strefy.
Aby uzyskać więcej informacji, zapoznaj się z następującymi artykułami:
Migrowanie lub tworzenie maszyny wirtualnej w innym regionie. Aby uzyskać więcej informacji, zobacz Przenoszenie maszyn wirtualnych platformy Azure między regionami.
Dostosuj ograniczenia, które mogą ograniczać alokację. W strefie może być wystarczająca dostępność dla jednostki SKU maszyny wirtualnej. Jednak zdefiniowane ograniczenia mogą uniemożliwić alokację. Aby zwiększyć prawdopodobieństwo pomyślnej alokacji, rozważ dostosowanie ograniczeń przez:
- Wyłączenie przyspieszonej sieci.
- Usunięcie maszyny wirtualnej z dowolnej grupy umieszczania w pobliżu.
- Usunięcie wszystkich dysków UltraSSD lub PemiumSSDv2.
Błędy alokacji dla maszyn wirtualnych korzystających z grup umieszczania w pobliżu
Grupy umieszczania w pobliżu powodują, że zasoby są sortowane w tym samym centrum danych, co pozwala zmniejszyć opóźnienia. Jednak dodane ograniczenie wdrożenia może czasami powodować błędy alokacji. Aby uzyskać więcej informacji i poznać najlepsze rozwiązania, zobacz Grupy umieszczania w pobliżu.
Przyczyna
W momencie wysłania żądania dotyczącego uruchomienia lub alokacji pierwszej maszyny wirtualnej w grupie umieszczania w pobliżu zostaje automatycznie wybrane centrum danych. Jeśli wymagany rozmiar maszyny wirtualnej jest niedostępny w tym centrum danych, żądanie kończy się niepowodzeniem. W scenariuszach z elastycznymi obciążeniami, w których wystąpienia maszyn wirtualnych są dodawane lub usuwane dynamicznie, wymuszanie ograniczenia grupy umieszczania w pobliżu może prowadzić do niepowodzenia alokacji, co oznacza, że nie można ukończyć żądania alokacji.
Obejście problemu
Cofnij przydział wszystkich maszyn wirtualnych w grupie umieszczania w pobliżu i spróbuj zmienić kolejność uruchamiania maszyn wirtualnych. Uruchomienie maszyn wirtualnych od najbardziej restrykcyjnej jednostki SKU może zwiększyć prawdopodobieństwo pomyślnej alokacji.
Błędy alokacji dla starszych rozmiarów maszyn wirtualnych (Av1, Dv1, DSv1, D15v2, DS15v2 itp.)
W trakcie rozszerzania infrastruktury platformy Azure wdrażamy sprzęt nowszej generacji, który jest przeznaczony do obsługi najnowszych typów maszyn wirtualnych. Niektóre z maszyn wirtualnych ze starszych serii nie działają w naszej infrastrukturze najnowszej generacji. Z tego powodu u klientów mogą czasami występować błędy alokacji dla tych starszych jednostek SKU. Aby uniknąć tego problemu, zachęcamy klientów korzystających z maszyn wirtualnych ze starszych serii do rozważenia przejścia na równoważne nowsze maszyny wirtualne zgodnie z następującymi zaleceniami: Te maszyny wirtualne są zoptymalizowane pod kątem najnowszego sprzętu i umożliwią korzystanie z lepszych cen i lepszej wydajności.
Starsza seria/starszy rozmiar maszyny wirtualnej | Zalecana nowsza seria/zalecany nowszy rozmiar maszyny wirtualnej | Więcej informacji |
---|---|---|
Seria Av1 | Seria Av2 | https://azure.microsoft.com/blog/new-av2-series-vm-sizes/ |
Seria Dv1 lub DSv1 (od D1 do D5) | Seria Dv3 lub DSv3 | https://azure.microsoft.com/blog/introducing-the-new-dv3-and-ev3-vm-sizes/ |
Seria Dv1 lub DSv1 (od D11 do D14) | Seria Ev3 lub ESv3 | |
D15v2 lub DS15v2 | Rozważ przejście na D16v3/DS16v3 lub D32v3/DS32v3. Są one przeznaczone do uruchamiania na sprzęcie najnowszej generacji. Jeśli chcesz upewnić się, że wystąpienie maszyny wirtualnej jest odizolowane od sprzętu dedykowanego pojedynczemu klientowi, 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. | https://azure.microsoft.com/blog/new-isolated-vm-sizes-now-available/ |
Błędy alokacji dla dużych wdrożeń (ponad 500 rdzeni)
Zmniejsz liczbę wystąpień żądanego rozmiaru maszyny wirtualnej, a następnie spróbuj ponownie wykonać operację wdrażania. Ponadto w przypadku większych wdrożeń można rozważyć zastosowanie zestawów skalowania maszyn wirtualnych platformy Azure z wieloma grupami umieszczania. W przypadku wdrażania z wieloma grupami umieszczania liczba wystąpień maszyn wirtualnych może być automatycznie zwiększana lub zmniejszana w reakcji na zapotrzebowanie lub zgodnie ze zdefiniowanym harmonogramem. Zwiększa się także szansa na powodzenie alokacji, ponieważ wdrożenia mogą zostać rozłożone na wiele klastrów. Dowiedz się więcej na temat pracy z dużymi zestawami skalowania maszyn wirtualnych i sposobu konwertowania istniejącego zestawu skalowania tak, aby obejmował wiele grup umieszczania. Należy pamiętać, że zestaw skalowania można przekonwertować z obsługi pojedynczej grupy umieszczania na obsługę wielu grup umieszczania, ale konwersja odwrotna jest niemożliwa.
Podstawowe informacje
Jak działa alokacja
Serwery w centrach danych platformy Azure są partycjonowane na klastry. Przeważnie próba wykonania żądania alokacji jest podejmowana w wielu klastrach, ale istnieje możliwość, że niektóre ograniczenia wynikające z żądania alokacji (na przykład dotyczące rozmiaru maszyny wirtualnej, dusku Ultra SSD czy grup umieszczania w pobliżu) wymuszają próbę żądania tylko w jednym klastrze platformy Azure. Na diagramie 1 poniżej przedstawiono przypadek normalnej alokacji, która jest podejmowana w wielu klastrach.
Dlaczego występują błędy alokacji
Jeśli alokacja ma dużą liczbę ograniczeń, istnieje większe prawdopodobieństwo niepowodzenia znalezienia wolnych zasobów, ponieważ dostępna pula zasobów jest mniejsza. Ponadto jeśli żądanie alokacji jest ograniczone (na przykład w przypadku korzystania z grup umieszczania w pobliżu, ale żądany typ zasobu nie jest obsługiwany przez zestaw klastrów i pobliskich jednostek), żądanie kończy się niepowodzeniem, nawet jeśli klaster ma wolne zasoby. Na diagramie 2 poniżej przedstawiono przypadek niepowodzenia alokacji spowodowany tym, że klastry kandydatów skojarzone z grupą umieszczania w pobliżu nie mają wolnych zasobów. Diagram 3 ilustruje przypadek niepowodzenia alokacji wynikającego z faktu, że klastry kandydatów skojarzone z grupą umieszczania w pobliżu nie obsługują żądanego rozmiaru maszyny wirtualnej, mimo że klastry te mają wolne 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.