vSphere Lifecycle Manager(vLCM)是 vSphere 7 中引入的一项新功能,它提供了一种集中式、自动化和简单性的方式来管理和升级 vSphere 基础架构组件(如vCenter、ESXi主机和NSX)的生命周期。
VMware 早期用于 vSphere 升级和补丁管理的解决方案称为vSphere Update Manager(VUM),这对管理员用于维护和管理 vSphere 环境的来说绝对是一个好工具。虽然VUM在 vSphere 升级和补丁管理这方便完成的游刃有余,但它缺乏完整的服务器堆栈管理,由于没有集成固件管理,管理员必须单独管理服务器固件(如BIOS、存储 IO 控制器、磁盘设备、NIC网卡和BMC远程管理工具),而vSphere Lifecycle Manager(vLCM)是vSphere Update Manager(VUM)的后继版本并解决了这些问题。
vSphere 7 中引入的 vSphere Lifecycle Manager(vLCM) 为 vSAN 集群引入了统一的软件和固件生命周期管理,其中包括基本 ESXi 版本、驱动程序和完整的服务器堆栈固件。这项新功能解决了客户一个长期存在的痛点,即必须通过服务器OEM厂商产品(如 HPE SUM/OneView 或 Dell EMC iDRAC/OpenManage)来单独管理整个服务器堆栈固件。vLCM 可以在集群级别进行管理,确保集群中所有主机的软件、固件和驱动程序的一致性。
vSphere Lifecycle Manager(vLCM)使用基于映像(Image)和基线的方式来管理 vSphere 组件的生命周期。基准是修补程序、扩展或更新的集合,把它们组合在一起形成一个基准或一组基准,基准可以由 VMware 预定义,也可以由管理员自行创建,早期的生命周期管理器VUM就是使用这种方式。映像是一组完整的二进制文件,代表特定的 ESXi 版本,vLCM主要使用映像来对vSphere生命周期进行管理,映像为VMware统一进行发布,有两种类型,第一种是ISO映像,也就是ESXi完整安装包,可用于ESXi主机的完整安装或升级;另一种是脱机捆绑包映像,通常是ZIP格式,可用于ESXi主机的升级,这两种映像由VMware一起发布,当然除了VMware官方发布的这两种映像以外,也就是说除了这两种基础映像以外,还有与VMware合作的OEM服务器厂商发布的映像,同样有两种类型,不过除了包含了VMware官方发布的基础映像以外,还添加了OEM厂商自己产品相关的插件、驱动和组件等。总之,基准是 vSphere 组件的补丁和更新的集合,而映像是代表 ESXi 特定版本的完整二进制文件集。 vSphere Lifecycle Manager 使用基准和映像来管理 vSphere 组件的生命周期并执行升级。
使用
vSphere Lifecycle Manager
映像管理的集群与使用
vSphere Lifecycle Manager
基准管理的集群执行的操作有一些区别:
操作 | 基准 | 映像 |
---|---|---|
分布 | 公告通过联机库和脱机包的形式分发。您可以导入 ISO 映像并使用该映像创建升级基准。 |
基础映像、供应商加载项和组件通过联机库和脱机包的形式分发。无法使用 ISO 映像为集群设置 vSphere Lifecycle Manager 映像。 |
验证 |
不支持。
在将更新应用于主机之前,不会验证基准。只能执行修复预检查。 |
受支持。
可以对 |
导入/导出 |
可以创建自定义基准并将其附加到同一 vCenter Server 实例中的不同对象。无法导出基准并在 vCenter Server 实例之间进行分发。 |
可以导出映像,并用于管理同一或不同 vCenter Server 实例中的其他集群。映像可在 vCenter Server 实例之间进行移植。您可以将映像导出为 ISO 或 JSON 文件,但只能导入 JSON 格式的映像。 |
合规性检查 | 使用基准,可以根据单个基准或多个基准检查对象的合规性。 |
使用 vSphere Lifecycle Manager 映像,可以根据单个映像检查主机的合规性。要根据其他映像检查合规性,必须先设置新映像。 |
正在转储 |
受支持。
可以将更新转储到主机,然后再实际安装这些更新。 |
受支持。
在修复之前,可以将映像转储到集群或集群中的主机。转储可减少 |
修复 |
使用 vSphere Lifecycle Manager 基准,可以根据单个基准或多个基准修复对象。因此,只需一次操作,就可以修补和升级主机。
但是, |
使用 vSphere Lifecycle Manager 映像,可以在用于集群的映像中添加、移除或修改组件。根据新映像修复主机时,所有修改的组件都将应用于主机。因此,只需一次修复操作,就可以升级和修补主机。
|
固件更新 | 不支持。 |
受支持。
使用 |
硬件兼容性检查 | 不支持。 |
支持
可以根据《VMware 兼容性指南》(VCG) 检查集群中主机的硬件兼容性。
还可以根据 |
软件建议 |
仅提供有限的支持。
软件建议只能以建议基准的形式用于 |
受支持。
根据集群中主机的硬件,您将获得有关可用和适用 |
vCenter Server /数据中心级别操作 |
使用 vSphere Lifecycle Manager 基准,可以在 vCenter Server 或数据中心级别触发任何主要操作。 |
使用 vSphere Lifecycle Manager 映像,无法在 vSphere Lifecycle Manager 或数据中心级别执行操作。 |
虚拟机管理 |
可以升级使用 vSphere Lifecycle Manager 基准管理的集群中的虚拟机的 VMware Tools 版本和虚拟硬件版本。 |
可以升级使用 vSphere Lifecycle Manager 映像管理的集群中的虚拟机的 VMware Tools 版本和虚拟硬件版本。 |
Update Manager 下载服务 (UMDS) | 受支持。 | 受支持。 |
Remote Office/Branch Office (ROBO) 支持 |
未提供。
尽管不存在针对 ROBO 部署的特定优化,但仍可以将基准和基准组用于 ROBO 集群。 |
已提供。
使用 |
REST API | 不可用。 | 可用。 |
支持 DPU 设备 |
未提供。
无法对包含具有 DPU 设备的主机的集群使用基准。 |
已提供
要管理 DPU 支持的主机集群,只能使用 |
使用映像的要求比基线更严格。具体而言,群集中的主机必须来自同一供应商和同一硬件,此要求是必需的,因为映像会逐个检查位于集群内的主机固件和驱动程序,包括VIB。 要使用 vSphere Lifecycle Manager 有以下要求:
在了解了 vLCM 的基本知识以及使用要求后,我们到真实的用户界面去了解 vSphere Lifecycle Manager 的功能和使用方法,再结合实际的使用案例,这样更能充分理解 vSphere Lifecycle Manager 的特性以及能力。
登录 vCenter Server 后,在 vSphere Client 菜单或者快捷方式中可以找到 Lifecycle Manager 选项,点击进入配置管理界面。
vSphere Lifecycle Manager(vLCM)管理界面如下图所示,这里包含了多个功能选项卡,让我们来一个一个的了解其功能属性和作用。
当前功能选项卡的名称叫“映像库”,这里集合了我们前面所说的vLCM所使用的映像。这个地方所使用的映像类型是两种映像类型中的脱机捆绑包映像,而不是ISO映像,例如 VMware-ESXi-8.0U2b-23305546-depot.zip 。映像库中的映像来源支持在线更新和离线导入两种方式,如下图所示,点击“操作”,在更新选项下面可以看到两种方式。
如果当前vCenter环境能够连接互联网,则可以使用vLCM设置当中的“修补程序设置”中的下载源,点击“操作”中的“同步更新”来自动同步VMware官方的映像源,如下图所示。
如果当前vCenter环境不能连接互联网,则可以点击“操作”中的“导入更新”选项,将从VMware官网(现为Broadcom官网)下载的脱机捆绑包映像导入到vLCM中来使用。
上面表述了映像库中映像的来源方式,在映像库选项卡中展示的几个列表,表示了映像的组成组件,映像是一个概念,它汇总了基础映像、供应商加载项和组件。
ESXI 版本是VMware官方发布的ESXi 基础映像,基础映像是可以启动服务器的组件的完整集合(如下组件所述),支持 vSphere ESXi 7.0 或更高版本的基本 ESXi 映像。
供应商就是OEM厂商,供应商加载项就是由OEM厂商自定义的组件的集合(如下组件所述)。加载项中的组件可能包含有固件、驱动程序和OEM厂商的插件,比如 Hardware Support Manager(HSM) 是OEM厂商提供的软件,HSM是这类软件的总称,每个OEM厂商的HSM软件都不一样,它是一个将自身注册为 vCenter Server 扩展的插件,OEM厂商通过 vLCM 使用 HSM 即可管理固件和驱动程序的更新。本来这些加载项由OEM厂商自行将其添加到他们所提供的自定义ISO映像当中的,也就是我们常说的OEM映像,现在VMware把OEM厂商这块内容单独拎出来并取名为供应商加载项,这样的好处就是可以单独对OEM厂商的特定组件进行管理和更新,也可以有效地取代对OEM厂商自定义ISO映像的需求,因为此功能取代了OEM厂商制作OEM映像的工作。供应商加载项和ESXi 基础映像的组合成为了OEM映像文件。
组件是VMware定义的名称, vLCM 将要应用的最小单元视为组件,而不是 VIB 文件,VIB是组件的基本构造,组件是VIB的逻辑分组。组件可以包含适用于服务器上 ESXi 版本的 VIB、服务器的 DPU 设备的 ESXi 版本,或同时适用于这两者(如果服务器支持 DPU)。VMware、OEM 和第三方软件提供商以组件的形式交付软件。VMware 和 OEM 不单独交付组件。VMware 将组件捆绑在一起,形成功能齐全的 ESXi 基础映像。OEM 将组件捆绑在一起,形成供应商加载项。vLCM 与选定的供应商 OEM 工具集成,以管理 ESXi 主机设备(如 PCIe 设备(例如存储控制器、NIC)、BIOS、带外工具等)的全栈固件更新。第三方软件供应商以独立组件的形式创建和交付软件,例如驱动程序或适配器。(顺便说一句,在vSphere 7之后,有一个
处理组件的命令
“esxcli software component”,使用“esxcli software component list”与“esxcli software vib list”命令相比,显示的数量略小于 VIB 列表,因此组件算是 VIB 集合,但是,你会发现驱动程序似乎是 1vib文件 = 1个组件。)
如果使用了vLCM设置中下载源,则映像库中ESXI 版本、供应商加载项和独立组件和供应商加载项组件都会展示出来,如果是离线环境,通过导入本地映像文件到映像库,则因情况而定,有两种情况,第一种是导入VMware基础映像,如VMware-ESXi-8.0U2b-23305546-depot.zip,这只会在映像库选项卡中ESXI 版本列表中显示出来,如果还需要供应商加载项和独立组件和供应商加载项组件(这两项在vLCM生命周期管理中作为可选项添加),则需要到VMware网站单独下载供应商加载项和独立组件和供应商加载项组件的包导入到映像库;第二种是使用OEM厂商制作的离线捆绑包映像,如果vSphere环境使用OEM映像文件进行了全新安装,则可以使用该方式,由OEM厂商制作的离线捆绑包映像中包含了供应商加载项和独立组件和供应商加载项组件。
下图功能选项卡的名称叫“更新”,这里集合所有发布ESXi的修补程序的汇总公告,比如
ESXi 8 U2b的发行说明
中有两个汇总公告:ESXi80U2b-23305546和ESXi80U2sb-23305545,不带S的表示安全+Bug完整修复,带S的表示仅安全修复,这在我们使用ESXi修补程序上传到ESXi主机对其使用命令进行更新的时候比较清楚。当我们使用离线导入映像到映像库的时候,“更新选项卡”会自动列出我们所导入映像的汇总更新,默认按基准进行筛选,我们可以点击右上角,根据VMware 预定义基准进行筛选我们需要的汇总更新,如关键主机修补程序、非关键主机修补程序和主机安全修补程序。同时,我们可以选中某个汇总更新,比如ESXi80U2b-23305546的安全+Bug完整修复,点击列表右上角的“添加/移除基准”进行创建自定义基准,然后进行独立主机或集群的更新或修补。
下图功能选项卡的名称叫“导入的 ISO”,使用该选项卡,我们可以将VMware或者OEM厂商发布的完整ISO映像导入到该列表当中,比如 VMware-VMvisor-Installer-8.0U2b-23305546.x86_64.iso 映像文件。导入到该列表后,我们可以使用该映像创建自定义基准,来完成对独立主机或集群的更新或修补。注意,vLCM 使用映像管理集群或主机的映像文件是脱机捆绑包(Offline Bundle)映像,并不是这里的ISO映像,ISO映像只能用于基于基线管理的集群或者主机。
下图功能选项卡的名称叫“基准”,这是与vLCM所管理的vSphere生命周期完全不同的使用方式,使用基准只能升级和修补
ESXi
主机或者在
ESXi
主机上安装和更新第三方软件。
vSphere Lifecycle Manager
基准分为三种类型:预定义基准、建议基准或手动创建的自定义基准。根据其内容,基准可以是修补程序基准、扩展基准或升级基准。如果集群中具有不同厂商或者不同型号的ESXi主机,那不能使用基于映像管理的集群的方式,只能使用基于基准所管理的集群,可以通过创建自定义不同的基准或基准组来升级或修复不同厂商或不同型号的ESXi主机。
上述介绍了几种选项卡的功能属性和作用,下面来看看不同选项卡中所使用不同映像包所对应的VMware所发布映像包的位置。由于 VMware 已被 Broadcom 收购,早之前可以到
Customer Connect
下载映像包,而现在需要在
Broadcom 支持门户
去下载这些映像包,下载映像需要创建一个账户,登录账户后需要转到 VMware Cloud Foundation 板块,在
My Downloads
中去下载
ESXi映像
。
映像库选项卡中的ESXI 版本(即基础映像),对应下图 Primary Downloads 中 ESXi 的脱机捆绑包(Offline Bundle)。
其实上图中 ESXi 的脱机捆绑包(Offline Bundle)就是对应所发布的
ESXi 修补程序
(之前是https://customerconnect.vmware.com/patch)。
映像库选项卡中的供应商加载项,对应下图中的 OEM Addons ,比如 HPE OEM 厂商的 Addon 下具有如下加载项包。
导入的 ISO 选项卡所使用的映像对应如下图 Primary Downloads 中的 ISO 映像。
除了使用由VMware 官方发布的基础映像以外,还可以使用如下图 Custom ISOs 中由OEM厂商制作的自定义映像。这些自定义映像都包含供应商加载项和独立组件或供应商加载项组件。
比如由 LENOVO OEM厂商所发布的自定义映像中,如下图所示的 ISO 映像可以用于“导入 ISO”选项卡。
比如由 LENOVO OEM厂商所发布的自定义映像中,如下图所示的 OFffline Bundle 映像可以用于“映像库”选项卡。
点击右边的 Additional Information 按钮,可以查看映像具体所包含的 Component 组件。
现在,来看一下 vLCM 设置选项。针对 vLCM 修补程序自动下载设置,默认自动下载为“已启动”状态,vLCM 会根据修补程序设置的URL地址自动从下载库中同步到 vLCM 管理中心。
点击右上角的编辑,可以配置自动下载是否开启,若开启则可以配置自动下载的任务调度,根据需要自行配置调度的时间。
设置调度任务后,可以在vCenter-配置-已调度任务中查看。其实你会发现,当你删除这个计划任务后,自动下载修补程序就变成“已禁用”了。
映像库及更新选项卡中的内容根据修补程序设置的下载源进行同步到vLCM。默认情况下为“从 Internet 下载的修补程序”,若 vCenter 环境能正常连接互联网,则下图列表中的所有下载源的连接状态应为“已连接”,若 vCenter 环境不能直接连接互联网,可以通过在 VAMI(https://vcenter-ip-or-fqdn:5480) 配置代理进行连接网络。列表中的下载源的第一个链接为供应商加载项,第二个链接为ESXi 基础镜像和补丁,第三链接为独立组件和供应商加载项组件,第四个链接为 VMware Tools 独立组件。可以通过“新建”添加第三方下载源,不过默认情况下预定义的下载源就已经够用了。
点击右上角的“更改下载源”选项,我们可以更改下载源类型,将默认的从 Internet 下载修改为从
Update Manager Depot Service (UMDS)
共享存储库下载修补程序,UMDS 共享存储库是 VMware 提供的一种 vLCM 可以使用本地下载库的方法,当我们的vCenter环境不能连接网络时,通过在我们的环境配置一台可以连接网络的 UMDS 服务器,UMDS 去下载升级、修补程序二进制文件和修补程序元数据,vCenter 再配置 UMDS 来使用本地下载存储库,这样如果环境不能联网时也可以使用存储库了,当有多个 vCenter 站点时也可以同时共用一个共享存储库。由于篇幅有限,后面会单独写一篇文章来配置这个功能。
下面是针对集群生命周期的管理设置,通过定义这些设置,使用vLCM进行集群或独立主机的生命周期管理时,可以默认遵循这些设置。
通过基于“映像”方式所管理的集群或独立主机的设置,这是 vLCM 所推荐的默认使用方式,下图为预定义的映像设置,点击右上角的“编辑”,可以分别针对集群“映像”或独立主机“独立主机映像”进行自定义设置。
注意:
“映像”为针对于“集群”的生命周期管理的设置,根据需要编辑集群修复设置,所有更改将会应用于所有基于映像管理方式的集群。如果集群上的主机资源比较紧张,可以勾选在修复时默认禁用 HA 准入控制。并行修复选项默认为关闭状态,可以勾选并设置并行修复的并发数,默认为vLCM自动确定并发数,可以手动指定并发数为1到96之间。并行修复针对已经处于维护模式状态的主机,如果未处于维护模式的主机则不进行修复,并行修复主机时,如果单个主机修复失败,则整个集群的修复任务不会停止,其余主机修复成功。修复完成后,vSphere Lifecycle Manager 会报告相应主机的错误。
注意:vSAN 群集、vSphere with Tanzu 活动集群或运行 NSX 的群集不支持执行并行修复。有关详细信息,请参见 vSphere Lifecycle Manager 文档:
vSAN 群集和 vSphere Lifecycle Manager
、
vSphere Lifecycle Manager 和 vSphere with Tanzu
、
vSphere Lifecycle Manager 和 VMware NSX
。
针对由映像方式所管理的独立主机的修复设置要比集群的修复设置选项少得多,可以根据需要自行进行配置。
下图为针对于由“基准”所管理集群或主机的生命周期的默认设置,点击“编辑”可以根据需要自定义默认设置,如果需要使用并行修复,确保集群的所有主机都已进入维护模式并准备好更新或修补。使用基准的方式未来可能会被移除,所以使用 vLCM 管理 vSphere 生命周期的方法的重点是使用基于“映像”的管理方式。
除了针对集群内主机或独立主机的生命周期管理,vLCM还可以管理虚拟机的生命周期,如虚拟机的硬件版本和VMware Tools。通过设置下图中的默认的虚拟机回滚策略,在使用 vLCM 对虚拟机进行升级之前,选择是否对虚拟机生成快照,以及快照的保留时间。不建议永久保留虚拟机快照,因为会占用大量磁盘空间并降低虚拟机性能。不会为FT容错虚拟机以及运行虚拟机硬件版本 3 的虚拟机生成快照,如果将
vLCM
配置为在重新启动时自动升级所选虚拟机的 VMware Tools,则
vSphere Lifecycle Manager
在升级虚拟机之前不会生成这些虚拟机的快照,并且无法回滚。
注意,上述设置为 vLCM 执行生命周期管理时的预定义默认配置,在正式执行 vLCM 生命周期管理时也可以选择自定义设置。
通过了解 vLCM 的功能组件和常用配置后,应该对 vLCM 的使用有一定认识,为了更加充分的理解使用 vLCM 对 vSphere 基础架构环境的生命周期管理的方式,通过下面的示例,可以更加深入的学习 vLCM 在实际应用中的特性。
本次准备的环境如下图所示,由 8 主机组成的 vSAN 8 ESA 延伸集群,esxi8-b1到esxi8-b4为首选站点主机,esxi8-c1到esxi8-c4为辅助站点主机,witness8为延伸集群使用的见证主机。vCenter Server 8 U2b,内部版本号 23319993,所有 ESXi 主机版本为 8.0 U2,内部版本号 22380479,见证主机使用的是 VMware 发布的 vSAN ESA 架构专用OVA模板虚拟机,版本为 8.0 U2,内部版本号 22380479。
注意,使用 vSphere Lifecycle Manager 管理 vSAN 集群,无论是使用基准还是单个映像管理
vSAN
集群,修复属于
vSAN
集群的主机都有相应的
细节
。修复
vSAN
集群中的主机时,必须注意以下行为:
注意,使用 vSphere Lifecycle Manager 管理 vSAN 延伸群集或双节点 ROBO 群集时,从 vSphere 8.0 Update 2 开始,可以对集群中的主机使用一个单独的映像,也可以对独立的 vSAN 见证主机使用一个单独的映像(在实际环境中,见证主机可能是一台独立的物理服务器,并且可能与生产服务器是不同的厂商或不同的型号,这样可以独立使用一个映像进行管理)。升级使用 vSphere Lifecycle Manager 映像管理的见证主机的方式与升级独立主机的方式相同,但存在以下要求:
注意,vSphere Lifecycle Manager(vLCM)是 vSAN ESA 架构唯一支持的生命周期管理协议,若要使用 vLCM
更新 vSAN 集群主机的固件
,则只能使用基于“映像”所管理的方法,使用基于基准管理的方式只能对集群内的主机进行修补程序和驱动的更新,不支持固件管理。
新建集群时,可以勾选“使用单个映像管理集群中的所有主机”选项,这样集群默认就使用基于“映像”方法的生命周期管理。支持三种方式设置集群的映像,第一种“构建新映像”是从 vLCM 映像库中选取映像;第二种“从 vCenter 清单中的现有主机导入映像”,顾名思义,若 vCenter 中已添加主机到数据中心清单,则可以使用这种方式;第三种“从新主机导入映像”,当主机还未添加到 vCenter 清单时,可以使用这个选项添加新主机到清单并从主机上获取映像。
当然,若是在创建集群未设置集群映像,也可以后续通过手动设置映像的方法,将集群的管理方式从“基准”转换成“映像”。比如我下边的环境。注意,如果一旦设置了集群的映像,也就说将基准转换成映像方式后,该集群就不能再使用基于基准的管理方法了,“基准”选项会消失,若主机还想使用基于基准的管理方法,只能将主机转入使用基准方式的集群。
要手动设置映像,需要确保映像库中存在映像,映像的来源上面说过有几种方式,我这里模拟vCenter不能连接在线下载源的方式,使用离线导入映像。由于环境中所有主机的版本是 vSphere 8.0 U2,现在导入VMware 发布的基础映像包 vSphere 8.0 U2b,注意是脱机捆绑映像,不是 ISO 映像。同时,因为当前环境是嵌套环境,并非真实的物理服务器,所有的ESXi主机使用的都是VMware 标准ISO安装镜像,所以没有供应商加载项以及其他独立组件,所以我下面演示仅使用VMware 基础映像即可。
导入脱机捆绑包到映像库后,如下图ESXi 版本列表中显示有两个映像(或者叫Bulletin),不带s的表示完整的修补程序和安全更新,带s的表示仅安全更新。
现在重新回到集群映像设置,点击“手动设置映像”,选择不带S的完整修补映像,也不需要设置供应商加载项、固件驱动程序以及组件。可以点击“验证”选项,会验证定义的映像是否有效。如果验证没有问题,点击“保存”完成映像定义。
第二步,检查映像的合规性,根据定义的映像会检查集群硬件兼容性,这一步至关重要,因为设置了新的映像,检查出我当前环境中的所有主机都不合规,点击不合规的主机,会显示不合规的内容,提示主机的CPU不支持ESXi版本的新特性,这个可以忽略即可,还提示主机在修复期间会重启,主机支持快速引导。最上面条幅显示见证节点还在使用baseline方式,说这种方法很快会被映像取代。
确定没问题后,点击完成映像设置。确定是否继续,因为一旦设置为映像则不能更改为基准方式。
完成映像设置后,可以看到“基准”已经消失,稍后我们再返回来进行集群的后续修复步骤。
由于当前环境是vSAN ESA 延伸集群,根据要求需要先升级独立的vSAN 见证主机后,再执行vSAN 集群主机的升级,所以下面先对见证主机设置映像并进行升级。
因为见证主机使用的是模板虚拟机,所以就不用单独使用另外一个映像了,直接使用与vSAN 集群一样的映像即可。选择不带S的完整修补映像,也不需要设置供应商加载项、固件驱动程序以及组件。可以点击“验证”选项,会验证定义的映像是否有效。如果验证没有问题,点击“保存”完成映像定义。
第二步,检查映像合规性,确认没有问题,点击完成对主机映像设置。
点击“转储”,将映像中软件和驱动程序等提前下载到主机。
运行修复前的预检查,检查是否有可能存在的问题。
最后,点击“修复”。查看修复的影响,见证主机将会依次执行以下步骤:进入维护模式->安装映像->重启主机->推出维护模式。确定点击“开始修复”。
开始修复。
修复过程(倒序)。
2024/06/04 12:45:43:Completed exiting maintenance mode for host 'witness8.mulab.local'
2024/06/04 12:45:42:Started exiting maintenance mode for host 'witness8.mulab.local'
2024/06/04 12:45:38:Completed rebooting host 'witness8.mulab.local'
2024/06/04 12:43:48:Started to reboot host 'witness8.mulab.local'
2024/06/04 12:43:48:Finished remediation of the host 'witness8.mulab.local'
2024/06/04 12:42:48:Starting remediation of the host 'witness8.mulab.local'
2024/06/04 12:42:48:Completed entering maintenance mode for host 'witness8.mulab.local'
2024/06/04 12:42:46:Started to enter maintenance mode for host 'witness8.mulab.local'
2024/06/04 12:42:42:Completed staging the image on host 'witness8.mulab.local'
2024/06/04 12:42:07:Started to stage the image on host 'witness8.mulab.local'
2024/06/04 12:42:00:Finished compliance check for host 'witness8.mulab.local'
2024/06/04 12:41:23:Started compliance check for host 'witness8.mulab.local'
修复完成。
在完成了对vSAN 见证主机的更新后,现在我们重新回到vSAN 集群的更新中来。可以发现已经不提示见证主机还使用baseline的方法的横幅了。
从上图中可以看到,根据定义的映像,检查到有一个
硬件兼容性
问题。点击查看详细信息,如下图所示。提示当前受影响的这些主机的NVMe磁盘的控制器设备不兼容映像中的驱动程序和固件,因为当前环境使用的嵌套环境,所有的NVMe磁盘使用的是虚拟PCIe控制器,这个控制器的型号肯定不在官方的HCL列表里,所以提示不兼容是正常的,这里直接忽略即可,可以正常更新不影响ESXi主机正常运行,若是生产环境,一定不能忽略硬件兼容性问题。
还有另外一个提示,说针对vSAN 环境只进行网络控制器、存储控制器和存储设备的兼容性检查,并不会检查完整的 VCG 兼容性列表。
现在我们再此重新回到vSAN 集群的更新,在“映像”选项卡中,我们可以看到集群定义的映像,如下图所示。可以随时点击右边的“编辑”,重新去定义集群的映像,比如说有新的修补程序,将ESXI 8.0 U2b更新到ESXI 8.0 U2c,有供应商加载项及组件的设置、更新等等。当集群映像设置完成以后,可以点击右边的三个点,这里提供一些针对映像的功能,将当前集群定义好的映像“导出”,从其他集群定义好的映像“导入”,检查或查看建议的映像(若映像库具有更新的映像),检查当前映像所在集群的硬件合规性等。
点击“导出”映像,支持三种导出格式,分别是JSON、ISO、ZIP。不同导出格式具有不同的用法,JSON格式通常是用在同一vCenter站点的不同集群上,因为只是元数据,而这个元数据只能被在同一vCenter中vLCM所使用,真实的映像文件也在这个vLCM内;ISO 映像格式可以用于ESXi主机的全新安装,使用的用途就比较多了,比如下图中的可以用于使用基准管理的主机或集群;ZIP 格式就是脱机捆绑映像,这个可以导入其他vCenter的vLCM中使用。通过使用导出映像的功能,我们可以创建自定义 ISO 或者 ZIP 修补映像,这在配置 DIY 主机使用的时候非常有用。
点击“导入”映像,根据上述可知,我们可以在当前vCenter的其他集群中导出映像JSON文件,然后导入到当前集群,这样就可以遵循一样的设置。
在映像合规性选项卡里,当我们在上面重新配置了映像以后,可以点击右边的“检查合规性”重新检查合规性,检查集群中的所有主机的硬件兼容性是否满足映像要求。点击右边的三个点更多,可以查看上次预检查的结果和上次修复的结果。
点击上图中的“编辑修复设置”,可以单独针对当前集群设置vLCM集群修复的自定义设置,默认继承vLCM管理配置中的设置。
点击上图中的“
管理库替代
”,可以配置属于ROBO部署方式的集群或独立主机从本地库下载数据,默认都是从vCenter的vLCM库中下载数据,当在vCenter所在位置与远程站点的集群或主机的网络带宽或质量不佳时,可以配置库替代使其从远程站点的本地库中获取数据,这样就不用占用带宽和避免因网络质量不佳而可能导致修复不成功的风险。库替代 URL支持多个。
下面正式进入vSAN 集群的修复过程。点击“全部转储”,在修复集群之前将映像转储到集群,可减少 ESXi 主机在维护模式下花费的时间。成功转储后,可以立即继续修复,也可以稍后修复集群。将映像转储到集群时,vSphere Lifecycle Manager 会将映像中定义的所有软件和固件组件从 vSphere Lifecycle Manager 库下载到集群中的所有主机。将映像转储到集群或主机之前,必须对集群运行合规性检查,并确保映像转储到的主机符合映像要求。将内容转储到符合要求的主机不会以任何方式改变主机。在合规性状态未知的主机上转储映像将触发自动合规性检查。如果暂存分区具有足够的空间用于转储映像,则转储内容将下载到暂存分区。因此,转储内容会在重新启动和重新引导后永久保留。如果删除转储的内容,vSphere Lifecycle Manager 会在修复过程中重新转储将映像应用于集群中的主机或独立主机所需的组件。在转储期间,vSphere Lifecycle Manager 验证 VIB 的校验和签名,并仅在验证成功完成后将其下载到指定的文件夹中。当 VIB 在主机本地可用时,只有 root 用户可以对其进行修改。
转储成功后,将为映像转储到的每个主机显示一个转储图标。
启动“运行预检查”,检查映像与集群所有主机的 HCL 兼容性问题。
点击“全部修复”,查看修复映像摘要,集群内主机将会依次执行以下步骤执行修复:迁移所有虚拟机(若主机上有)->进入维护模式->安装映像->重启主机->退出维护模式->检查合规性。注意,集群主机上运行了自托管虚拟机,如 vCLS 虚拟机,如果运行在共享存储或vSAN存储上,则这些虚拟机会被迁移到其他主机,若绑定运行在主机的本地存储,则这些虚拟机会被关机。确定点击“开始修复”。
开始修复。
修复过程(倒序)。
2024/06/04 15:39:53:Finished remediation of the host 'esxi8-c2.mulab.local'
2024/06/04 15:39:53:Finished compliance check for host 'esxi8-c2.mulab.local'
2024/06/04 15:39:24:Started compliance check for host 'esxi8-c2.mulab.local'
2024/06/04 15:39:11:Completed exiting maintenance mode for host 'esxi8-c2.mulab.local'
2024/06/04 15:38:53:Started exiting maintenance mode for host 'esxi8-c2.mulab.local'
2024/06/04 15:38:53:Completed rebooting host 'esxi8-c2.mulab.local'
2024/06/04 15:36:53:Started to reboot host 'esxi8-c2.mulab.local'
2024/06/04 15:36:53:Completed installing the image on host 'esxi8-c2.mulab.local'
2024/06/04 15:35:52:Started to install the image on host 'esxi8-c2.mulab.local'
2024/06/04 15:35:52:Started to install the image on host 'esxi8-c2.mulab.local'
2024/06/04 15:35:52:Completed entering maintenance mode for host 'esxi8-c2.mulab.local'
2024/06/04 15:35:33:Started to enter maintenance mode for host 'esxi8-c2.mulab.local'
2024/06/04 15:35:27:Starting remediation of the host 'esxi8-c2.mulab.local'
2024/06/04 15:35:27:Completed getting host recommendation from DRS to enter maintenance mode for cluster 'vsan8-hci-esa'. Selected host: 'esxi8-c2.mulab.local'.
2024/06/04 15:35:19:Started getting host recommendation from DRS to enter maintenance mode for cluster 'vsan8-hci-esa'.
2024/06/04 15:35:19:Finished remediation of the host 'esxi8-c4.mulab.local'
2024/06/04 15:35:19:Finished compliance check for host 'esxi8-c4.mulab.local'
2024/06/04 15:34:53:Started compliance check for host 'esxi8-c4.mulab.local'
2024/06/04 15:34:49:Completed exiting maintenance mode for host 'esxi8-c4.mulab.local'
2024/06/04 15:34:30:Started exiting maintenance mode for host 'esxi8-c4.mulab.local'
2024/06/04 15:34:30:Completed rebooting host 'esxi8-c4.mulab.local'
2024/06/04 15:32:30:Started to reboot host 'esxi8-c4.mulab.local'
2024/06/04 15:32:30:Completed installing the image on host 'esxi8-c4.mulab.local'
2024/06/04 15:31:29:Started to install the image on host 'esxi8-c4.mulab.local'
2024/06/04 15:31:29:Started to install the image on host 'esxi8-c4.mulab.local'
2024/06/04 15:31:29:Completed entering maintenance mode for host 'esxi8-c4.mulab.local'
2024/06/04 15:31:09:Started to enter maintenance mode for host 'esxi8-c4.mulab.local'
2024/06/04 15:31:02:Starting remediation of the host 'esxi8-c4.mulab.local'
2024/06/04 15:31:02:Completed getting host recommendation from DRS to enter maintenance mode for cluster 'vsan8-hci-esa'. Selected host: 'esxi8-c4.mulab.local'.
2024/06/04 15:30:54:Started getting host recommendation from DRS to enter maintenance mode for cluster 'vsan8-hci-esa'.
2024/06/04 15:30:54:Finished remediation of the host 'esxi8-c3.mulab.local'
2024/06/04 15:30:54:Finished compliance check for host 'esxi8-c3.mulab.local'
2024/06/04 15:30:27:Started compliance check for host 'esxi8-c3.mulab.local'
2024/06/04 15:30:23:Completed exiting maintenance mode for host 'esxi8-c3.mulab.local'
2024/06/04 15:30:04:Started exiting maintenance mode for host 'esxi8-c3.mulab.local'
2024/06/04 15:30:04:Completed rebooting host 'esxi8-c3.mulab.local'
2024/06/04 15:27:54:Started to reboot host 'esxi8-c3.mulab.local'
2024/06/04 15:27:54:Completed installing the image on host 'esxi8-c3.mulab.local'
2024/06/04 15:26:53:Started to install the image on host 'esxi8-c3.mulab.local'
2024/06/04 15:26:53:Started to install the image on host 'esxi8-c3.mulab.local'
2024/06/04 15:26:53:Completed entering maintenance mode for host 'esxi8-c3.mulab.local'
2024/06/04 15:26:38:Started to enter maintenance mode for host 'esxi8-c3.mulab.local'
2024/06/04 15:26:33:Starting remediation of the host 'esxi8-c3.mulab.local'
2024/06/04 15:26:33:Completed getting host recommendation from DRS to enter maintenance mode for cluster 'vsan8-hci-esa'. Selected host: 'esxi8-c3.mulab.local'.
2024/06/04 15:26:24:Started getting host recommendation from DRS to enter maintenance mode for cluster 'vsan8-hci-esa'.
2024/06/04 15:26:24:Finished remediation of the host 'esxi8-c1.mulab.local'
2024/06/04 15:26:24:Finished compliance check for host 'esxi8-c1.mulab.local'
2024/06/04 15:25:58:Started compliance check for host 'esxi8-c1.mulab.local'
2024/06/04 15:25:53:Completed exiting maintenance mode for host 'esxi8-c1.mulab.local'
2024/06/04 15:25:34:Started exiting maintenance mode for host 'esxi8-c1.mulab.local'
2024/06/04 15:25:34:Completed rebooting host 'esxi8-c1.mulab.local'
2024/06/04 15:23:24:Started to reboot host 'esxi8-c1.mulab.local'
2024/06/04 15:23:24:Completed installing the image on host 'esxi8-c1.mulab.local'
2024/06/04 15:22:23:Started to install the image on host 'esxi8-c1.mulab.local'
2024/06/04 15:22:23:Started to install the image on host 'esxi8-c1.mulab.local'
2024/06/04 15:22:23:Completed entering maintenance mode for host 'esxi8-c1.mulab.local'
2024/06/04 15:22:08:Started to enter maintenance mode for host 'esxi8-c1.mulab.local'
2024/06/04 15:22:02:Starting remediation of the host 'esxi8-c1.mulab.local'
2024/06/04 15:22:02:Completed getting host recommendation from DRS to enter maintenance mode for cluster 'vsan8-hci-esa'. Selected host: 'esxi8-c1.mulab.local'.
2024/06/04 15:21:53:Started getting host recommendation from DRS to enter maintenance mode for cluster 'vsan8-hci-esa'.
2024/06/04 15:21:53:Finished remediation of the host 'esxi8-b2.mulab.local'
2024/06/04 15:21:53:Finished compliance check for host 'esxi8-b2.mulab.local'
2024/06/04 15:21:27:Started compliance check for host 'esxi8-b2.mulab.local'
2024/06/04 15:21:23:Completed exiting maintenance mode for host 'esxi8-b2.mulab.local'
2024/06/04 15:21:03:Started exiting maintenance mode for host 'esxi8-b2.mulab.local'
2024/06/04 15:21:03:Completed rebooting host 'esxi8-b2.mulab.local'
2024/06/04 15:18:52:Started to reboot host 'esxi8-b2.mulab.local'
2024/06/04 15:18:52:Completed installing the image on host 'esxi8-b2.mulab.local'
2024/06/04 15:17:52:Started to install the image on host 'esxi8-b2.mulab.local'
2024/06/04 15:17:52:Started to install the image on host 'esxi8-b2.mulab.local'
2024/06/04 15:17:52:Completed entering maintenance mode for host 'esxi8-b2.mulab.local'
2024/06/04 15:17:30:Started to enter maintenance mode for host 'esxi8-b2.mulab.local'
2024/06/04 15:17:23:Starting remediation of the host 'esxi8-b2.mulab.local'
2024/06/04 15:17:23:Completed getting host recommendation from DRS to enter maintenance mode for cluster 'vsan8-hci-esa'. Selected host: 'esxi8-b2.mulab.local'.
2024/06/04 15:17:15:Started getting host recommendation from DRS to enter maintenance mode for cluster 'vsan8-hci-esa'.
2024/06/04 15:17:15:Finished remediation of the host 'esxi8-b3.mulab.local'
2024/06/04 15:17:15:Finished compliance check for host 'esxi8-b3.mulab.local'
2024/06/04 15:16:49:Started compliance check for host 'esxi8-b3.mulab.local'
2024/06/04 15:16:45:Completed exiting maintenance mode for host 'esxi8-b3.mulab.local'
2024/06/04 15:16:26:Started exiting maintenance mode for host 'esxi8-b3.mulab.local'
2024/06/04 15:16:25:Completed rebooting host 'esxi8-b3.mulab.local'
2024/06/04 15:14:25:Started to reboot host 'esxi8-b3.mulab.local'
2024/06/04 15:14:25:Completed installing the image on host 'esxi8-b3.mulab.local'
2024/06/04 15:13:30:Started to install the image on host 'esxi8-b3.mulab.local'
2024/06/04 15:13:30:Started to install the image on host 'esxi8-b3.mulab.local'
2024/06/04 15:13:30:Completed entering maintenance mode for host 'esxi8-b3.mulab.local'
2024/06/04 15:13:08:Started to enter maintenance mode for host 'esxi8-b3.mulab.local'
2024/06/04 15:13:01:Starting remediation of the host 'esxi8-b3.mulab.local'
2024/06/04 15:13:01:Completed getting host recommendation from DRS to enter maintenance mode for cluster 'vsan8-hci-esa'. Selected host: 'esxi8-b3.mulab.local'.
2024/06/04 15:12:53:Started getting host recommendation from DRS to enter maintenance mode for cluster 'vsan8-hci-esa'.
2024/06/04 15:12:53:Finished remediation of the host 'esxi8-b4.mulab.local'
2024/06/04 15:12:53:Finished compliance check for host 'esxi8-b4.mulab.local'
2024/06/04 15:12:32:Started compliance check for host 'esxi8-b4.mulab.local'
2024/06/04 15:12:27:Completed exiting maintenance mode for host 'esxi8-b4.mulab.local'
2024/06/04 15:12:09:Started exiting maintenance mode for host 'esxi8-b4.mulab.local'
2024/06/04 15:12:09:Completed rebooting host 'esxi8-b4.mulab.local'
2024/06/04 15:10:08:Started to reboot host 'esxi8-b4.mulab.local'
2024/06/04 15:10:08:Completed installing the image on host 'esxi8-b4.mulab.local'
2024/06/04 15:09:08:Started to install the image on host 'esxi8-b4.mulab.local'
2024/06/04 15:09:08:Started to install the image on host 'esxi8-b4.mulab.local'
2024/06/04 15:09:08:Completed entering maintenance mode for host 'esxi8-b4.mulab.local'
2024/06/04 15:08:52:Started to enter maintenance mode for host 'esxi8-b4.mulab.local'
2024/06/04 15:08:43:Starting remediation of the host 'esxi8-b4.mulab.local'
2024/06/04 15:08:43:Completed getting host recommendation from DRS to enter maintenance mode for cluster 'vsan8-hci-esa'. Selected host: 'esxi8-b4.mulab.local'.
2024/06/04 15:08:31:Started getting host recommendation from DRS to enter maintenance mode for cluster 'vsan8-hci-esa'.
2024/06/04 15:08:31:Finished remediation of the host 'esxi8-b1.mulab.local'
2024/06/04 15:08:31:Finished compliance check for host 'esxi8-b1.mulab.local'
2024/06/04 15:08:04:Started compliance check for host 'esxi8-b1.mulab.local'
2024/06/04 15:08:00:Completed exiting maintenance mode for host 'esxi8-b1.mulab.local'
2024/06/04 15:07:40:Started exiting maintenance mode for host 'esxi8-b1.mulab.local'
2024/06/04 15:07:40:Completed rebooting host 'esxi8-b1.mulab.local'
2024/06/04 15:05:39:Started to reboot host 'esxi8-b1.mulab.local'
2024/06/04 15:05:39:Completed installing the image on host 'esxi8-b1.mulab.local'
2024/06/04 15:04:39:Started to install the image on host 'esxi8-b1.mulab.local'
2024/06/04 15:04:39:Started to install the image on host 'esxi8-b1.mulab.local'
2024/06/04 15:04:39:Completed entering maintenance mode for host 'esxi8-b1.mulab.local'
2024/06/04 15:04:22:Started to enter maintenance mode for host 'esxi8-b1.mulab.local'
2024/06/04 15:04:16:Starting remediation of the host 'esxi8-b1.mulab.local'
2024/06/04 15:04:16:Completed getting host recommendation from DRS to enter maintenance mode for cluster 'vsan8-hci-esa'. Selected host: 'esxi8-b1.mulab.local'.
2024/06/04 15:04:08:Started getting host recommendation from DRS to enter maintenance mode for cluster 'vsan8-hci-esa'.
2024/06/04 15:04:02:Finished compliance check for cluster 'vsan8-hci-esa'
2024/06/04 15:03:17:Started compliance check for cluster 'vsan8-hci-esa'
完成修复。
最后,检查一下 vSAN Skyline Health 运行状况,确保没有不正常的条目。
从 vSphere 8.0 开始,可以使用映像管理
vCenter Server
清单中独立
ESXi
主机的生命周期,但是要求 vCenter Server 版本为 vCenter 8.0 U1及以上,才可以使用
vSphere Client
和 vSphere Automation API 管理独立主机的生命周期。
独立主机是连接到
vCenter Server
实例但不属于任何集群的主机,清单位于数据中心或者主机文件夹中的主机。通过添加主机向导将独立主机加入到数据中心,这个过程可以设置主机由通过vLCM基于 “映像”的方式来管理主机的生命周期。
或者等添加独立主机到vCenter站点后,再手动设置主机的映像,不然独立主机默认使用基于“基准”的方式管理主机的生命周期。与集群的生命周期管理设置一样,一旦配置了主机的映像则不能再转换成基于基准的管理方式。
其实,上面在对vSAN 延伸集群的见证主机的更新时已经做过独立主机的管理了,不过管理独立的vSAN 见证主机要求vCenter版本是vCenter 8.0 U2及以上。管理独立主机的生命周期与管理vSAN 见证主机的生命周期一样,配置独立主机的映像与配置集群主机的映像方式一样,下面就不再累述了。
当前环境准了一台嵌套环境的独立主机,主机的ESXi版本是8.0 GA,内部版本号 20513097,同时单独导入了一个脱机映像到映像库,版本 ESXi 8.0 U1d(VMware-ESXi-8.0U1d-23299997-depot.zip),为这台独立主机配置一个独立的映像。
转到独立主机-更新-主机-映像,点击“手动设置映像”,选择ESXi 版本为我们新上传的映像,由于是嵌套环境所以无需定义供应商加载项和独立组件,点击“验证”映像的可用性,保存映像定义。
点击完成映像设置。
点击转储。
点击运行预检查。
点击修复并开始修复。
修复过程(倒序)。
2024/06/04 17:13:29:Started exiting maintenance mode for host 'esxi.mulab.local'
2024/06/04 17:13:29:Completed rebooting host 'esxi.mulab.local'
2024/06/04 17:13:29:Failed to reboot Host 'esxi.mulab.local' through Quick Boot after remediation. The reason is: 'rebooting is not through quick boot'
2024/06/04 17:11:28:Started to reboot host 'esxi.mulab.local'
2024/06/04 17:11:28:Finished remediation of the host 'esxi.mulab.local'
2024/06/04 17:10:38:Starting remediation of the host 'esxi.mulab.local'
2024/06/04 17:10:38:Completed entering maintenance mode for host 'esxi.mulab.local'
2024/06/04 17:10:37:Started to enter maintenance mode for host 'esxi.mulab.local'
2024/06/04 17:10:37:Completed staging the image on host 'esxi.mulab.local'
2024/06/04 17:10:12:Started to stage the image on host 'esxi.mulab.local'
2024/06/04 17:10:04:Finished compliance check for host 'esxi.mulab.local'
2024/06/04 17:09:39:Started compliance check for host 'esxi.mulab.local'
完成修复。
在vCenter 站点级别检查独立主机的合规性。
使用 vSphere Lifecycle Manger(vLCM)也可以管理虚拟机的生命周期,如虚拟机硬件版本和VMware Tools。当前环境准备了一个CentOS虚拟机,虚拟机版本和Tools版本如下图所示。注意,执行以下操作并不是必选项,并且有很多注意细节,需自行评估是否要进行变更。
点击虚拟机的更新栏,可以查看虚拟机的当前环境状态,提示“可升级”。
点击升级 VMware Tools 以匹配主机,可以看到 虚拟机 在vLCM中的默认回滚配置选项。
点击升级后,虚拟机的VMware tools 显示状态为最新版本。
转到虚拟机“快照”,已在升级前由vLCM自动创建快照并在一小时后自动删除。
点击升级虚拟机硬件以匹配主机。
虚拟机的硬件兼容性状态已显示为最新版本。
转到虚拟机“快照”,已在升级前由vLCM自动创建快照并在一小时后自动删除。
转到虚拟机摘要,虚拟机硬件版本和VMware Tools都已更新。
参考:
《VMware vSphere Lifecycle Manager 产品文档》