找回密码
 立即注册
首页 业界区 业界 【VMware vSphere】借助 Live Patch 无停机修补 vSphere ...

【VMware vSphere】借助 Live Patch 无停机修补 vSphere 9 集群。

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

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

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

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

当然,是否支持 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 了。
5.png

6.png

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

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

vCenter Server 版本为 9.0.0.0,版本号 24755230。
9.png

ESX 版本为 9.0.0.0,版本号 24755229。
10.png

11.png

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

13.png

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

 
二、修补准备

导航到 vSphere Client->lugins->Lifecycle Manager。
15.png

点击“ACTIONS”,选择“Import Updates”,选择并导入本地的补丁文件。
16.png

17.png

手动导入后,点击“Software Depot”,可以看到补丁后面有 Live Patch 标记。
18.png

19.png

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

21.png

 
三、修补过程

导航到集群(vsan-esa-cluster)->Updates->Hosts->Image,点击“EDIT”。
22.png

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

24.png

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

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

27.png

点击“RUN PRE-CHECK(ALL)”运行预检查。
28.png

29.png

点击“STAGE(ALL)”将补丁转储到所有主机。
30.png

31.png

点击“REMEDIATE(ALL)”开始修补所有主机。
32.png

33.png

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

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

36.png

开始 a2 主机修补工作流。
37.png

a2 主机修补的完整过程:
  1.   07/21/2025, 5:41:55 PM  Finished remediation of the host 'esx9-a2.mulab.local'
  2.   07/21/2025, 5:41:55 PM  Finished compliance check for host 'esx9-a2.mulab.local'
  3.   07/21/2025, 5:41:18 PM  Started compliance check for host 'esx9-a2.mulab.local'
  4.   07/21/2025, 5:41:17 PM  Completed exiting partial maintenance mode for host 'esx9-a2.mulab.local'
  5.   07/21/2025, 5:41:16 PM  Started exiting partial maintenance mode for host 'esx9-a2.mulab.local'
  6.   07/21/2025, 5:41:11 PM  Completed installing the image on host 'esx9-a2.mulab.local'
  7.   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.
  8.   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.
  9.   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.
  10.   07/21/2025, 5:39:46 PM  Live Patch apply-published script '03_vmx-apply-published' succeeded.
  11.   07/21/2025, 5:39:45 PM  Starting to execute Live Patch apply-published script '03_vmx-apply-published'.
  12.   07/21/2025, 5:39:45 PM  Live Patch apply-published script '01_vmkqp-apply-published' succeeded.
  13.   07/21/2025, 5:39:44 PM  Starting to execute Live Patch apply-published script '01_vmkqp-apply-published'.
  14.   07/21/2025, 5:39:23 PM  Live Patch scan script '03_vmx-scan' succeeded.
  15.   07/21/2025, 5:39:22 PM  Starting to execute Live Patch scan script '03_vmx-scan'.
  16.   07/21/2025, 5:39:22 PM  Live Patch scan script '01_vmkqp-scan' succeeded.
  17.   07/21/2025, 5:39:21 PM  Starting to execute Live Patch scan script '01_vmkqp-scan'.
  18.   07/21/2025, 5:39:21 PM  Live Patch scan script '01_nsxhost_scan.py' succeeded.
  19.   07/21/2025, 5:39:12 PM  Starting to execute Live Patch scan script '01_nsxhost_scan.py'.
  20.   07/21/2025, 5:38:39 PM  Started to install the image on host 'esx9-a2.mulab.local'
  21.   07/21/2025, 5:38:39 PM  Completed entering partial maintenance mode for host 'esx9-a2.mulab.local'
  22.   07/21/2025, 5:38:38 PM  Started to enter partial maintenance mode for host 'esx9-a2.mulab.local'
  23.   07/21/2025, 5:38:37 PM  Starting remediation of the host 'esx9-a2.mulab.local'
  24.   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'.
  25.   07/21/2025, 5:38:37 PM  Started getting host recommendation from DRS to enter maintenance mode for cluster 'vsan-esa-cluster'.
复制代码
主机上的虚拟机没有被迁移并依然正常运行。
38.png

39.png

完成修补。
40.png

41.png

检查版本。
42.png

 
经过上面的测试结果可以确认,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),这些需要手动修复。

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册