Tryb dynamicznej zgodności procesora
Dotyczy: Azure Local, wersja 22H2
Tryb zgodności procesora dynamicznego jest aktualizowany w celu korzystania z nowych funkcji procesora w środowisku klastra. Zgodność procesora działa przez określenie obsługiwanych funkcji procesora dla każdego węzła w klastrze i obliczenie wspólnego mianownika we wszystkich procesorach. Maszyny wirtualne są skonfigurowane do używania maksymalnej liczby funkcji dostępnych na wszystkich serwerach w klastrze. Poprawia to wydajność w porównaniu z poprzednią wersją zgodności procesora, która domyślnie ma minimalny, stały zestaw możliwości procesora.
Kiedy używać trybu zgodności procesora
Tryb zgodności procesora umożliwia przenoszenie aktywnej maszyny wirtualnej (migracja na żywo) lub przenoszenie maszyny wirtualnej zapisanej między węzłami z różnymi zestawami możliwości procesu. Jednak nawet w przypadku włączenia zgodności procesora nie można przenosić maszyn wirtualnych między hostami z różnymi producentami procesorów. Na przykład nie można przenieść uruchomionych maszyn wirtualnych ani maszyn wirtualnych w stanie zapisanym z hosta z procesorami Intel do hosta z procesorami AMD. Jeśli musisz przenieść maszynę wirtualną w ten sposób, najpierw zamknij maszynę wirtualną, a następnie uruchom ją ponownie na nowym hoście.
Ważny
Tylko Hyper-V maszyny wirtualne z najnowszą wersją konfiguracji (10.0) korzystają z konfiguracji dynamicznej. Maszyny wirtualne ze starszymi wersjami nie korzystają z konfiguracji dynamicznej i nie będą nadal korzystać z stałych możliwości procesora z poprzedniej wersji.
Zalecamy włączenie trybu zgodności procesora dla maszyn wirtualnych działających w środowisku lokalnym platformy Azure. Zapewnia to najwyższy poziom możliwości, a gdy nadszedł czas na migrację do nowego sprzętu, przeniesienie maszyn wirtualnych nie wymaga przestoju.
Notatka
Nie musisz używać trybu zgodności procesora, jeśli planujesz zatrzymać i ponownie uruchomić maszyny wirtualne. Za każdym razem, gdy maszyna wirtualna zostanie ponownie uruchomiona, system operacyjny maszyny wirtualnej wylicza zgodności procesorów, które są dostępne na nowym hoście.
Dlaczego wymagany jest tryb zgodności procesora
Producenci procesorów często wprowadzają optymalizacje i możliwości w swoich procesorach. Te możliwości często zwiększają wydajność lub bezpieczeństwo przy użyciu wyspecjalizowanego sprzętu dla określonego zadania. Na przykład wiele aplikacji multimedialnych korzysta z możliwości procesora w celu przyspieszenia obliczeń wektorów. Te funkcje są rzadko wymagane do uruchamiania aplikacji; zwiększają wydajność.
Zestaw możliwości dostępnych na procesorze różni się w zależności od jego producenta, modelu i wieku. Systemy operacyjne i oprogramowanie aplikacji zwykle wyliczają możliwości procesora systemu po ich pierwszym uruchomieniu. Oprogramowanie nie oczekuje, że dostępne możliwości procesora zmieniają się w okresie ich istnienia, co nigdy nie występuje podczas uruchamiania na komputerze fizycznym, ponieważ możliwości procesora są statyczne, chyba że procesor uaktualnia.
Jednak funkcje mobilności maszyn wirtualnych umożliwiają migrowanie uruchomionej maszyny wirtualnej do nowego hosta wirtualizacji. Jeśli oprogramowanie na maszynie wirtualnej wykryje i zacznie korzystać z określonej możliwości procesora, a następnie maszyna wirtualna zostanie przeniesiona do nowego hosta wirtualizacji bez tej możliwości, oprogramowanie prawdopodobnie zakończy się niepowodzeniem. Może to spowodować awarię aplikacji lub maszyny wirtualnej.
Aby uniknąć niepowodzeń, Hyper-V przeprowadza "wstępne kontrole" przy każdym zainicjowaniu operacji migracji na żywo lub zapisywania/przywracania maszyny wirtualnej. Te testy porównują zestaw funkcji procesora dostępnych dla maszyny wirtualnej na hoście źródłowym względem zestawu funkcji dostępnych na hoście docelowym. Jeśli te zestawy funkcji nie są zgodne, operacja migracji lub przywracania zostanie anulowana.
Co nowego w trybie zgodności procesora
W przeszłości wszystkie nowe zestawy instrukcji procesora były ukryte, co oznacza, że system operacyjny gościa i oprogramowanie aplikacji nie mogły używać ulepszeń zestawu instrukcji procesora, aby ułatwić aplikacjom i maszynom wirtualnym zachowanie wydajności.
Aby przezwyciężyć to ograniczenie, tryb zgodności procesora zapewnia teraz ulepszone, dynamiczne możliwości procesorów obsługujących translację adresów drugiego poziomu (SLAT). Ta nowa funkcja oblicza wspólny mianownik funkcji procesora OBSŁUGIWANYch przez węzły w klastrze i aktualizuje istniejący tryb zgodności procesora na maszynie wirtualnej, aby używać tego dynamicznie obliczanego zestawu funkcji zamiast starego zestawu funkcji zakodowanych na podstawie kodu.
Nowy tryb zgodności procesora zapewnia, że zestaw funkcji procesora dostępnych dla maszyn wirtualnych na hostach wirtualizacji jest zgodny, prezentując wspólny zestaw możliwości na wszystkich serwerach w klastrze. Każda maszyna wirtualna otrzymuje maksymalną liczbę zestawów instrukcji procesora, które znajdują się na wszystkich serwerach w klastrze. Ten proces odbywa się automatycznie i jest zawsze włączony i replikowany w klastrze, więc nie ma polecenia, aby włączyć lub wyłączyć proces.
Korzystanie z trybu zgodności procesora
Istnieją ważne pojęcia, które należy zrozumieć podczas korzystania z trybu zgodności procesora w funkcji Hyper-V:
Uruchomione maszyny wirtualne można migrować tylko między hostami wirtualizacji, które używają procesorów od tego samego producenta.
Przed włączeniem lub wyłączeniem trybu zgodności procesora należy zamknąć maszynę wirtualną.
Tryb zgodności procesora nie jest wymagany w przypadku przeniesienia maszyny wirtualnej, które obejmują zatrzymanie i ponowne uruchomienie maszyny wirtualnej.
Za każdym razem, gdy maszyna wirtualna zostanie ponownie uruchomiona, system operacyjny gościa wylicza funkcje procesora, które są dostępne na nowym komputerze hosta.
Notatka
W systemie Windows Server firma Microsoft zaleca włączenie trybu zgodności procesora tylko przed scenariuszami migracji maszyn wirtualnych, a następnie wyłączenie go po zakończeniu migracji.
Migrowanie uruchomionych maszyn wirtualnych między klastrami
Zakładając, że wszystkie serwery w każdym klastrze działają na tym samym sprzęcie, można przeprowadzić migrację na żywo działających maszyn wirtualnych między klastrami. Istnieją trzy typowe scenariusze.
Migracja na żywo maszyny wirtualnej z klastra z nowymi procesorami do klastra z tymi samymi procesorami. Możliwości maszyny wirtualnej są przenoszone do klastra docelowego. Ten scenariusz nie wymaga włączenia trybu zgodności procesora; jednak pozostawienie go włączonego nie spowoduje żadnych problemów.
Migracja na żywo maszyny wirtualnej z klastra ze starszymi procesorami do klastra z nowszymi procesorami. Możliwości maszyny wirtualnej są przenoszone do klastra docelowego. W tym scenariuszu, jeśli maszyna wirtualna zostanie uruchomiona ponownie, otrzyma najnowszą obliczoną możliwość klastra docelowego.
Migracja na żywo maszyny wirtualnej z klastra z nowszymi procesorami do klastra ze starszymi procesorami. Należy ustawić procesor maszyny wirtualnej, aby używał
MinimumFeatureSet
dla parametruCompatibilityForMigrationMode
w PowerShell, lub wybrać opcję Zgodne na innych hostach z tym samym producentem procesora w Centrum administracyjnym systemu Windows w sekcji Maszyny wirtualne , Ustawienia >, Procesory >. To ustawienie przypisuje maszynę wirtualną do minimalnych możliwości procesora oferowanych na serwerze. Po zmianie zgodności do zgodnego w całym klastrze (zalecane) i ponownym uruchomieniu maszyny wirtualnej, otrzymuje najnowsze obliczone możliwości docelowego klastra.
Konsekwencje korzystania z trybu zgodności procesora
Trudno jest oszacować ogólne skutki wydajności trybu zgodności procesora. Utrata wydajności zależy przede wszystkim od obciążenia uruchomionego na maszynie wirtualnej. Niektóre obciążenia mogą nie mieć wpływu, podczas gdy inne pokazują zauważalną różnicę. Oprogramowanie, które w dużym stopniu opiera się na optymalizacjach sprzętowych (takich jak szyfrowanie, kompresja lub intensywne obliczenia zmiennoprzecinkowe), jest najbardziej narażone na wpływ.
Aplikacje, które szyfrują lub odszyfrują dużą ilość danych, korzystają z tej funkcji procesora, dlatego wyłączenie jej przez włączenie trybu zgodności procesora wpływa na wydajność tych konkretnych operacji.
Jeśli martwisz się o wpływ na wydajność trybu zgodności procesora, najlepiej porównać wydajność obciążenia maszyny wirtualnej z włączonym trybem zgodności procesora i wyłączonym.
Konfigurowanie maszyny wirtualnej do korzystania z trybu zgodności procesora
W tej sekcji wyjaśniono, jak skonfigurować maszynę wirtualną do korzystania z trybu zgodności procesora. Można uruchamiać maszyny wirtualne z trybem zgodności i bez niego w tym samym klastrze.
Ważny
Przed włączeniem lub wyłączeniem trybu zgodności procesora należy zamknąć maszynę wirtualną.
Włączanie trybu zgodności procesora przy użyciu Centrum administracyjnego systemu Windows
Aby włączyć tryb zgodności procesora przy użyciu programu Windows Admin Center:
Połącz się z klastrem, a następnie w okienku Narzędzia wybierz pozycję maszyny wirtualne .
W obszarze Inventorywybierz maszynę wirtualną, na której chcesz włączyć tryb zgodności procesora, rozwiń menu Power, a następnie wybierz pozycję Wyłącz.
Wybierz ustawienia , a następnie procesoryi zaznacz pole zgodność procesora.
Jeśli chcesz ustawić cechy procesora VM na maksymalny poziom obsługiwany przez wszystkie serwery w klastrze, wybierz pozycję Zgodne w całym klastrze (zalecane). Pozwala to zmaksymalizować wydajność maszyny wirtualnej przy jednoczesnym zachowaniu możliwości przeniesienia uruchomionej maszyny wirtualnej na inne serwery w klastrze. Zalecamy włączenie tej opcji dla wszystkich maszyn wirtualnych uruchomionych w klastrach usługi Azure Local 21H2. Jeśli maszyna wirtualna jest wyłączona, należy ponownie uruchomić maszynę wirtualną, aby przejść do hosta z innym poziomem obsługiwanych instrukcji procesora CPU, typowymi dla różnych generacji procesorów CPU.
Alternatywnie, jeśli chcesz ustawić funkcje procesora CPU maszyny wirtualnej na minimum, aby upewnić się, że można przenieść uruchomioną maszynę wirtualną na inne hosty Hyper-V poza klastrem, o ile mają tego samego producenta procesora CPU, wybierz opcję Zgodne na innych hostach z tym samym producentem procesora CPU.
Wybierz Zapisz ustawienia procesora i uruchom ponownie maszynę wirtualną.
W tej sekcji wyjaśniono, jak skonfigurować maszynę wirtualną do korzystania z trybu zgodności procesora przy użyciu menedżera Hyper-V lub programu PowerShell. Można uruchamiać maszyny wirtualne z trybem zgodności i bez niego w tym samym klastrze.
Ważny
Przed włączeniem lub wyłączeniem trybu zgodności procesora należy zamknąć maszynę wirtualną.
Włączanie trybu zgodności procesora przy użyciu programu Hyper-V Manager
Aby włączyć tryb zgodności procesora dla maszyny wirtualnej przy użyciu menedżera Hyper-V:
Zamknij maszynę wirtualną.
Wybierz pozycję Start, wskaż Narzędzia administracyjne, a następnie wybierz pozycję Hyper-V Manager.
Wybierz serwer z systemem Hyper-V i odpowiednią maszyną wirtualną.
Jeśli maszyna wirtualna jest uruchomiona, musisz zamknąć maszynę wirtualną, aby włączyć ustawienie trybu zgodności procesora.
W okienku Akcja wybierz pozycję ustawienia , a następnie wybierz pozycję Procesor.
Rozwiń węzeł Processori wybierz opcję Compatibility.
Wybierz pozycję
Migrate to a physical computer with a different processor (Migrowanie do komputera fizycznego z innym procesorem), a następnie wybierz pozycjęOK .Uruchom ponownie maszynę wirtualną.
Wyłączanie trybu zgodności procesora przy użyciu programu Hyper-V Manager
Aby wyłączyć tryb zgodności procesora dla maszyny wirtualnej przy użyciu programu Hyper-V Manager:
Zamknij maszynę wirtualną.
Wybierz pozycję Start, wskaż Narzędzia administracyjne, a następnie wybierz pozycję Hyper-V Manager.
Wybierz serwer z systemem Hyper-V i odpowiednią maszyną wirtualną.
Jeśli maszyna wirtualna jest uruchomiona, musisz zamknąć maszynę wirtualną, aby wyłączyć ustawienie trybu zgodności procesora.
W okienku Akcja wybierz pozycję ustawienia , a następnie wybierz pozycję Procesor.
Rozwiń węzeł Processori wybierz opcję Compatibility.
Zaznacz pole wyboru
Migrate to a physical computer with a different processor (Migrowanie do komputera fizycznego z innym procesorem), a następnie wybierz pozycjęOK .Uruchom ponownie maszynę wirtualną.
Włączanie trybu zgodności procesora przy użyciu programu PowerShell
Aby włączyć tryb zgodności procesora, uruchom następujące polecenie cmdlet:
get-vm -name <name of VM> -ComputerName <target cluster or host> | Set-VMProcessor -CompatibilityForMigrationEnabled $true
Zalecamy ustawienie funkcji procesora CPU maszyny wirtualnej na maksymalny poziom obsługiwany przez wszystkie serwery w klastrze. Pozwala to zmaksymalizować wydajność maszyny wirtualnej przy jednoczesnym zachowaniu możliwości przeniesienia uruchomionej maszyny wirtualnej na inne serwery w klastrze.
Aby umożliwić maszynie wirtualnej używanie typowych funkcji węzła klastra, uruchom następujące polecenie cmdlet:
get-vm -name <name of VM> -ComputerName <target cluster or host> | Set-VMProcessor -CompatibilityForMigrationEnabled $true -CompatibilityForMigrationMode CommonClusterFeatureSet
Alternatywnie można ustawić funkcje procesora CPU maszyny wirtualnej na minimum, zapewniając, że można przenieść uruchomioną maszynę wirtualną do innych hostów Hyper-V spoza klastra, jeśli mają tego samego producenta procesora CPU.
Aby umożliwić maszynie wirtualnej używanie domyślnych minimalnych funkcji do migracji między klastrami, uruchom następujące polecenie cmdlet:
get-vm -name <name of VM> -ComputerName <target cluster or host> | Set-VMProcessor -CompatibilityForMigrationEnabled $true -CompatibilityForMigrationMode MinimumFeatureSet
Wyłączanie trybu zgodności procesora przy użyciu programu PowerShell
Aby wyłączyć tryb zgodności procesora dla maszyny wirtualnej przy użyciu programu PowerShell, zamknij maszynę wirtualną i uruchom polecenie cmdlet Set-VMProcessor
, ustawiając CompatibilityForMigrationEnabled
na $false:
get-vm -name <name of VM> -ComputerName <target cluster or host> | Set-VMProcessor -CompatibilityForMigrationEnabled $false
Następnie uruchom ponownie maszynę wirtualną.