Udostępnij za pomocą


Konfigurowanie trybu zgodności procesora na maszynach wirtualnych Hyper-V

Tryb zgodności procesora umożliwia migrację maszyny wirtualnej między hostami z różnymi możliwościami procesora. Ogranicza ona funkcje procesora dostępne dla maszyny wirtualnej w celu zapewnienia zgodności podczas przenoszenia maszyn wirtualnych między hostami lub klastrami z różnymi procesorami.

Czasami może być konieczne ograniczenie przekazywanych możliwości procesora, np. podczas przenoszenia aktywnej lub zapisanej maszyny wirtualnej między hostami lub klastrami z różnymi możliwościami procesora, lub przy tworzeniu aplikacji, które muszą działać na szerokim zakresie sprzętu. W takich przypadkach można użyć trybu zgodności procesora. Zalecamy włączenie trybu zgodności procesora tylko podczas procesu migracji, a następnie wyłączenie go, aby umożliwić maszynie wirtualnej korzystanie z pełnych możliwości procesora hosta. Jeśli masz klaster z różnymi generacjami procesorów, musisz pozostawić włączony tryb zgodności procesora, aby migracja na żywo działała.

Tryb zgodności procesora dynamicznego, wprowadzony w systemie Windows Server 2025 dla maszyn wirtualnych korzystających z konfiguracji w wersji 10.0 lub nowszej, rozszerza poprzednią wersję trybu zgodności procesora, umożliwiając maszynom wirtualnym używanie dynamicznie obliczanego zestawu funkcji procesora, które są wspólne we wszystkich węzłach w klastrze. Oznacza to, że maszyny wirtualne mogą korzystać z maksymalnych możliwości dostępnych w klastrze, jednocześnie zapewniając zgodność podczas przenoszenia maszyn wirtualnych między hostami.

Aby dowiedzieć się więcej na temat trybu zgodności procesora, zobacz Zgodność procesora w maszynach wirtualnych Hyper-V.

W tym artykule wyjaśniono, jak skonfigurować tryb zgodności procesora dla maszyny wirtualnej przy użyciu programu Hyper-V Manager, programu PowerShell lub Centrum administracyjnego systemu Windows.

Wymagania wstępne

Przed rozpoczęciem upewnij się, że spełnisz następujące wymagania wstępne:

  • Masz dostęp administracyjny do hosta lub klastra Hyper-V, na którym jest uruchomiona maszyna wirtualna i do której chcesz przeprowadzić migrację.

  • Maszyna wirtualna, którą chcesz skonfigurować tryb zgodności procesora, jest wyłączona. Nie można włączyć ani wyłączyć trybu zgodności procesora, gdy maszyna wirtualna jest uruchomiona.

  • Tryb zgodności procesora dynamicznego został wprowadzony dla maszyn wirtualnych na hoście Hyper-V z systemem Windows Server 2025 lub Azure Local (wcześniej Azure Stack HCI) w wersji 21H2, które używają konfiguracji w wersji 10.0 lub nowszej. Jeśli maszyna wirtualna używa starszej wersji konfiguracji, uaktualnij jej wersję konfiguracji, w przeciwnym razie używa standardowego trybu zgodności procesora.

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 przy użyciu menedżera Hyper-V, programu PowerShell lub Centrum administracyjnego systemu Windows. Można uruchamiać maszyny wirtualne z trybem zgodności i bez niego w tym samym klastrze. Dwa tryby zgodności procesora są włączone i wyłączone w ten sam sposób. Tryb zgodności procesora dynamicznego jest przejrzysty dla użytkownika i włączany, gdy maszyna wirtualna jest uruchomiona w klastrze.

Wybierz odpowiednią kartę dla metody, której chcesz użyć.

Aby włączyć lub wyłączyć tryb zgodności procesora dla maszyny wirtualnej przy użyciu programu Hyper-V Manager, wykonaj następujące kroki. Nie można skonfigurować trybu zgodności procesora dynamicznego w programie Hyper-V Manager; Zamiast tego należy użyć programu PowerShell lub Centrum administracyjnego systemu Windows.

  1. Otwórz Menedżera Hyper-V.

  2. Wybierz serwer z systemem Hyper-V i odpowiednią maszyną wirtualną.

  3. Jeśli maszyna wirtualna jest uruchomiona, musisz zamknąć maszynę wirtualną, aby zmienić ustawienie trybu zgodności procesora.

  4. W okienku Akcje dla maszyny wirtualnej wybierz pozycję Ustawienia.

  5. W okienku Sprzęt wybierz pozycję Procesor. Rozwiń Procesor, a następnie wybierz Zgodność.

  6. Aby włączyć tryb zgodności procesora, zaznacz pole wyboru Migrowanie do komputera fizycznego z innym procesorem. Aby go wyłączyć, usuń zaznaczenie pola.

    Zrzut ekranu menedżera ustawień VM Hyper-V pokazujący stronę zgodności procesora z zaznaczonym polem wyboru umożliwiającym migrację na komputer fizyczny z innym procesorem.

  7. Wybierz przycisk OK , aby zapisać zmianę, a następnie uruchom maszynę wirtualną.

Weryfikowanie funkcji procesora na hoście Hyper-V i na maszynie wirtualnej

Po skonfigurowaniu trybu zgodności procesora można sprawdzić funkcje procesora dostępne na hoście Hyper-V i na maszynie wirtualnej. Te informacje mogą być przydatne, jeśli chcesz sprawdzić, czy maszyna wirtualna ma oczekiwany zestaw dostępnych funkcji.

Aby sprawdzić funkcje procesora na hoście Hyper-V i maszynie wirtualnej z systemem Windows, możesz uruchomić narzędzie Coreinfo z Sysinternals:

  1. Zaloguj się do hosta lub maszyny wirtualnej i pobierz i wyodrębnij narzędzie Coreinfo.

  2. Otwórz program PowerShell jako administrator i przejdź do katalogu, w którym wyodrębniono informacje Coreinfo.

  3. Uruchom następujące polecenie. Jeśli uruchamiasz program Coreinfo na tym hoście po raz pierwszy, musisz zaakceptować umowę licencyjną.

    .\Coreinfo.exe -f
    

    Oto obcięty przykład danych wyjściowych, w których każdy wiersz reprezentuje funkcję procesora, a gwiazdka (*) wskazuje, że funkcja jest dostępna:

    HTT             *       Hyperthreading enabled
    CET             -       Supports Control Flow Enforcement Technology
    Kernel CET      -       Kernel-mode CET Enabled
    User CET        -       User-mode CET Allowed
    HYPERVISOR      *       Hypervisor is present
    VMX             -       Supports Intel hardware-assisted virtualization
    SVM             -       Supports AMD hardware-assisted virtualization
    X64             *       Supports 64-bit mode
    
    SMX             -       Supports Intel trusted execution
    SKINIT          -       Supports AMD SKINIT
    SGX             -       Supports Intel SGX
    
    ...
    

Gdy tryb zgodności procesora jest włączony, zobaczysz, że niektóre funkcje nie są dostępne (wskazywane przez kreskę -) w porównaniu z danymi wyjściowymi z hosta. Zmniejszona lista wskazuje, że maszyna wirtualna jest uruchomiona w trybie zgodności procesora i jest ograniczona do wspólnego zestawu funkcji.

Jeśli używasz trybu zgodności procesora dynamicznego, funkcje dostępne na maszynie wirtualnej są maksymalnym zestawem funkcji, które są wspólne dla wszystkich węzłów w klastrze.

Maszyny wirtualne z systemem Linux

Oto przykład sprawdzania funkcji procesora na maszynie wirtualnej z systemem Linux opartym na systemie Debian lub Red Hat:

  1. Zaloguj się do maszyny wirtualnej i otwórz terminal.

  2. Uruchom następujące polecenie, aby wyświetlić listę funkcji procesora:

    lscpu | grep Flags
    

    Oto obcięty przykład danych wyjściowych, które mogą zostać wyświetlone:

    Flags:                           fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov 
    pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl 
    xtopology aperfmperf pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt 
    tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single 
    ssbd ibrs ibpb stibp ibrs_enhanced kaiser fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid 
    avx512f avx512dq rdseed adx smap clflushopt avx512cd sha_ni avx512bw avx512vl xsaveopt xsavec 
    xgetbv1 xsaves rdpid md_clear flush_l1d arch_capabilities
    

Po włączeniu trybu zgodności procesora zobaczysz, że niektóre funkcje nie są wyświetlane w porównaniu z danymi wyjściowymi z hosta. Zmniejszona lista wskazuje, że maszyna wirtualna jest uruchomiona w trybie zgodności procesora i jest ograniczona do wspólnego zestawu funkcji.

Jeśli używasz trybu zgodności procesora dynamicznego, funkcje dostępne na maszynie wirtualnej są maksymalnym zestawem funkcji, które są wspólne dla wszystkich węzłów w klastrze.

Zachowanie migracji na żywo maszyn wirtualnych między oddzielnymi 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 powinno powodować żadnych problemów z migracją.

  • 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 po ponownym uruchomieniu maszyny wirtualnej otrzymuje ona 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ł wartości MinimumFeatureSet dla parametru CompatibilityForMigrationMode w programie PowerShell, lub wybrać pozycję Zgodne na innych hostach z tym samym producentem CPU w Centrum administracyjnym systemu Windows. Po ponownym uruchomieniu maszyny wirtualnej otrzymuje ona najnowszą możliwość obliczeniową klastra docelowego.