Rozwiązywanie problemów z błędami alokacji podczas tworzenia lub zmieniania rozmiaru maszyn wirtualnych na platformie Azure

Dotyczy: ✔️ Maszyny wirtualne z systemem Linux maszyny wirtualne z ✔️ systemem Windows

Po utworzeniu maszyny wirtualnej uruchamianie zatrzymanych (cofniętych przydziałów) maszyn wirtualnych lub zmiana rozmiaru maszyny wirtualnej platforma Microsoft Azure przydziela zasoby obliczeniowe do subskrypcji. Nieustannie inwestujemy w dodatkową infrastrukturę i funkcje, aby upewnić się, że zawsze mamy wszystkie typy maszyn wirtualnych dostępne do obsługi zapotrzebowania klientów. Jednak czasami mogą wystąpić błędy alokacji zasobów z powodu bezprecedensowego wzrostu zapotrzebowania na usługi platformy Azure w określonych regionach. Ten problem może wystąpić podczas próby utworzenia lub uruchomienia maszyn wirtualnych w regionie, gdy maszyny wirtualne wyświetlają następujący kod błędu i komunikat:

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 zwiększania prawdopodobieństwa powodzenia alokacji na stronie https://aka.ms/allocation-guidance"

Uwaga

Jeśli rozwiązujesz problemy z zestawem skalowania maszyn wirtualnych (VMSS), proces jest taki sam jak standardowa maszyna wirtualna. Aby rozwiązać ten problem, należy postępować 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ć/zmienić rozmiar istniejącej maszyny wirtualnej w zestawie skalowania maszyn wirtualnych z pojedynczą grupą umieszczania, należy pamiętać, że taka alokacja może być ograniczona do pojedynczego klastra i możliwe, że klaster jest poza pojemnością. Przeczytaj więcej na temat zwiększania prawdopodobieństwa powodzenia alokacji na stronie http://aka.ms/allocation-guidance."

W tym artykule wyjaśniono przyczyny niektórych typowych niepowodzeń alokacji i sugeruje możliwe środki zaradcze.

Jeśli problem z platformą Azure nie został rozwiązany w tym artykule, odwiedź fora platformy Azure w witrynie Q&A i Stack Overflow. Możesz opublikować swój problem na tych forach lub na @AzureSupport Twitterze. Ponadto możesz zgłosić żądanie pomoc techniczna platformy Azure, wybierając pozycję Uzyskaj pomoc techniczną w witrynie pomoc techniczna platformy Azure.

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ć wskazówki w poniższej tabeli jako tymczasowe obejście.

Zidentyfikuj scenariusz, który najlepiej pasuje do Twojego przypadku, a następnie ponów próbę żądania alokacji, używając odpowiedniego sugerowanego obejścia, aby zwiększyć prawdopodobieństwo powodzenia alokacji. Alternatywnie można zawsze ponowić próbę później. Dzieje się tak, ponieważ w klastrze, regionie lub strefie mogła zostać zwolniona wystarczająca ilość zasobów, aby uwzględnić twoje żądanie.

Zmiana rozmiaru maszyny wirtualnej lub dodanie maszyn wirtualnych do istniejącego zestawu dostępności

Przyczyna

Żądanie zmiany rozmiaru maszyny wirtualnej lub dodania maszyny wirtualnej do istniejącego zestawu dostępności musi zostać wypróbowane w oryginalnym klastrze hostującym istniejący zestaw dostępności. Żądany rozmiar maszyny wirtualnej jest obsługiwany przez klaster, ale klaster może obecnie nie mieć wystarczającej pojemności.

Rozwiązanie

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.

Zatrzymaj (cofnij przydział) wszystkie maszyny wirtualne w tym samym zestawie dostępności, a następnie uruchom wszystkie odpowiednie maszyny wirtualne w partii. Aby zatrzymać: kliknij pozycję Grupy > zasobów [grupa zasobów] Zasoby > [zestaw dostępności] > > Maszyny > wirtualne [twoja maszyna wirtualna] > Zatrzymaj. Po zatrzymaniu wszystkich maszyn wirtualnych przejdź do pozycji Maszyny wirtualne główne>, dodaj filtr Zestaw dostępności, a następnie wybierz pozycję Grupuj według zestawu dostępności. Wybierz wszystkie odpowiednie maszyny wirtualne i kliknij przycisk Start. Ten krok zapewnia, że zostanie uruchomiona nowa próba alokacji i że można wybrać nowy klaster, który ma wystarczającą pojemność.

Uruchamianie częściowo zatrzymanych (cofniętych przydziałów) maszyn wirtualnych

Przyczyna

Częściowa alokacja 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 zostaną zwolnione. Uruchamianie maszyn wirtualnych w częściowo cofniętym zestawie dostępności jest takie samo jak dodawanie maszyn wirtualnych do istniejącego zestawu dostępności. W związku z tym żądanie alokacji musi zostać wypróbowane w oryginalnym klastrze hostujący istniejący zestaw dostępności, który może nie mieć wystarczającej pojemności.

Rozwiązanie

Zatrzymaj (cofnij przydział) wszystkie maszyny wirtualne w tym samym zestawie dostępności, a następnie uruchom wszystkie odpowiednie maszyny wirtualne w partii. Aby zatrzymać: kliknij pozycję Grupy > zasobów [grupa zasobów] Zasoby > [zestaw dostępności] > > Maszyny > wirtualne [twoja maszyna wirtualna] > Zatrzymaj. Po zatrzymaniu wszystkich maszyn wirtualnych przejdź do pozycji Maszyny wirtualne główne>, dodaj filtr Zestaw dostępności, a następnie wybierz pozycję Grupuj według zestawu dostępności. Wybierz wszystkie odpowiednie maszyny wirtualne i kliknij przycisk Start. Dzięki temu zostanie uruchomiona nowa próba alokacji i że można wybrać nowy klaster, który ma wystarczającą pojemność.

Uruchamianie w pełni zatrzymanych (cofniętych przydziałów) maszyn wirtualnych

Przyczyna

Pełna alokacja oznacza zatrzymanie (cofnięcie przydziału) wszystkich maszyn wirtualnych w zestawie dostępności. Żądanie alokacji do uruchomienia tych maszyn wirtualnych będzie dotyczyć wszystkich klastrów obsługujących żądany rozmiar w regionie lub strefie. Zmień żądanie alokacji zgodnie z sugestiami w tym artykule i spróbuj ponownie wysłać żądanie, aby zwiększyć prawdopodobieństwo powodzenia alokacji.

Rozwiązanie

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. Jeśli nie masz opcji użycia innego rozmiaru maszyny wirtualnej, spróbuj przeprowadzić wdrożenie w innym regionie w tym samym obszarze geograficznym. Aby uzyskać więcej informacji na temat dostępnych rozmiarów maszyn wirtualnych w każdym regionie pod adresem https://aka.ms/azure-regions

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ę ze wskazówkami w poniższych sekcjach, aby podzielić żądanie na mniejsze wdrożenia.

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 Jeśli używasz modelu wdrażania usługiResource Manager w celu skorzystania z większych rozmiarów maszyn wirtualnych, rozważ przejście do wersji D16v3/DS16v3 lub D32v3/DS32v3. Są one przeznaczone do uruchamiania na sprzęcie najnowszej generacji. Jeśli używasz modelu wdrażania usługi Resource Manager, aby 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.

Informacje podstawowe

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 wymuszają próbę żądania tylko w jednym klastrze platformy Azure. W tym artykule odwołujemy się do tego jako "przypiętego do klastra". Diagram 1 poniżej przedstawia przypadek normalnej alokacji, która jest podejmowana w wielu klastrach. Diagram 2 ilustruje przypadek alokacji przypiętej do klastra 2, ponieważ w tym miejscu jest hostowana istniejąca usługa w chmurze CS_1 lub zestaw dostępności. Diagram 1 przedstawia próbę alokacji w wielu klastrach, a diagram 2 przedstawia alokację przypiętą do jednego klastra.

Dlaczego występują błędy alokacji

Gdy żą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. Ponadto jeśli żądanie alokacji jest przypięte do klastra, ale żądany typ zasobu nie jest obsługiwany przez ten klaster, żądanie zakończy się niepowodzeniem, nawet jeśli klaster ma bezpłatne zasoby. Na poniższym diagramie 3 przedstawiono przypadek, w którym przypięta alokacja kończy się niepowodzeniem, ponieważ jedyny klaster kandydata nie ma bezpłatnych zasobów. Diagram 4 ilustruje przypadek, w którym przypięta alokacja kończy się niepowodzeniem, ponieważ jedyny klaster kandydata nie obsługuje żądanego rozmiaru maszyny wirtualnej, mimo że klaster ma bezpłatne zasoby.

Diagram 3 pokazuje, że alokacja nie powiodła się w przypiętym klastrze: brak dostępnego bezpłatnego zasobu, a diagram 4 pokazuje, że alokacja nie powiodła się w przypiętym klastrze: 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 pomoc techniczną społeczności platformy Azure. Możesz również przesłać opinię o produkcie do społeczności opinii na temat platformy Azure.