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


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

Гибернация в Microsoft Dev Box помогает эффективно управлять облачными средами разработки, уменьшая затраты. Включив гибернацию, можно сохранить состояние открытых приложений и окон, сохраняя затраты на виртуальную машину без нарушения рабочих процессов. В этой статье объясняется, как настроить гибернацию на уровнях образа и определения dev box, автоматизировать планирование гибернации и учесть вопросы совместимости.

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

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

  1. Включение гибернации на образе поля разработки
  2. Включение гибернации в определении поля разработки
  3. Автоматизация перехода в спящий режим пулов виртуальных машин для разработки с помощью расписаний автоматической остановки или остановки при разрыве подключения RDP.

Это важно

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

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

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

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

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

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

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

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

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

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

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

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

    Примечание.

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

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

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

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

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

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

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

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

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

    1. В меню "Пуск" найдите включенные или отключенные функции Windows.
    2. В диалоговом окне установите флажок "Платформа виртуальной машины ".
    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.

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

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

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

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

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

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

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

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

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

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

    Снимок экрана: страница обзора центра разработки и пункт меню для определений поля разработки.

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

    Снимок экрана: список существующих определений поля разработки и кнопка редактирования (карандаша).

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

    Снимок экрана: страница редактирования определения поля разработки с выбранным параметром

  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, включите гибернацию в этом образе до включения гибернации в определении Dev Box.
  • Если гибернация не может быть включена в определении даже после включения его на образ коллекции, настраиваемый образ, скорее всего, имеет конфигурацию Windows, которая предотвращает гибернацию.

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

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

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

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

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

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

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

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

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

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

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

  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