Режим совместимости процессора в Hyper-V

Содержание

область применения: Windows Server 2022, Windows server 2019, Windows Server 2016, Windows Server 2012 r2, Windows Server 2012, Windows server 2008 r2, hyper-V server 2019, Hyper-V server 2016, Hyper-V Server 2012 R2

Hyper-V предлагает режим совместимости процессора — функцию, которая впервые появилась в Windows Server 2008 R2. Режим совместимости процессора позволяет перемещать работающую виртуальную машину или сохранить состояние между узлами виртуализации, использующими разные поколения процессоров. Эта функция работает путем отключения многих современных процессорных функций, что может повлиять на производительность виртуальной машины. В этом документе содержатся сведения о режиме совместимости процессоров для Hyper-V.

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

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

Виртуальные машины не могут быть перенесены или сохранены и восстановлены на узлах виртуализации, использующих процессоры разных производителей ЦП. Например, невозможно переместить работающие виртуальные машины или сохраненное состояние виртуальной машины с узла с процессорами Intel на узел с процессорами AMD. Если необходимо переместить виртуальную машину в этом случае, необходимо сначала завершить работу виртуальной машины, а затем перезапустить ее на новом узле.

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

Почему требуется режим совместимости процессора

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

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

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

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

Принцип работы режима совместимости процессора

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

Полный список функций, которые скрыты для режима совместимости процессора, см. в разделе 5.2.11 в функциональной спецификации гипервизора Top-Level.

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

Последствия использования режима совместимости процессора

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

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

Пример. шифрование AES

Примером операции, на которую влияет режим совместимости процессора, является шифрование AES (распространенная форма шифрования). Многие новые процессоры Intel и AMD включают в себя расширение ISA, которое ускоряет использование AES с помощью оборудования. Intel Claims эта оптимизация обеспечивает рост производительности 2-3, при этом некоторые реализации предоставляют 10-сложенный выигрыш. (Дополнительные сведения см. в разделе инструкции Intel AES.)

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

Использование режима совместимости процессора

При использовании режима совместимости процессора в Hyper-V необходимо учитывать важные моменты:

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

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

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

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

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

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

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

Выключите виртуальную машину.

Нажмите кнопку Пуск, выберите пункт Администрирование и затем — Диспетчер Hyper-V.

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

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

в области действие щелкните Параметры, а затем — процессор.

Разверните узел процессор и щелкните Совместимость.

Выберите Миграция на физический компьютер с другим процессором, а затем нажмите кнопку ОК.

Перезапустите виртуальную машину.

Отключение режима совместимости процессора с помощью диспетчера Hyper-V

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

Выключите виртуальную машину.

Нажмите кнопку Пуск, выберите пункт Администрирование и затем — Диспетчер Hyper-V.

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

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

в области действие щелкните Параметры, а затем — процессор.

Разверните узел процессор и щелкните Совместимость.

Снимите флажок Миграция на физический компьютер с другим процессором , а затем нажмите кнопку ОК.

Перезапустите виртуальную машину.

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

Чтобы включить режим совместимости процессора для виртуальной машины с помощью PowerShell, завершите работу виртуальной машины и выполните Set-VMProcessor командлет, задав CompatibilityForMigrationEnabled для $true:

Затем перезапустите виртуальную машину.

Вы можете увидеть дополнительные параметры для Set-VMProcessor , которые предназначены для использования с Azure Stack хЦи. не пытайтесь использовать их с сервером Windows или получите сообщение об ошибке. значение по умолчанию CompatibilityForMigrationMode доступно только для Windows Server MinimumFeatureSet . Дополнительные сведения о режиме совместимости с динамическим процессором в Azure Stack хЦи.

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

Чтобы отключить режим совместимости процессора для виртуальной машины с помощью PowerShell, завершите работу виртуальной машины и выполните Set-VMProcessor командлет, задав CompatibilityForMigrationEnabled для $false:


Источник: docs.microsoft.com