Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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ą.
Jeśli alokacja nie powiedzie się po wzroście limitu przydziału, zobacz Limit przydziału i pojemność oraz Rezerwacja pojemności na żądanie , aby uzyskać wskazówki dotyczące dostępności pojemności.
Informacje o błędach OverconstrainedZonalAllocationRequest lub OverconstrainedAllocationRequest w zestawie skalowania maszyn wirtualnych można znaleźć w sekcji Niepowodzenia alokacji spowodowane nadmiernymi ograniczeniami w artykule dotyczącym rozwiązywania problemów z maszynami wirtualnymi. W przypadku standardowych maszyn wirtualnych zobacz Rozwiązywanie problemów z błędami alokacji podczas tworzenia, ponownego uruchamiania lub zmieniania rozmiaru maszyn wirtualnych w 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ć instancje 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. Dowiedz się więcej o tym, jak zwiększyć szanse 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:
- 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 zakres takiej alokacji to pojedynczy klaster i istnieje możliwość, że w klastrze brakuje pojemności. Dowiedz się więcej o tym, jak zwiększyć prawdopodobieństwo powodzenia alokacji, pod adresem https://aka.ms/allocation-guidance.
Jak uniknąć błędów alokacji
Przed wdrożeniem sprawdź obsługę jednostek SKU i stref maszyn wirtualnych przy użyciu polecenia az vm list-skus z programem --zone. To narzędzie diagnostyczne pokazuje obsługiwane jednostki SKU i strefy oraz ograniczenia subskrypcji, a nie rzeczywistą, bieżącą dostępność zasobów fizycznych.
Aby uniknąć niepowodzeń alokacji, możesz zastosować w zestawie skalowania określone ustawienia konfiguracji, aby zoptymalizować żądania alokacji.
Nadmiarowa alokacja zasobów. Po włączeniu nadmiarowej aprowizacji zestaw skalowania faktycznie uruchamia więcej wystąpień maszyn wirtualnych, niż zażądano. Następnie usuwa dodatkowe instancje maszyn wirtualnych, gdy żądana liczba instancji maszyn wirtualnych zostanie pomyślnie aprowizowana. Ta praktyka poprawia współczynniki powodzenia aprowizacji i skraca czas wdrażania. Nie są naliczane opłaty za dodatkowe instancje maszyn wirtualnych i nie wliczają się one do limitów przydziału. Aby włączyć nadmiarową alokację:
W portalu Azure wyszukaj i wybierz pozycję zestawy skalowania maszyn wirtualnych.
Wybierz nazwę zestawu skalowania.
W okienku menu wybierz pozycję Konfiguracja.
W nagłówku Overprovisioning ustaw opcję Włącz nadmiarową aprowizację na Wł.
Wybierz pozycję Zapisz.
Dowiedz się więcej na temat nadmiernej aprowizacji.
Włącz zestawy na dużą skalę. 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 możliwość jest określana przez właściwość zestawu skalowania (
singlePlacementGroup=false). O tym, co wyróżnia duży zestaw skalowania, nie decyduje liczba wystąpień maszyn wirtualnych, lecz liczba zawartych w nim grup rozmieszczenia. Grupa rozmieszczenia jest podobna do zestawu dostępności platformy Azure, z własnymi domenami awarii i domenami uaktualnień. Gdy parametrsinglePlacementGroupjest ustawiony nafalse, masz większe szanse powodzenia alokacji, ponieważ wdrożenia można rozmieścić w wielu klastrach, jeśli są wdrażane jako grupa z wieloma lokalizacjami. Dowiedz się więcej o dużych zestawach skalowania maszyn wirtualnych, w szczególności o tym, jak konwertować istniejący zestaw skalowania tak, aby obejmował wiele grup umieszczania.Uwaga
Możesz zmienić zestaw skalowania z obsługi pojedynczej grupy rozmieszczenia na obsługę wielu grup rozmieszczenia, ale nie możesz przeprowadzić takiej konwersji w przeciwnym kierunku. Po ustawieniu
singlePlacementGroupnafalsenie można tego zmienić z powrotem.
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 rozważyć użycie Azure Virtual Machine Scale Sets z wieloma grupami rozmieszczenia. 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 problemu 1
Spróbuj wykonać jedną z następujących czynności:
Spróbuj przenieść zestaw skalowania do innego klastra w tym samym regionie, który dysponuje wystarczającą 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 instancje VM. Aby zatrzymać instancje maszyn wirtualnych:
W witrynie Azure Portal wyszukaj i wybierz pozycję zestawy skalowania maszyn wirtualnych.
Wybierz nazwę zestawu skalowania.
Wybierz 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 skalował się w więcej niż jednej grupie umieszczenia.
Zobacz Tworzenie dużego zestawu.
Przyczyna 2: Ponownie uruchomiono częściowo wyłączoną (zwolnioną z przydziału) maszynę wirtualną
Częściowe cofnięcie przydziału oznacza, że zatrzymano (cofnięto przydział) co najmniej jednego, ale nie wszystkich, wystąpień 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 zwolnionym zestawie dostępności jest równoznaczne z dodawaniem wystąpień maszyn wirtualnych do istniejącego zestawu dostępności. Musisz więc spróbować złożyć żądanie alokacji w pierwotnym klastrze hostującym istniejący zestaw dostępności, który może nie dysponować wystarczającą pojemnością.
Rozwiązanie problemu 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ć instancje maszyn wirtualnych:
W portalu Azure wyszukaj i wybierz pozycję zestawy skalowania maszyn wirtualnych.
Wybierz nazwę zestawu skalowania.
W okienku menu wybierz pozycję Wystąpienia.
Wybierz wszystkie wymienione instancje 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: Ponownie uruchomione instancje maszyn wirtualnych, które zostały całkowicie zatrzymane
Pełne cofnięcie przydziału oznacza, że zatrzymano (cofnięto przydział) wszystkie wystąpienia 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 żądanie, aby zwiększyć szanse na pomyślne przydzielenie zasobów.
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ć instancję maszyny wirtualnej, co spowoduje przydzielenie tej instancji do nowego klastra w regionie.
Błędy alokacji starszych rozmiarów maszyn wirtualnych
Niektóre starsze rozmiary maszyn wirtualnych z serii nie działają na 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 | Przedstawiamy nowe rozmiary 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 Resource Manager, aby mieć pewność, że instancja maszyny wirtualnej jest izolowana na sprzęcie dedykowanym 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 wynikające z żądania alokacji mogą sprawić, że platforma Azure spróbuje zrealizować żądanie tylko w jednym klastrze („przypisane 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. Poniższy diagram 3 pokazuje, gdzie alokacja przypisana na stałe nie powiedzie się, ponieważ jedyny klaster brany pod uwagę nie ma wolnych zasobów. Na diagramie 4 pokazano, gdzie przypisana alokacja kończy się niepowodzeniem, ponieważ jedyny brany pod uwagę klaster nie obsługuje żądanego rozmiaru maszyny wirtualnej, mimo że klaster ma wolne zasoby.