获取验证码
ESXi的自定义镜像怎么去创建呢?其实非常简单的,下面带大家使用 vSphere 8 的 vSphere 生命周期管理器(vLCM)界面和 PowerCLI 命令去创建,方法非常简单一学就会。
我现在越来越多地使用 vSphere Lifecycle Manager(vLCM,vSphere 生命周期管理器),尤其是升级到 vSphere 8 之后,因为它将成为未来 vSphere 镜像与配置管理的核心生命周期管理方案。
另一个使用 vLCM 的原因是:vSphere 8 中已经弃用了 vSphere Update Manager(VUM)的基线(baselines)。虽然目前还能临时使用,但未来 VUM 及其相关功能会被彻底移除,包括 vSphere Image Builder 在内的所有相关流程,都应该迁移到 vLCM。
如今用户最常见、最基础的一个需求,就是创建包含额外驱动的自定义 ESXi 镜像(ISO 或离线包)。
vLCM 对很多人(包括我自己)来说还比较新,所以我想分享一下如何通过 vLCM 界面(操作逻辑有点不直观)以及刚发布的 PowerCLI 新命令(PowerCLI 13.0 版本,已支持 vLCM 和 vSphere 8)来制作自定义 ESXi 镜像。
一、vLCM 界面操作方法
步骤 1
在 vSphere 界面左上角,进入 Lifecycle Manager。
如果你需要把新驱动导入 vLCM 仓库,点击:
Actions → Import Updates,然后选择要上传的 ESXi 组件驱动(ZIP 文件)。

步骤 2
vLCM 是基于 vSphere 集群 工作的,所以我们先创建一个 **“临时 / 测试集群”**,专门用来定义自定义 ESXi 镜像。
确保勾选:
“使用单一镜像管理集群内所有主机”
这会启用 vLCM,然后选择 “Compose a new image(创建新镜像)”。

接下来为集群指定 ESXi 基础镜像,选择 ESXi 8.0 或你需要的版本。
步骤 3
创建集群时不能直接添加额外驱动组件,必须在集群创建完成后再添加。
如需添加额外的 ESXi 组件 / 驱动:
点击该 vSphere 集群
进入 Updates → Hosts → Image
点击 Edit(编辑)
在这里可以添加厂商固件和驱动附加组件,下方会显示 Components(组件)。
点击 Add Components(添加组件),从 vLCM 仓库里选择要加入到 ESXi 基础镜像中的驱动 / 组件。

步骤 4
最后导出我们做好的自定义 ESXi 镜像:
点击右上角 三个点 → Export(导出)。

你可以选择导出 ISO 或 离线 ZIP 包,和现在的 vSphere Image Builder 用法类似。

到这里,你就通过 vLCM 得到了新的自定义 ESXi ISO。
二、vLCM PowerCLI 命令行方法
步骤 0
如果需要把新驱动导入 vLCM 仓库,目前新版 vLCM PowerCLI 命令还不支持导入,必须先在 vLCM 界面里完成导入。
步骤 1
使用 Connect-VIServer 命令连接 vCenter Server:
Connect-VIServer -Server vcsa.primp-industries.local -user [email protected]
步骤 2
定义要使用的 ESXi 基础镜像名称和组件。
你可以使用新命令 Get-LcmImage,通过 -Type 参数过滤 BaseImage 或 Component,来获取具体名称 / 版本并赋值给变量。
$datacenterName = "Primp-Datacenter" $clusterName = "vLCM-Dummy-Cluster" $esxiImageName = "8.0 GA - 20513097" $esxiComponentName = "VMware USB NIC Fling Driver" $esxiComponentVersion = "1.11-1vmw"
步骤 3
使用上面定义的变量,通过 Get-LcmImage 从 vLCM 仓库中获取 ESXi 基础镜像和组件,并保存到新变量中,供下一步使用。
$esxiBaseImage = Get-LcmImage -Type BaseImage -Version $esxiImageName
$esxiComponent = Get-LcmImage -Type Component | where {
$_.Name -eq $esxiComponentName -and
$_.Version -eq $esxiComponentVersion
}步骤 4
接下来创建临时集群,并关联 ESXi 基础镜像。
集群创建完成后,更新配置以关联额外的 ESXi 组件,最后使用 Export-LcmClusterDesiredState 导出为 ISO。
New-Cluster -Name $clusterName -BaseImage $esxiBaseImage -Location (Get-Datacenter -Name $datacenterName) Get-Cluster -Name $clusterName | Set-Cluster -Component @($esxiComponent) -BaseImage $esxiBaseImage -Confirm:$false Export-LcmClusterDesiredState -Cluster (Get-Cluster -Name $clusterName) -ExportIsoImage
执行完成后,你会在导出目录看到与集群同名的:
ISO 文件
JSON 描述文件
到这里,你就可以使用通过 vLCM 制作的新 ESXi ISO 了。
总结
希望这篇文章能帮你快速理解如何创建自定义 ESXi 镜像。
我个人非常喜欢 vLCM 构建自定义镜像的简洁逻辑:
先选定 ESXi 版本 → 再叠加厂商固件 / 附加组件 → 最后添加额外驱动组件。
在我看来,vLCM 界面相比现有的 vSphere Image Builder 是一个非常受欢迎的改进 ——Image Builder 步骤还是太多,比如必须先克隆一个镜像配置文件才能构建新镜像。