Режим совместимости динамического процессора в Azure Stack HCI

Область применения: Azure Stack HCI версий 23H2 и 22H2

Примечание

Рекомендуемый способ создания виртуальных машин и управления ими в Azure Stack HCI 23H2 — использование уровня управления Azure Arc. Используйте описанный ниже механизм для управления виртуальными машинами, только если вам нужны функциональные возможности, недоступные на виртуальных машинах Azure Arc.

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

Сведения о режиме совместимости процессоров в Windows Server см. в разделе Режим совместимости процессора в Hyper-V.

Когда следует использовать режим совместимости процессоров

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

Важно!

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

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

Примечание

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

Зачем нужен режим совместимости процессора

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

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

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

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

Новые возможности режима совместимости процессоров

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

Чтобы преодолеть это ограничение, режим совместимости процессоров был обновлен для предоставления расширенных динамических возможностей на процессорах, способных переводить адреса второго уровня (SLAT). Эта новая функция вычисляет общий знаменатель функций ЦП, поддерживаемых узлами в кластере, и обновляет существующий режим совместимости процессора на виртуальной машине, чтобы использовать этот динамически вычисляемый набор функций вместо старого жестко закодированного набора компонентов.

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

Перенос работающих виртуальных машин между кластерами

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

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

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

  • Динамическая миграция виртуальной машины из кластера с новыми процессорами в кластер с более старыми процессорами. Вам потребуется задать процессор виртуальной машины для CompatibilityForMigrationMode использования MinimumFeatureSet параметра в PowerShell или выбрать Совместимые на других узлах с тем же производителем ЦП в Windows Admin Center в разделе Параметры виртуальных машин > Процессоры>. Это назначит виртуальную машину минимальным возможностям процессора, предлагаемым на сервере. После того как совместимость будет перемещена в раздел Совместимость в кластере (рекомендуется) и виртуальная машина перезапущена, она получит последнюю вычисляемую возможность целевого кластера.

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

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

Важно!

Перед включением или отключением режима совместимости процессора необходимо завершить работу виртуальной машины.

Включение режима совместимости процессора с помощью Windows Admin Center

Чтобы включить режим совместимости процессора с помощью Windows Admin Center:

  1. Подключитесь к кластеру, а затем в области Сервис выберите Виртуальные машины.

  2. В разделе Инвентаризация выберите виртуальную машину, на которой требуется включить режим совместимости процессора, разверните меню Питание и выберите Завершить работу.

  3. Выберите Параметры, затем Процессоры и проверка поле Совместимость процессоров.

    Установите флажок, чтобы включить совместимость с процессором

  4. Если вы хотите установить для функций ЦП виртуальной машины максимальный уровень, поддерживаемый всеми серверами в кластере, выберите Совместимый в кластере (рекомендуется). Это повышает производительность виртуальной машины, сохраняя возможность перемещения работающей виртуальной машины на другие серверы в кластере. Рекомендуется включить его для всех виртуальных машин, работающих в кластерах Azure Stack HCI 21H2. Если она отключена, виртуальную машину необходимо перезапустить, чтобы перейти на узел с другим уровнем поддерживаемых инструкций ЦП, общим для разных поколений ЦП.

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

    Примечание

    Как и в режиме совместимости динамических процессоров, совместимость в кластере является исключительной для Azure Stack HCI 21H2 и не поддерживается для других операционных систем.

  5. Выберите Сохранить параметры процессора и перезапустите виртуальную машину.

Включение режима совместимости процессора с помощью PowerShell

Чтобы включить режим совместимости процессоров, выполните следующий командлет:

get-vm -name <name of VM> -ComputerName <target cluster or host> | Set-VMProcessor -CompatibilityForMigrationEnabled $true 

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

Чтобы разрешить виртуальной машине использовать общие функции узла кластера, выполните следующий командлет:

get-vm -name <name of VM> -ComputerName <target cluster or host> | Set-VMProcessor -CompatibilityForMigrationEnabled $true -CompatibilityForMigrationMode CommonClusterFeatureSet

Кроме того, можно задать минимальные возможности ЦП виртуальной машины, чтобы вы могли переместить запущенную виртуальную машину на другие узлы Hyper-V за пределами кластера, если у них один И тот же производитель ЦП.

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

get-vm -name <name of VM> -ComputerName <target cluster or host> | Set-VMProcessor -CompatibilityForMigrationEnabled $true -CompatibilityForMigrationMode MinimumFeatureSet

Дальнейшие действия

Дополнительные сведения см. также в следующих разделах: