在集群或主机修复过程中,可以在主机内存中保留虚拟机的状态,并在修复完成后从内存进行还原。将虚拟机挂起到内存并使用 Quick Boot 功能不仅可显著缩短修复时间,最大限度地缩短系统引导时间,而且还能够减少系统和服务的停机时间。

在使用 vSphere Lifecycle Manager 执行修复的过程中,将虚拟机从正在修复的主机迁移到另一个主机需要相当长的时间。修复后,vSphere Lifecycle Manager 会将虚拟机迁移回修复后的主机。但是,可以将 vSphere Lifecycle Manager 配置为将虚拟机挂起到内存,而不是迁移虚拟机、关闭虚拟机电源或者将虚拟机挂起到磁盘。

只能将挂起到内存功能用于修补操作,例如,当修复集群或独立主机以向其应用热修补程序、Express 修补程序等时。无法对升级操作使用“挂起到内存”选项,例如,将 ESXi 主机从版本 7.0 升级到版本 8.0 时。

将虚拟机挂起到内存

挂起到内存选项仅可用于使用 vSphere Lifecycle Manager 映像管理的集群或主机。该功能与 Quick Boot 设置配合使用,可优化修复过程并最大程度地减少虚拟机停机时间。

可以使 vSphere Lifecycle Manager 在配置 vSphere Lifecycle Manager 主机修复设置时将虚拟机挂起到内存。在修复预检查和修复过程中,vSphere Lifecycle Manager 会验证挂起到内存选项是否确实适用于正在修复的主机或集群。如果由于某种原因,挂起到内存不适用,则 vSphere Lifecycle Manager 会报告错误,并阻止修复继续进行。

在挂起到内存操作期间,虚拟机会在一段时间内保持已挂起状态。因此,将虚拟机挂起到内存可能会影响在这些虚拟机上运行的工作负载。这种影响类似于挂起到磁盘操作可能会对虚拟机和工作负载产生的影响。

小心: 最佳做法是,在激活“挂起到内存”选项的情况下开始修复之前,始终为具有关键工作负载的虚拟机生成快照。
即使您为整个集群或独立主机都激活了此功能, vSphere Lifecycle Manager 依然可能不会将主机上的所有虚拟机都挂起到内存。在某些情况下,即使无法将某些虚拟机挂起到内存, vSphere Lifecycle Manager 仍能够继续修复主机。
  • vSphere ESX Agent Manager (EAM) 虚拟机

    vSphere Lifecycle Manager 会在所有其他虚拟机都挂起之后,关闭 EAM 虚拟机的电源。同样,vSphere Lifecycle Manager 会在从内存中恢复所有其他虚拟机之前,打开 EAM 虚拟机的电源。在打开 EAM 虚拟机的电源之前,不会恢复任何挂起的虚拟机。

  • vSphere 集群服务虚拟机

    vSphere Lifecycle Manager 首先将 vSphere 集群服务虚拟机迁移到另一个主机,然后再将主机上的其余虚拟机挂起到内存。

同样, vSphere Lifecycle Manager 不会将某些 VMware 产品和解决方案的管理虚拟设备挂起到内存。但是,如果以下任何产品或解决方案的虚拟机在主机上运行,则挂起到内存预检查将失败,并且 vSphere Lifecycle Manager 不会继续修复相应的主机:
  • vCenter Server
  • vSAN 见证虚拟机
  • vSphere with Tanzu
  • NSX
  • VMware HCX
  • vSphere Replication
  • Site Recovery Manager
  • VMware Aria 产品
注: 如果激活“挂起到内存”选项,第三方虚拟机会在修复期间挂起。

Quick Boot

Quick Boot 是一项设置,可以将其用于使用 vSphere Lifecycle Manager 映像和 vSphere Lifecycle Manager 基准管理的集群或独立主机。使用 Quick Boot 可优化主机修补和升级操作。通过 Quick Boot,vSphere Lifecycle Manager 可缩短执行修补和升级操作的主机的修复时间。修补和升级操作不会影响主机的硬件。如果激活 Quick Boot 功能,vSphere Lifecycle Manager 将跳过硬件重新引导(BIOS 或 UEFI 固件重新引导)。因此,ESXi 主机处于维护模式的时间会缩短,并且会最大程度地减少修复期间发生故障的风险。

要将 vSphere Lifecycle Manager 配置为将虚拟机挂起到主机内存,必须激活 Quick Boot。但是,即使您决定不使用“挂起到内存”选项,也可以激活 Quick Boot。

使用挂起到内存的要求

有几个因素可能会阻碍挂起到内存选项的适用性。如果由于某种原因,挂起到内存不适用,则 vSphere Lifecycle Manager 会报告错误,并阻止修复继续进行。挂起到内存在以下条件下运行:
  • 主机支持挂起到内存功能。
  • 已为集群或独立主机激活 Quick Boot,并且正在修复的主机支持 Quick Boot。
  • 修复不涉及主机升级或固件升级。
  • 主机和虚拟机满足特定要求。
    主机要求 虚拟机要求
    • 主机具有足够的可用内存。
    • 主机具有足够的可用低内存。
    • 主机的每个 NUMA 节点具有足够的可用内存,以便可在重新引导后启动。
    • 主机具有足够的可用预留
    • 主机不使用交换或压缩的虚拟机页。
    • 虚拟机没有任何直通设备。
    • 虚拟机未将延迟敏感度设置为高。
    • 虚拟机不具备容错能力。
    • 虚拟机未加密。
    • 虚拟机不使用永久内存。
    • 虚拟机没有虚拟 SGX 或 SEV 设备。
    • 虚拟机未停用挂起功能。
    • 在即时克隆操作期间,虚拟机不是冻结的源虚拟机。

挂起到内存和 vSphere High Availability (HA)

配置 vSphere Lifecycle Manager 在修复期间将虚拟机挂起到内存时,vSphere HA 会为已挂起的虚拟机提供保护以防在虚拟机或主机级别出现故障。通过修改 vSphere HA 高级选项,可以为已挂起到内存的虚拟机设置超时值。如果已挂起到内存的虚拟机在指定的时间内没有响应,vSphere HA 会在原始主机上或其他主机上打开虚拟机电源。
  • 如果在修复期间为集群停用或重新配置 vSphere HA,vSphere HA 将无法再保护已挂起的虚拟机。在更改 vSphere HA 配置之前,请确保集群中没有主机处于维护模式,并且已挂起的虚拟机已打开电源。
  • 如果在将 vSphere Lifecycle Manager 配置为使用挂起到内存选项后修改 vSphere HA 的 das.failoverDelayForSuspendToMemoryVmsSecs 高级选项,则新指定的超时值可能不适用于虚拟机。如果需要修改 das.failoverDelayForSuspendToMemoryVmsSecs 选项的默认值,请确保在开始修复之前对其进行修改,以确保新值生效。
  • 如果挂起到内存操作失败,则 vSphere HA 将在指定的超时值过期后确定最合适的故障切换主机。故障切换主机可能是原始主机,也可能是其他主机。
  • 必须同步集群中所有 ESXi 主机的服务器时间。如果主机未同步,则 vSphere HA 可能不会遵循指定的超时时间,并会提前或推迟启动故障切换。

有关使用和配置 vSphere HA 的详细信息,请参见《vSphere 可用性》文档。