还记得 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),这些需要手动修复。

【VMware vSphere】借助 Live Patch 无停机修补 vSphere 9 集群。的更多相关文章

  1. vmware里面的名词 vSphere、vCenter Server、ESXI、vSphere Client

    vmware里面的名词 vSphere.vCenter Server.ESXI.vSphere Client vSphere.vCenter Server.ESXI.vSphere Client VS ...

  2. Vmware Vsphere WebService之vijava 开发一-vcenter连接、及集群信息获取

    开始是通过java代码调用vsphere提供的原始接口,从而控制vcenter的操作.当第一个版本做完之后发现代码执行的速度特别慢,后来在网上看到有人用vijava(对vsphere原始接口封装)编程 ...

  3. 安装部署VMware vSphere 5.5文档 (6-6) 集群和vMotion

    部署VMware vSphere 5.5 实施文档 ########################################################################## ...

  4. 在开启DRS的集群中修复VMware虚拟主机启动问题

    通过iSCSI方式连接到ESXi主机上的外挂存储意外失联了一段时间,导致部分虚拟主机在集群中呈现出孤立的状态,单独登陆到每台ESXi上可以看到这些虚拟主机都变成了unknow状态.因为有过上一次(VM ...

  5. 使用IBM SVC构建vSphere存储间集群

    使用IBM SVC构建vSphere存储间集群 本文目的 本文描述利用IBM SVC来构建Vsphere 存储间集群 解决方案 什么是vMSC? vShpere存储间集群是一个针对VmwarevSpe ...

  6. 通过VMware的PowerCLI配置集群内指定主机的vMotion功能

    PowerCLI是VMware开发的基于微软(MSFT)的PowerShell的命令行管理vSphere的实现,因此在批量化操作方面CLI会减轻很多GUI环境下的繁琐重复劳作. 现有场景中有大量的物理 ...

  7. 初试集群虚拟化搭建(二)—— Xen, kvm, OpenStack, VMware ESXi, Citrix XenServer等种种选择

    小伙伴们找到了一些主流方案的资料,最终选择了XenServer6.5作为平台搭建. Xen 特点: 功能强大,支持Linux的各种发行版本 通常是在现有Linux操作系统上安装,是一种半虚拟化的安装方 ...

  8. VMware workstation虚拟集群实践(1)—— 配置集群多节点互信

    一. 简述 节点互信,是集群管理的基本操作之一.节点互信是通过SSH协议的公钥密钥认证来代替密码认证来实现的.对于单点批量管理多个节点,多个节点之间相互通信来说,配置SSH单方向信任,或者互信十分必要 ...

  9. VLAN 模式下的 OpenStack 管理 vSphere 集群方案

    本文不合适转载,只用于自我学习. 关于为什么要用OpenStack 管理 vSphere 集群,原因可以有很多,特别是一些传统企业,VMware 的使用还是很普遍的,用 OpenStack 纳管至少会 ...

  10. Hadoop1.x集群安装部署(VMware)

    一.hadoop版本介绍 不收费的Hadoop版本主要有三个(均是国外厂商),分别是:Apache(最原始的版本,所有发行版均基于这个版本进行改进).Cloudera版本(Cloudera’s Dis ...

随机推荐

  1. 45分钟从零搭建私有MaaS平台和生产级的Qwen3模型服务

    今天凌晨,阿里通义团队正式发布了 Qwen3,涵盖六款 Dense 模型(0.6B.1.7B.4B.8B.14B.32B)和两款 MoE 模型(30B-A3B 和 235B-A22B).其中的旗舰模型 ...

  2. mysql设置时区

    参考:https://blog.csdn.net/vkingnew/article/details/82149726 查看时区 show variables like '%time_zone%'; 设 ...

  3. ufw配置自动管理端口转发和DNAT+MASQUERADE

    端口A转发到本地的端口B 端口A转发到另一台机器的端口B(需借助DNAT) 一般情况下, 我们配置ufw来实现端口转发时会在修改 /etc/ufw/before.rules 文件, 增加*nat部分. ...

  4. Java 数据库开发总结

    数据库连接.设计以及备份技巧集锦 JDBC操作各种数据库经验技巧集萃 Java 数据库连接(JDBC)由一组用 Java 编程语言编写的类和接口组成.JDBC 为工具/数据库开发人员提供了一个标准的  ...

  5. VS2019 配置libzmq-4.3.1

    1.下载libzmq-4.3.1 https://github.com/zeromq/libzmq/tags 2.解压并查看 3.编译 使用vs2019对其进行编译,点击libzmq.sln进入工程环 ...

  6. vue中使用swiper 插件出错问题

    由于我自己在写一个demo时候用到了该插件,出现了一些问题,所以就简单查了一下该插件的用法以及一些常见的错误 1.出现Get .../maps/swiper.min.js.map 500(Intern ...

  7. [网鼎杯 2020 朱雀组]Nmap 1

    [网鼎杯 2020 朱雀组]Nmap 1 这个题目主要考察的是nmap的常用命令和escapeshell函数 Nmap 相关参数 -iL 读取文件内容,以文件内容作为搜索目标 -o 输出到文件 举例 ...

  8. centos 7 安装 netcoresdk 和Nginx 并发布netcore

    微软官网的yum安装: 打开linux终端程序 netcore sdk 地址https://dotnet.microsoft.com/download/linux-package-manager/ce ...

  9. RAG越来越不准?从Dify和ima知识库看元数据与标签如何让大模型更懂你

    你是否有这样的经历:"知识库文档越来越多,知识库问答却越来越不靠谱,RAG检索到的都是一堆不相关的内容." 在这个信息爆炸的时代,我们不缺资料,缺的是找到"对的资料&qu ...

  10. Java 提取url的域名

      有时候,我们需要校验URL的域名是否在白名单中,故需要提取其中的域名.可以使用java标准类库java.net.URL进行提取,方法如下: import org.apache.commons.la ...