你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

在 Microsoft Dev Box 中配置休眠

本文介绍如何在 Microsoft Dev Box 中启用和禁用休眠。 可在开发框映像和开发框定义级别控制休眠。

在工作日结束时休眠开发框有助于节省大量虚拟机(VM)成本。 它无需开发人员关闭其开发框并丢失其打开的窗口和应用程序。

随着 Dev Box 休眠(预览版)的引入,你可以在新的开发框和休眠中启用此功能并恢复这些功能。 此功能提供了一种在维护工作环境的同时管理开发框的便捷方法。

启用休眠有两个步骤:

  1. 在开发框映像上启用休眠
  2. 在开发框定义上启用休眠

重要

Dev Box 休眠目前以预览版提供。 有关预览状态的详细信息,请参阅 Microsoft Azure 预览版补充使用条款。 本文档定义了适用于 Beta 版、预览版或尚未正式发布的 Azure 功能的法律条款。

已启用休眠的映像的注意事项

在开发框中启用休眠之前,请查看以下有关已启用休眠的映像的注意事项。

  • 目前,两个 SKU 支持休眠:8 和 16 个 vCPU SKU。 目前,32 个 vCPU SKU 不支持休眠。

  • 只能在启用休眠的开发框定义创建的新开发框中启用休眠。 无法在现有开发框中启用休眠。

  • 只能使用 Microsoft 开发人员门户、Azure CLI、PowerShell、SDK 和 REST API 来休眠开发框。 不支持从 Windows 中的开发框中休眠。

  • 如果使用Azure 市场映像,建议使用 Visual Studio 进行开发框映像。

  • Windows 11 企业版 CloudPC + OS 优化映像包含优化的电源设置,它们不能与休眠一起使用。

  • 启用休眠后,无法禁用该开发框中的功能。 但是,可以在开发框 定义 上禁用休眠支持,以便将来创建的开发框没有休眠。

  • 若要启用休眠,需要在 Windows OS 中启用嵌套虚拟化。 如果未在 DevBox 映像中启用“虚拟机平台”功能,则如果选择启用休眠,DevBox 会自动为你启用嵌套虚拟化。

  • 休眠不支持受虚拟机监控程序保护的代码完整性(HVCI)/内存完整性功能。 开发框自动禁用此功能。

  • 自动停止计划仍关闭开发框。 若要休眠开发框,可以通过开发人员门户或使用 Azure CLI 执行此操作。

    注意

    自动将开发框计划为休眠的功能以预览版提供。 可以在 Microsoft Dev Box - 自动休眠计划预览版中注册预览

设置与休眠不兼容

已知以下设置与休眠不兼容,在休眠方案中不受支持:

  • 内存完整性/虚拟机监控程序代码完整性

    禁用内存完整性/虚拟机监控程序代码完整性:

    1. 在 Windows 开始菜单中,找到并打开Windows 安全
    2. 转到 设备安全性
    3. 在“核心隔离”下,选择“核心隔离”详细信息
    4. 在“内存完整性”下,将开关设置为“关闭”。

    更改此设置后,需要重新启动计算机。

  • 不启用嵌套虚拟化的基于来宾虚拟安全模式的功能

    若要启用嵌套虚拟化,请:

    1. 在开始菜单中,搜索打开或关闭 Windows 功能。
    2. 在对话框中,选择虚拟机平台检查框。
    3. 选择“确定保存设置更改。

在开发框映像上启用休眠

如果计划从 Azure 计算库使用自定义映像,则需要在创建新映像时启用休眠功能。 无法为现有映像启用休眠。

注意

Microsoft Dev Box Azure 市场 中提供的 Visual Studio 和 Microsoft 365 映像已配置为支持休眠。 无需在这些映像上启用休眠,即可使用这些映像。

若要启用休眠功能,请在创建映像时将 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 和通用 VM 创建自定义映像,请使用 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 VM 映像生成器配置开发框。

在开发框定义上启用休眠

在 Microsoft Dev Box 中,当定义使用已启用休眠的自定义或Azure 市场映像时,可以为新的开发框定义启用休眠。 还可以更新使用已启用休眠的自定义或Azure 市场映像的现有开发框定义。

在开发框池中创建的所有新开发框(使用已启用休眠的开发框定义)都可以休眠和关闭。 如果池具有在启用休眠之前创建的开发框,则这些开发框将继续支持关闭。

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. “编辑开发框定义”页上,选择“启用休眠”检查框。

    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 for Dev Box 市场映像,或将其用作基本映像以生成自定义映像。
  • Windows + 操作系统优化映像包含优化的电源设置,并且它们不能在休眠状态下使用。
  • 如果使用自定义 Azure Compute Gallery 映像,请先在 Azure Compute Gallery 映像上启用休眠,然后再在 Dev Box 定义上启用休眠。
  • 如果在图库图像上启用休眠功能后仍无法在定义上启用休眠功能,那么你的自定义图像可能具有阻止休眠的 Windows 配置。

有关详细信息,请参阅设置与休眠不兼容

在开发框定义上禁用休眠

如果在池上启用休眠后预配新 VM 时遇到问题,可以在开发框定义上禁用休眠。 如果要还原仅关闭开发框的设置,还可以禁用休眠。

可以使用 Azure 门户 或 CLI 在开发框定义上禁用休眠。

在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