你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
在 Microsoft Dev Box 中配置休眠
本文介绍如何在 Microsoft Dev Box 中启用和禁用休眠。 可在开发箱映像和开发箱定义级别控制休眠。
在工作日结束时休眠开发箱有助于节省大量虚拟机 (VM) 成本。 它消除了开发人员关闭其开发箱的需求,避免了打开的窗口和应用程序的丢失。
随着 Dev Box 休眠(预览版)的引入,你可以在新的开发箱中启用此功能并休眠和恢复这些功能。 此功能提供了一种在维护工作环境的同时管理开发箱的便捷方法。
启用休眠有三个步骤:
- 在开发箱映像上启用休眠
- 在开发框定义上启用休眠
- 使用自动停止计划实现开发箱池的自动休眠,或在 RDP 断开连接时停止。
重要
开发箱休眠目前为预览版。 有关预览版状态的详细信息,请参阅 Microsoft Azure 预览版的补充使用条款。 该文档定义了适用于测试版、预览版或尚未正式发布的 Azure 功能的法律术语。
已启用休眠的映像的注意事项
在开发箱中启用休眠之前,请查看以下有关已启用休眠的映像的注意事项。
目前,有两个 SKU 支持休眠:8 和 16 vCPU SKU。 目前,32 vCPU SKU 不支持休眠。
只能在使用启用休眠的开发箱定义创建的新开发箱中启用休眠。 无法在现有开发箱上启用休眠。
只能使用 Microsoft 开发人员门户、Azure CLI、PowerShell、SDK 和 REST API 来休眠开发箱。 不支持从 Windows 中的开发箱中休眠。
如果使用 Azure 市场映像,建议使用 Visual Studio 进行开发箱映像。
Windows 11 Enterprise CloudPC + 操作系统优化映像包含优化的电源设置,并且它们不能在休眠状态下使用。
启用休眠后,无法禁用该开发箱中的功能。 但是,可以在开发箱定义上禁用休眠支持,以便将来创建的开发箱没有休眠。
若要启用休眠,需要在 Windows OS 中启用嵌套虚拟化。 如果未在 DevBox 映像中启用“虚拟机平台”功能,则如果选择启用休眠,DevBox 会自动为你启用嵌套虚拟化。
休眠不支持受虚拟机监控程序保护的代码完整性 (HVCI)/内存完整性功能。 开发箱会自动禁用此功能。
自动停止计划将使在关联的 Dev Box 定义上启用休眠后创建的 Dev Box 休眠。 在 Dev Box 定义上启用休眠之前创建的 Dev Box 将继续关闭。
注意
自动将开发箱计划为休眠的功能以公共预览版的形式提供。 可以在 Microsoft Dev Box - 自动休眠安排预览版中阅读有关公告的详细信息。
与休眠不兼容的设置
已知以下设置与休眠不兼容,在休眠方案中不受支持:
内存完整性/虚拟机监控程序代码完整性
要禁用内存完整性/虚拟机监控程序代码完整性:
- 在 Windows“开始”菜单中,找到并打开“Windows 安全性”。
- 转到“设备安全性”。
- 在“核心隔离”下,选择“核心隔离”详细信息
- 在“内存完整性”下,将开关设置为“关闭”。
更改此设置后,需要重新启动计算机。
不启用嵌套虚拟化的基于来宾虚拟安全模式的功能
要启用嵌套虚拟化:
- 在“开始”菜单中,搜索“打开或关闭 Windows 功能”。
- 在对话框中,选中“虚拟机平台”复选框。
- 选择“确定”保存设置变更。
在开发箱映像上启用休眠
如果计划从 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 门户中启用休眠
登录 Azure 门户。
在搜索框中,输入“开发人员中心”。 在结果列表中,选择“开发人员中心”。
打开包含你要更新的开发箱定义的开发人员中心,然后选择“开发箱定义”。
选择要更新的开发箱定义,然后选择编辑(铅笔)按钮。
在“编辑开发箱定义”页上,选中“启用休眠”复选框。
选择“保存”。
使用 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 门户中禁用休眠
登录 Azure 门户。
在搜索框中,输入“开发人员中心”。 在结果列表中,选择“开发人员中心”。
打开包含你要更新的开发箱定义的开发人员中心,然后选择“开发箱定义”。
选择要更新的开发箱定义,然后选择编辑(铅笔)按钮。
在“编辑开发箱定义”页上,清除“启用休眠”复选框。
选择“保存”。
使用 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