Настройка гибернации в Microsoft Dev Box

Из этой статьи вы узнаете, как включить и отключить гибернацию в Microsoft Dev Box. Вы управляете гибернацией на уровне определения поля разработки и поля разработки.

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

С введением в Dev Box Hibernation (предварительная версия) вы можете включить эту возможность в новых полях разработки и гибернации и возобновить их. Эта функция обеспечивает удобный способ управления полями разработки при сохранении рабочей среды.

Существует два шага для включения гибернации.

  1. Включение гибернации на образе поля разработки
  2. Включение гибернации в определении поля разработки

Важно!

Режим Гибернации Dev Box в настоящее время находится в предварительной версии. Дополнительные сведения о состоянии предварительной версии см . в дополнительных условиях использования для предварительных версий Microsoft Azure. Документ определяет юридические термины, применимые к функциям Azure, которые находятся в бета-версии, предварительной версии или в противном случае еще не выпущены в общую доступность.

Рекомендации по изображениям с поддержкой гибернации

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

  • В настоящее время два номера SKU поддерживают гибернацию: 8 и 16 номеров SKU vCPU. В настоящее время 32 виртуальных ЦП не поддерживают гибернацию.

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

  • Вы можете создать окно разработки только с помощью портала разработчика Майкрософт, Azure CLI, PowerShell, пакетов SDK и REST API. Hibernating from in the dev box in Windows не поддерживается.

  • Если вы работаете с образом Azure Marketplace, рекомендуется использовать Visual Studio для образов полей разработки.

  • Образ оптимизации Windows 11 Корпоративная CloudPC + OS содержит оптимизированные параметры питания, и их нельзя использовать с гибернацией.

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

  • Чтобы включить гибернацию, необходимо включить вложенную виртуализацию в ОС Windows. Если функция "Платформа виртуальной машины" не включена в образе DevBox, DevBox автоматически включает вложенную виртуализацию, если вы решили включить гибернацию.

  • Гибернация не поддерживает функции целостности кода, защищенного гипервизором (HVCI)/ целостность памяти. Поле разработки автоматически отключает эту функцию.

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

    Примечание.

    Функции для планирования полей разработки для автоматического гибернации доступны в предварительной версии. Вы можете зарегистрироваться для предварительной версии в Microsoft Dev Box — предварительная версия расписаний автоматической гибернации.

Параметры несовместимы с гибернацией

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

  • Целостность памяти и целостность кода гипервизора

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

    1. В windows меню найдите и откройте Безопасность Windows.
    2. Перейдите в раздел "Безопасность устройств".
    3. В разделе "Изоляция ядра" выберите сведения об изоляции ядра
    4. В разделе "Целостность памяти" установите переключатель "Выкл.

    После изменения этого параметра необходимо перезапустить компьютер.

  • Функции на основе гостевого виртуального безопасного режима без включенной вложенной виртуализации

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

    1. В меню найдите функции Windows включено или выключение.
    2. В диалоговом окне выберите проверка box платформы виртуальной машины.
    3. Нажмите кнопку "ОК ", чтобы сохранить изменения параметров.

Включение гибернации на образе поля разработки

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

Примечание.

Образы Visual Studio и Microsoft 365, которые microsoft Dev Box предоставляют в Azure Marketplace, уже настроены для поддержки гибернации. Вам не нужно включить гибернацию на этих изображениях, они готовы к использованию.

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

az sig image-definition create 
--resource-group <resourceGroupName> --gallery-name <galleryName> --gallery-image-definition <imageName> --location <location> 
--publisher <publisherName> --offer <offerName> --sku <skuName> --os-type windows --os-state Generalized 
--features "IsHibernateSupported=true SecurityType=TrustedLaunch" --hyper-v-generation V2 

Если вы используете sysprep и обобщенную виртуальную машину для создания пользовательского образа, запечатлейте образ с помощью Azure CLI:

az sig image-version create 
--resource-group <resourceGroupName> --gallery-name <galleryName> --gallery-image-definition <imageName> 
--gallery-image-version <versionNumber> --virtual-machine <VMResourceId>

Дополнительные сведения о создании пользовательского образа см. в разделе "Настройка поля разработки" с помощью построителя образов виртуальных машин Azure.

Включение гибернации в определении поля разработки

В Microsoft Dev Box можно включить гибернацию для нового определения поля разработки, если определение использует настраиваемый пользовательский или образ Azure Marketplace с поддержкой гибернации. Вы также можете обновить существующее определение поля разработки, использующее пользовательский или образ Azure Marketplace с поддержкой гибернации.

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

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

Вы можете включить гибернацию в определении поля разработки с помощью портал Azure или Azure CLI.

Включение гибернации в портал Azure

  1. Войдите на портал Azure.

  2. В поле поиска введите центр разработки. В списке результатов выберите центры разработки.

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

    Screenshot that shows the dev center overview page and the menu option for dev box definitions.

  4. Выберите определение поля разработки, которое требуется обновить, а затем нажмите кнопку редактирования (карандаш).

    Screenshot of the list of existing dev box definitions and the edit (pencil) button.

  5. На странице определения поля разработки выберите элемент Enable hibernation проверка box.

    Screenshot of the page for editing a dev box definition, with Enable hibernation selected.

  6. Выберите Сохранить.

Включение гибернации с помощью Azure CLI

Чтобы включить гибернацию для определения поля разработки из Azure CLI, установите hibernateSupport флаг Enabled при создании образа:

az devcenter admin devbox-definition update 
--dev-box-definition-name <devBoxDefinitionName> -–dev-center-name <devCenterName> --resource-group <resourceGroupName> –-hibernateSupport Enabled

Устранение неполадок

Если включить гибернацию в определении Dev Box, но определения не удалось включить:

  • Мы рекомендуем использовать образы Visual Studio для Dev Box Marketplace напрямую или в качестве базовых образов для создания пользовательского образа.
  • Образ оптимизации Windows + OS содержит оптимизированные параметры питания, и их нельзя использовать с гибернацией.
  • Если вы используете пользовательский образ коллекции вычислений Azure, включите гибернацию в образе коллекции вычислений Azure перед включением гибернации в определении Dev Box.
  • Если гибернация не может быть включена в определении даже после включения его на образ коллекции, настраиваемый образ, скорее всего, имеет конфигурацию Windows, которая предотвращает гибернацию.

Дополнительные сведения см. в Параметры несовместимы с гибернацией.

Отключение гибернации в определении поля разработки

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

Вы можете отключить гибернацию в определении поля разработки с помощью портал Azure или ИНТЕРФЕЙСА командной строки.

Отключение гибернации в портал Azure

  1. Войдите на портал Azure.

  2. В поле поиска введите центр разработки. В списке результатов выберите центры разработки.

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

  4. Выберите определение поля разработки, которое требуется обновить, а затем нажмите кнопку редактирования (карандаш).

  5. На странице определения поля разработки снимите флажок "Включить гибернацию" проверка box.

  6. Выберите Сохранить.

Отключение гибернации с помощью Azure CLI

Чтобы отключить гибернацию для определения поля разработки из Azure CLI, установите hibernateSupport флаг Disabled при создании образа:

az devcenter admin devbox-definition update 
--dev-box-definition-name <devBoxDefinitionName> -–dev-center-name <devCenterName> --resource-group <resourceGroupName> –-hibernateSupport Disabled