Поделиться через


Настройка режима совместимости процессора в Hyper-V виртуальных машинах

Режим совместимости процессора обеспечивает миграцию виртуальных машин между узлами с разными возможностями процессора. Он ограничивает возможности процессора, доступные виртуальной машине, чтобы обеспечить совместимость при перемещении виртуальных машин между узлами или кластерами с разными процессорами.

Иногда может потребоваться ограничить возможности процессора, передаваемые, например, когда требуется переместить динамическую виртуальную машину (виртуальную машину) или сохраненную виртуальную машину между узлами или кластерами с разными возможностями процессора или разрабатывать приложения, которые должны работать на широком спектре оборудования. В этих случаях можно использовать режим совместимости процессора. Мы рекомендуем включить режим совместимости процессора только во время процесса миграции, а затем отключить его, чтобы позволить виртуальной машине воспользоваться всеми возможностями процессора узла. Если у вас есть кластер с разными поколениями процессоров, необходимо оставить режим совместимости процессора включенным для динамической миграции.

Режим совместимости динамического процессора, представленный в Windows Server 2025 для виртуальных машин, использующих конфигурацию версии 10.0 или более поздней, улучшает предыдущую версию режима совместимости процессора, позволяя виртуальным машинам использовать динамически вычисляемый набор функций процессора, распространенных во всех узлах кластера. Это означает, что виртуальные машины могут воспользоваться максимальными возможностями, доступными в кластере, обеспечивая совместимость при перемещении виртуальных машин между узлами.

Дополнительные сведения о режиме совместимости процессора см. в статье о совместимости процессора в Hyper-V виртуальных машинах.

В этой статье объясняется, как настроить режим совместимости процессора для виртуальной машины с помощью диспетчера Hyper-V, PowerShell или Центра администрирования Windows.

Предпосылки

Перед началом работы убедитесь, что выполнены следующие предварительные требования:

  • У вас есть административный доступ к узлу или кластеру Hyper-V, в котором выполняется виртуальная машина, и где требуется перенести ее.

  • Виртуальная машина, которую требуется настроить режим совместимости процессора, отключена. Режим совместимости процессора не может быть включен или отключен во время работы виртуальной машины.

  • Режим совместимости динамических процессоров был введен для виртуальных машин на узле Hyper-V под управлением Windows Server 2025 или Azure Local (ранее Azure Stack HCI) версии 21H2 и использует конфигурацию версии 10.0 или более поздней. Если виртуальная машина использует более раннюю версию конфигурации, обновите ее версию конфигурации, в противном случае используется стандартный режим совместимости процессора.

Настройка виртуальной машины для использования режима совместимости процессора

В этом разделе объясняется, как настроить виртуальную машину для использования режима совместимости процессора с помощью диспетчера Hyper-V, PowerShell или Windows Admin Center. В одном кластере можно запускать виртуальные машины с режимом совместимости и без него. Два режима совместимости процессора включены и отключены так же. Режим совместимости динамического процессора является прозрачным для пользователя и включен при запуске виртуальной машины в кластере.

Выберите соответствующую вкладку для используемого метода.

Чтобы включить или отключить режим совместимости процессора для виртуальной машины с помощью диспетчера Hyper-V, выполните следующие действия. Невозможно настроить режим совместимости динамического процессора в диспетчере Hyper-V; Вместо этого используйте PowerShell или Windows Admin Center.

  1. Откройте Hyper-V диспетчер.

  2. Выберите сервер под управлением Hyper-V и нужную виртуальную машину.

  3. Если виртуальная машина запущена, необходимо завершить работу виртуальной машины, чтобы изменить параметр режима совместимости процессора.

  4. В области "Действия " для виртуальной машины выберите "Параметры".

  5. На панели "Оборудование" выберите "Процессор". Разверните процессор, а затем выберите "Совместимость".

  6. Чтобы включить режим совместимости процессора, установите флажок миграции на физический компьютер с другим процессором. Чтобы отключить его, снимите флажок.

    Снимок экрана: параметры виртуальной машины Hyper-V Manager, на которой показана страница совместимости процессора с флажком для миграции на физический компьютер с другим процессором.

  7. Нажмите кнопку "ОК ", чтобы сохранить изменение, а затем запустите виртуальную машину.

Проверка функций процессора на узле Hyper-V и на виртуальной машине

После настройки режима совместимости процессора можно проверить возможности процессора, доступные на узле Hyper-V и на виртуальной машине. Эти сведения могут быть полезны, если вы хотите проверить, что виртуальная машина имеет ожидаемый набор доступных функций.

Чтобы проверить компоненты процессора на узле Hyper-V и виртуальной машине Windows, можно запустить Coreinfo из Sysinternals:

  1. Войдите на узел или виртуальную машину и скачайте и извлеките средство Coreinfo.

  2. Откройте PowerShell от имени администратора и перейдите в каталог, в котором вы извлекли Coreinfo.

  3. Выполните следующую команду. Если при первом запуске Coreinfo на этом узле необходимо принять лицензионное соглашение.

    .\Coreinfo.exe -f
    

    Ниже приведен усеченный пример выходных данных, где каждая строка представляет функцию процессора и звездочку (*) указывает, что эта функция доступна:

    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
    
    ...
    

Если включен режим совместимости процессора, вы увидите, что некоторые функции недоступны (указываются тире -) по сравнению с выходными данными узла. Сокращенный список указывает, что виртуальная машина работает в режиме совместимости процессора и ограничена общим набором функций.

Если вы используете режим совместимости динамического процессора, функции, доступные на виртуальной машине, являются максимальным набором функций, которые являются общими для всех узлов в кластере.

Виртуальные машины Linux

Ниже приведен пример проверки функций процессора на виртуальной машине Linux на основе Debian или Red Hat:

  1. Войдите на виртуальную машину и откройте терминал.

  2. Выполните следующую команду, чтобы перечислить компоненты процессора:

    lscpu | grep Flags
    

    Ниже приведен усеченный пример выходных данных:

    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
    

Если включен режим совместимости процессора, вы увидите, что некоторые функции не перечислены по сравнению с выходными данными узла. Сокращенный список указывает, что виртуальная машина работает в режиме совместимости процессора и ограничена общим набором функций.

Если вы используете режим совместимости динамического процессора, функции, доступные на виртуальной машине, являются максимальным набором функций, которые являются общими для всех узлов в кластере.

Поведение динамической миграции виртуальных машин между отдельными кластерами

Предположим, что все серверы в каждом кластере работают одинаковое оборудование, можно выполнить миграцию виртуальных машин между кластерами. Существует три распространенных сценария.

  • Динамическая миграция виртуальной машины из кластера с новыми процессорами в кластер с теми же процессорами. Возможности виртуальной машины передаются в целевой кластер. Этот сценарий не требует включения режима совместимости процессора; Однако при выходе из нее не должно возникнуть никаких проблем с миграцией.

  • Динамическая миграция виртуальной машины из кластера с более старыми процессорами в кластер с более новыми процессорами. Возможности виртуальной машины передаются в целевой кластер. В этом сценарии при перезапуске виртуальной машины она получает последнюю вычисляемую возможность целевого кластера.

  • Динамическая миграция виртуальной машины из кластера с более новыми процессорами в кластер с более старыми процессорами. Необходимо задать процессор виртуальной машины для использования MinimumFeatureSet параметра в PowerShell или выбрать CompatibilityForMigrationMode в Windows Admin Center. После перезапуска виртуальной машины она получает последнюю вычисляемую возможность целевого кластера.