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

适用于 Azure 虚拟机的休眠

适用于:✔️ Linux VM ✔️ Windows VM

休眠让你可以暂停当前未使用的 VM,并节省计算成本。 它是适用于以下方案的有效成本管理功能:

  • 虚拟桌面、开发/测试服务器及其他 VM 无需 24/7 运行的方案。
  • 由内存密集型应用程序导致启动时间较长的系统。 这些应用程序可以在 VM 上初始化并置于休眠状态。 然后,这些“预热的”VM 可以在需要时快速启动,而应用程序已启动并在所需状态下运行。

休眠的工作原理

当你休眠 VM 时,Azure 会向 VM 的操作系统发出信号,以执行挂起到磁盘的操作。 Azure 将 VM 的内存内容存储在 OS 磁盘中,然后解除分配 VM。 再次启动 VM 时,内存内容将从 OS 磁盘传回内存。 之前在 VM 中运行的应用程序和进程会恢复到休眠前的状态。

VM 处于休眠状态后,不会针对 VM 用量计费。 帐户计费仅针对附加到 VM 的存储(OS 磁盘、数据磁盘)和网络资源(IP 等)。

休眠 VM 时:

  • 使用 Azure 门户、CLI、PowerShell、SDK 或 API 在 VM 上触发休眠。 然后,Azure 会向来宾操作系统发出信号,以执行挂起到磁盘 (S4)。
  • VM 的内存内容存储在 OS 磁盘上。 然后 VM 被解除分配,释放基础硬件上的租约,并关闭电源。 有关 VM 解除分配状态的更多详细信息,请参阅 VM 状态和计费
  • 临时磁盘中的数据不会持久保存。
  • OS 磁盘、数据磁盘和 NIC 仍附加到 VM。 任何静态 IP 保持不变。
  • 对于休眠的 VM,不会对 VM 用量计费。
  • 继续对与休眠 VM 关联的存储和网络资源计费。

支持的配置

休眠支持仅限于某些 VM 大小和 OS 版本。 在使用休眠之前,请确保你具有受支持的配置。

受支持的操作系统

OS 文档部分列出了支持的操作系统、特定于 OS 的限制和配置过程。

Windows VM 休眠文档

Linux VM 休眠文档

支持的 VM 大小

以下常规用途 VM 系列中最高 64-GB RAM 的 VM 大小支持休眠。

以下 GPU VM 系列中最高 112-GB RAM 的 VM 大小支持休眠。

  • NVv4-series(预览版)
  • NVadsA10v5 系列(预览版)。 如果你正在使用任何已启用 UVM 的计算应用程序,我们建议在启动休眠操作之前,将该应用程序置于空闲状态。

重要

Azure 虚拟机 - GPU VM 的休眠目前为预览版。 有关 beta 版本、预览版或尚未正式发布的版本的 Azure 功能所适用的法律条款,请参阅 Microsoft Azure 预览版的补充使用条款

一般限制

  • 可以调整已启用休眠的 VM 的大小,但不能在 VM 处于休眠状态时调整。 VM 应处于“正在运行”或“已停止”状态。
  • 仅当在 VM 上启用受信任启动时,嵌套虚拟化才支持休眠
  • 当 VM 处于休眠状态时,无法附加、拆离或修改与 VM 关联的任何磁盘或 NIC。 必须改为将 VM 移到“停止-解除分配”状态。
  • 当 VM 处于休眠状态时,无法保证有足够的容量来稍后启动 VM。 在遇到容量问题的极少数情况下,可以稍后尝试启动 VM。 容量预留不保证休眠 VM 的容量。
  • 只能使用 Azure 门户、CLI、PowerShell、SDK 和 API 休眠 VM。 使用来宾 OS 操作休眠 VM 时,不会导致 VM 移到休眠状态,且 VM 将继续计费。

Azure 功能限制

  • 临时 OS 磁盘
  • 共享磁盘
  • 可用性集
  • 不支持统一业务流程模式下的虚拟机规模集。 支持灵活业务流程模式下的虚拟机规模集。
  • 点 VM
  • 托管映像
  • Azure 备份
  • 产能预留

使用休眠的先决条件

  • 必须在 VM 上启用休眠。
  • 连接了一个足够大的持久性 OS 磁盘,用于存储 VM 上运行的 RAM、OS 和其他应用程序的内容。
  • VM 大小支持休眠。
  • VM OS 支持休眠。
  • 如果使用 Windows 或 Linux 休眠扩展,则已安装 Azure VM Agent。
  • 如果正在通过 OS 磁盘或 Compute Gallery 映像创建 VM,则 OS 磁盘或 Gallery 映像定义支持休眠。

设置休眠

操作系统特定的设置和配置文档中详细介绍了启用休眠操作:

Linux VM

若要在 Linux VM 上配置休眠,请查看 Linux 休眠文档

Windows VM

若要在 Windows VM 上配置休眠,请查看 Windows 休眠文档

故障排除

有关常规故障排除信息,请参阅休眠故障排除指南

有关 Windows 来宾休眠问题,请参阅 Windows 休眠故障排除指南

有关 Linux 来宾休眠问题,请参阅 Linux 休眠故障排除指南

常见问题

  • 使用此功能的费用是多少?

    • VM 处于休眠状态后,VM 不收费,就像处于停止(已解除分配)状态的 VM 不收费一样。 你只需为 OS 磁盘、数据磁盘和与 VM 关联的任何静态 IP 付费。
  • 我是否可以在现有 VM 上启用休眠?

    • 是,可以在现有 VM 上启用休眠。
  • 是否可以重设启用了休眠的 VM 的大小?

    • 是,可以调整启用了休眠的 VM 的大小。 如果 VM 处于“休眠”状态,则无法调整其大小。 在调整大小之前,将 VM 移动到“正在运行”或“已停止”状态。
  • VM 处于休眠状态后,是否可以修改它?

    • 否,一旦 VM 处于休眠状态,就无法执行重设 VM 大小和修改磁盘等操作。 此外,无法拆离当前附加到 VM 的任何磁盘或网络资源,也不能将新资源附加到 VM。 但是,如果要拆离这些资源,可以停止(解除分配)或删除 VM。
  • 停止(解除分配)和休眠 VM 有何区别?

    • 停止(解除分配)VM 时,VM 会关闭而不保留内存内容。 可以重设已停止(已解除分配)的 VM 的大小,并对 VM 拆离/附加磁盘。

    • 休眠 VM 时,内存内容首先会保留在 OS 磁盘中,然后 VM 休眠。 无法重设处于休眠状态的 VM 的大小,也不能对 VM 拆离/附加磁盘和网络资源。

  • 是否可以从 VM 内部启动休眠?

    • 要休眠 VM,应使用 Azure 门户、CLI、PowerShell 命令、SDK 和 API。 从 VM 内部触发休眠仍会导致你的 VM 就计算资源被计费。
  • VM 处于休眠状态时,在启动 VM 时是否有容量保证?

    • 否,对于启动休眠的 VM 没有容量保证。 在极少数情况下,如果遇到容量问题,可以稍后尝试启动 VM。

后续步骤