还记得 VMware vSphere 8 U3 中更新的有关 vSphere 生命周期管理功能吗?其中,vSphere Lifecycle Manager 引入了一个叫 "Live Patch" 实时修补的功能,该功能允许用户在无停机无中断的情况升级自己的 vSphere 集群,并且也无需将虚拟机从原主机迁移至其他主机即可完成更新。而以往,要完成主机补丁的修补或者更新,通常需要先将虚拟机迁走,然后主机被置于维护模式,完成补丁更新后还要重启主机才能完成整个流程,这个过程不仅繁琐还会容易出错并可能造成业务中断。
vSphere Live Patch 功能的优势明显,可能大家之前也看过了相关的文章介绍了这个功能,但是都没有真正实际应用过,我也一样,其实原因是 VMware 仅仅发布了这个功能,但是之前并没有可用的支持 Live Patch 的补丁。

vSphere Live Patch 实时修补过程是怎么样的?使用 Live Patch 执行修补过程时,vSphere 集群中的 ESXi 主机将进入"部分维护模式",目标补丁组件的新修订版本与当前版本并行挂载,新的挂载修订版文件和进程已修补,ESXi 主机上的虚拟机执行"快速挂起恢复(FSR)"以使用已修补的版本。

ESXi 主机进入部分维护模式时,上面的虚拟机将继续保持运行,但是此时不允许将该主机上的虚拟机迁移到其他主机,或者从其他主机迁移虚拟机过来,同时也不允许在该主机上创建新的虚拟机。

前面说过,使用 vSphere Live Patch 功能的前提是,你所修补的新补丁必须支持 Live Patch 才可以,我们可以在 vSphere Lifecycle Manager 管理界面查看该补丁是否被标记支持 Live Patch,还有在 vSphere 集群的更新 Image 映像设置中看到补丁是否可以被应用于 Live Patch。

当然,是否支持 Live Patch 的补丁也会在产品的发行说明中提到,比如在最近的 VMSA-2025-0013 安全通告中,VMware 多个产品版本具有 CVE-2025-41237 等多个安全漏洞,并且安全等级为严重,VMware 推出安全补丁 VMware ESX 9.0.0.0100 以解决公告中针对于 vSphere 9 产品的安全漏洞。可能会发现,ESXi 在 vSphere 9 版本中已被更名为 ESX,并且版本补丁的命名方式不再是 U1/U2/U3,而是版本后面加小补丁号。
基于此,我想尝试在 vSphere 9 版本中应用 Live Patch 实时修补功能,看看是不是像官方幻灯片宣传的那样。其实,vSphere 9 仅作为 VMware vSphere Foundation(VVF) 或者 VMware Cloud Foundation(VCF) 产品套件的一部分提供(详见),所以正常情况下的 vSphere 集群的修补过程应该是使用新组件 VCF Operations 来完成,由于我没有部署完整的环境,所以以下测试过程还使用原来 vSphere 8 的修补方式来完成。
一、环境准备
vSphere 环境的安装部署过程就省略了,9 版本和之前 vSphere 8 版本的操作过程几乎没什么区别,只是提一点是,对于 Hypervisor 操作系统安装的时候可以通过"systemMediaSize"选项参数来控制分区的配置,而 ESX 9 中可以使用的选项不再支持 min 和 small 了。


在创建集群的时候,vSphere 9 集群仅支持基于"Image"映像的生命周期管理方式。注意,启动 DRS 并设置为全自动模式。

使用集群快速配置向导配置 vSAN HCI 集群,可能会发现之前叫"vSAN Max"的集群架构方式现在叫"vSAN Storage Cluster"。

vCenter Server 版本为 9.0.0.0,版本号 24755230。

ESX 版本为 9.0.0.0,版本号 24755229。


vSAN HCI ESA 架构单站点标准集群。


部署了 vm1 和 vm2 虚拟机,分别运行在 a1 和 a2 主机上。

二、修补准备
导航到 vSphere Client->Plugins->Lifecycle Manager。

点击"ACTIONS",选择"Import Updates",选择并导入本地的补丁文件。


手动导入后,点击"Software Depot",可以看到补丁后面有 Live Patch 标记。


点击"Settings",导航到"Cluster Lifecycle"->"Images"设置,点击"EDIT"编辑并将"Enforce Live Patch"功能开启。注意,该选项针对所有集群生效,也可以在集群映像更新设置中单独开启(参见)。


三、修补过程
导航到集群(vsan-esa-cluster)->Updates->Hosts->Image,点击"EDIT"。

点击"ESXi Version"并选择新补丁,可以对集群的映像设置一个新的名称,当集群中具有不同配置的主机时,可以为集群"ADD IMAGE"添加并定义多个映像,之前介绍过(参见)。


点击"Components"后面的"SHOW DETAILS"并选择"ALL components",也可以自定义映像中的组件,比如将 VM Tools 从基础映像中删除。

由于是测试环境,没有供应商加载项以及其他独立组件等,只需要定义基础映像并点击"SAVE"保存即可。


点击"RUN PRE-CHECK(ALL)"运行预检查。


点击"STAGE(ALL)"将补丁转储到所有主机。


点击"REMEDIATE(ALL)"开始修补所有主机。


点击其中一台主机,我们可以看到该主机即将执行的所有操作。

开始依次对 vSphere 9 集群中的所有主机执行 Live Patch 实时修补,可以看到主机已经进入部分维护模式(Partial Maintenance Mode)。


开始 a2 主机修补工作流。

a2 主机修补的完整过程:
07/21/2025, 5:41:55 PM Finished remediation of the host 'esx9-a2.mulab.local'
07/21/2025, 5:41:55 PM Finished compliance check for host 'esx9-a2.mulab.local'
07/21/2025, 5:41:18 PM Started compliance check for host 'esx9-a2.mulab.local'
07/21/2025, 5:41:17 PM Completed exiting partial maintenance mode for host 'esx9-a2.mulab.local'
07/21/2025, 5:41:16 PM Started exiting partial maintenance mode for host 'esx9-a2.mulab.local'
07/21/2025, 5:41:11 PM Completed installing the image on host 'esx9-a2.mulab.local'
07/21/2025, 5:39:46 PM Live Patch apply-published script '03_vmx-apply-published' returned a message: The following Virtual Machines have been tagged for applying fast suspend and resume (FSR): vm2.
07/21/2025, 5:39:46 PM Live Patch apply-published script '01_vmkqp-apply-published' returned a message: The following patches have been successfully activated: vmkqp_00.
07/21/2025, 5:39:46 PM Live Patch apply-published script '01_vmkqp-apply-published' returned a message: The following patch modules have been successfully loaded: vmkqp_00.
07/21/2025, 5:39:46 PM Live Patch apply-published script '03_vmx-apply-published' succeeded.
07/21/2025, 5:39:45 PM Starting to execute Live Patch apply-published script '03_vmx-apply-published'.
07/21/2025, 5:39:45 PM Live Patch apply-published script '01_vmkqp-apply-published' succeeded.
07/21/2025, 5:39:44 PM Starting to execute Live Patch apply-published script '01_vmkqp-apply-published'.
07/21/2025, 5:39:23 PM Live Patch scan script '03_vmx-scan' succeeded.
07/21/2025, 5:39:22 PM Starting to execute Live Patch scan script '03_vmx-scan'.
07/21/2025, 5:39:22 PM Live Patch scan script '01_vmkqp-scan' succeeded.
07/21/2025, 5:39:21 PM Starting to execute Live Patch scan script '01_vmkqp-scan'.
07/21/2025, 5:39:21 PM Live Patch scan script '01_nsxhost_scan.py' succeeded.
07/21/2025, 5:39:12 PM Starting to execute Live Patch scan script '01_nsxhost_scan.py'.
07/21/2025, 5:38:39 PM Started to install the image on host 'esx9-a2.mulab.local'
07/21/2025, 5:38:39 PM Completed entering partial maintenance mode for host 'esx9-a2.mulab.local'
07/21/2025, 5:38:38 PM Started to enter partial maintenance mode for host 'esx9-a2.mulab.local'
07/21/2025, 5:38:37 PM Starting remediation of the host 'esx9-a2.mulab.local'
07/21/2025, 5:38:37 PM Completed getting host recommendation from DRS to enter maintenance mode for cluster 'vsan-esa-cluster'. Selected host: 'esx9-a2.mulab.local'.
07/21/2025, 5:38:37 PM Started getting host recommendation from DRS to enter maintenance mode for cluster 'vsan-esa-cluster'.
主机上的虚拟机没有被迁移并依然正常运行。


完成修补。


检查版本。

经过上面的测试结果可以确认,vSphere 9 现在已经可以使用 Live Patch 进行实时补丁修补,整个过程无需撤离虚拟机,并且以无中断无停机的方式修补了 vSphere 集群,这意味着未来客户可以大大减少生产环境中的停机时间,降低维护的复杂度以及可能未知的风险。
但是,vSphere Live Patch 功能真就这么完美吗?No!并非所有的补丁都支持 Live Patch,vSphere 9 中的 Live Patch 依然存在 vSphere 8 中的限制,比如不能和集群主机并行修复功能结合使用,不兼容配置了 TPM 2.0 以及 DPU 设备的系统,配置了 FT、DirectPath I/O 的虚拟机和 vSphere Pod 容器无法使用 Fast-Suspend-Resume(FSR),这些需要手动修复。