ESXi通常提供默认配置,包括特定版本的标准化驱动程序和软件工具集。这些工具和驱动程序因ESXi版本的不同而有所不同。在运行ESXi主机时,您可能需要为安装的硬件安装额外的驱动程序,安装软件,或更新软件组件或驱动程序。在这种情况下,您需要安装ESXi上的VIB文件。本文档介绍VMware VIB文件,并解释如何安装和管理它们。
什么是VIB?
ESXi的VIB文件(vSphere安装捆绑文件)是VMware用于分发ESXi主机的软件和更新的一种软件包格式。VIB文件可以包含驱动程序、管理代理、第三方应用程序或补丁。它们是ESXi软件的构建块,用于扩展ESXi主机的功能或修补和更新它们。与用于Debian Linux的安装包.deb文件和用于Red Hat Linux的安装包.rpm文件类似,.vib文件是ESXi的安装包。
VIB包的关键组成部分包括:
- 描述文件定义了VIB的元数据,如其名称、版本、供应商和接受级别。描述文件以XML格式提供。
- 签名文件确保VIB的完整性和真实性。
- 有效负载文件(多个)包含将安装在ESXi主机上的实际软件或驱动程序文件。
VIB文件的类型
在VMware环境中,有多种类型的VIB文件:
- 工具VIBs用于在虚拟机上安装或更新VMware工具。
- 驱动VIBs为ESXi主机提供硬件驱动程序,如网络或存储驱动程序。
- 修补程序和更新VIBs用于通过安全修补程序、错误修复和新功能来更新ESXi操作系统。
- 应用程序VIBs允许您在ESXi主机上安装第三方应用程序或管理代理。
接受级别
VMware将VIBs分为四个接受级别:
- VMware认证:由VMware测试和认证。
- VMware接受:由VMware合作伙伴测试和接受;VMware可能进行一些验证测试。
- 合作伙伴支持:由VMware合作伙伴测试和支持;VMware不验证测试结果。
- 社区支持:由个人或社区开发者创建,不由VMware或合作伙伴正式支持。
您可以使用以下命令检查接受级别:
esxcli software acceptance get
ESXi 8中VIB文件格式的变化
对于ESXi 8.0之前的版本,VIB格式基本保持不变。在VMware vSphere 8.0中,开发人员引入了影响为软件安装和ESXi配置创建自己VIB文件的更改。新的VIB规范要求在XML描述符中包含SHA-256校验和。
VIB相关对象
相关的VIB文件对象存在于ESXi上,可用于更有效、更顺畅地安装和管理ESXi软件组件。软件仓库和镜像配置文件与VIB文件相关。让我们探究它们是什么。
软件仓库
软件仓库是一个包含VIB文件集、元数据和镜像配置文件的存储库。有两种类型的软件仓库:
- 在线仓库托管在远程服务器上,通过互联网访问。VMware和硬件供应商通常提供包含驱动程序、补丁和更新的在线仓库。
- 离线仓库是一个将VIB文件和元数据打包在单个ZIP文件中的集合。在没有互联网连接或为了在受控环境中方便使用时,可以下载并使用它。
软件仓库简化了在ESXi主机上管理和部署软件更新和驱动程序的过程。它们作为获取必要VIB文件以供安装和更新的中央来源。
您可以列出可用的软件仓库:
esxcli software sources profile list --depot=https://hosted.depot.url/index.xml
镜像配置文件
镜像配置文件是一组VIB文件,它定义了ESXi主机的软件堆栈。它指定了基础的ESXi镜像以及任何附加的驱动程序、补丁或更新。镜像配置文件用于标准化ESXi主机的安装和配置,确保数据中心的一致性。
每个镜像配置文件包含以下组件/属性:
- 基础镜像 – 核心ESXi软件
- 附加VIBs – 驱动程序、补丁和第三方软件
- 接受级别 – 指定包含VIBs的信任级别(例如,VMware认证,VMware接受,合作伙伴支持,社区支持)。
要列出镜像配置文件中可用的VIB文件,您可以使用如下命令:
esxcli software profile get --profile-name=配置文件名
VIB文件的关系
VIB文件是软件仓库和镜像配置文件的基本组件。理解它们与VIB文件的关系很重要。这种认识有助于在ESXi上安装VIB软件包时减少潜在错误。
仓库存储VIB文件以及描述它们的元数据。访问软件仓库时,本质上是在访问可以用于安装、打补丁或更新ESXi主机的VIB文件集合。
镜像配置文件是从一个或多个软件仓库中精心挑选的VIB文件集合。它定义了要在ESXi主机上安装的确切VIB集,确保主机具有满足特定操作需求的驱动程序、更新和软件。
VIB安装要求
要在ESXi上正确安装VIB文件,您应该满足以下VIB要求:
- 确保VIB与主板上安装的ESXi版本兼容。兼容性信息通常可以在VIB文档或供应商的网站上找到。
- 对于某些VIB安装,ESXi主机可能需要进入维护模式,以防止对运行中的虚拟机造成干扰并允许系统更改。
- 从可信且验证的来源获取VIB,以避免安全风险。VIB必须与或高于主机的接受级别(VMwareCertified、VMwareAccepted、PartnerSupported、CommunitySupported)。如果需要,可以调整接受级别。
- 在ESXi主机上启用SSH,以允许远程命令行访问。可以通过ESXi网页界面或DCUI(直接控制台用户界面)启用SSH。
- 确保VIB所需的任何依赖项已经安装或可在仓库中找到。检查与主机上现有VIB的冲突。在继续安装之前解决任何冲突。
- 验证ESXi主机上有足够的磁盘空间来容纳新VIB。
- 备份ESXi主机配置,如果安装导致问题,则恢复它。这个的基本命令是
vim-cmd hostsvc/firmware/backup_config
如何安装VIB包
让我们在ESXi上安装VIB文件并概述安装步骤。首先,我们涵盖了安装VIB的一般步骤,然后转到具体的安装示例。
- 在ESXi上启用SSH。
- 要在VMware Host Client的Web界面中启用SSH访问,请转到主机>操作>服务 > 启用安全外壳(SSH)。
- 要在DCUI中启用远程SSH访问,请转到故障排除选项>启用SSH。
- 上传.vib文件或包含.vib文件的.zip压缩包到ESXi主机的数据存储中。您可以通过SSH的SFTP或SCP客户端来完成此操作,或者在VMware Host Client和VMware vSphere Client的网页界面中进行。
在VMware Host Client中上传.vib文件,请转到数据存储>选择您的数据存储>数据存储浏览器,进入特定目录,并点击上传。在这个例子中,我们将压缩的VIB文件上传到了/vmfs/volumes/datastore50/vib。您可以将.zip压缩包和.vib文件上传到共享数据存储,以便在多个ESXi主机上安装VIB软件包更容易。
- 在SSH客户端中连接到ESXi主机。在Windows中,您可以使用PuTTY。在Linux中,使用如下命令:
ssh esxi_ip_address
在我们的情况下,命令是:
ssh 192.168.101.31
- 检查ESXi主机上安装了哪些VIB包:
esxcli software vib list
您可以从硬件供应商的网站或VMware网站下载所需的VIB文件。VIB包通常以ZIP归档的形式提供,您可以使用ZIP归档来安装VIB。
示例1:安装软件
让我们通过一个实际例子来安装运行ESXi的PowerEdge服务器上的DELL提供的iDRAC服务模块。
虽然并非所有包都需要这样做,但建议将ESXi主机进入维护模式。
- 如果VIB包需要维护模式,请使用以下命令:
vim-cmd hostsvc/maintenance_mode_enter
您可以通过VMware vSphere Client或VMware Host Client的Web界面将ESXi主机进入维护模式。
注意:在本例中使用的iDRAC服务模块包不需要使用维护模式和ESXi重启。
- 前往ESXi数据存储上存储您VIB文件的目录,并检查此目录中的文件:
cd /vmfs/volumes/datastore50/vib
ls -al
- 要安装 VIB 包,请运行以下命令:
esxcli software vib install -d <路径到zip或vib文件>
在我们的示例中,确切命令是:
esxcli software vib install -d /vmfs/volumes/datastore50/vib/ISM-Dell-Web-5.0.1.0-2951.VIB-ESX8i-Live_A00.zip
如果 VIB 包位于远程服务器上,请使用以下命令:
esxcli software vib install -v http://url_to_vib/vib_file.vib
在安装 VIB 到 ESXi 主机的命令末尾,使用 ––dry-run 选项可以模拟安装过程,而不会对系统做出任何实际更改。它允许您查看如果执行命令会发生什么,包括任何潜在的冲突或依赖关系受到影响。
使用 ––dry-run 选项在生产环境中特别有用,以避免意外的中断并减少停机时间。它允许您验证安装新软件组件的影响,并确保您的系统保持稳定和运行。
- 验证 VIB 文件的安装:
esxcli software vib list | grep vib_name
示例 2:安装更新
在此示例中,我们将通过使用下载的 VIB 包将 ESXi 8.0 Update 1 (8.0.1) 更新到 ESXi 8.0 Update 2 (8.0.2)。此工作流程与示例 1 中解释的工作流程不同。
- 进入维护模式:
vim-cmd hostsvc/maintenance_mode_enter
- 要更新或升级ESXi,请使用ESXi更新配置文件,而不是vib install命令:
esxcli software sources profile list --depot=file:///vmfs/volumes/datastore50/vib/VMware-ESXi-8.0U2-22380479-depot.zip
- 运行更新ESXi的命令:
esxcli software profile update --depot=file:///vmfs/volumes/datastore50/vib/VMware-ESXi-8.0U2-22380479-depot.zip --profile=ESXi-8.0U2-22380479-standard
如我们在输出中看到的,需要重新启动ESXi服务器。
- 运行重新启动ESXi主机的命令。
reboot
- 安装VIB文件中提供的更新后,检查ESXi版本:
vmware -v
输出为:
VMware ESXi 8.0.2 build-22380479
- 如果您使用了正确的方法,那么ESXi版本必须与ESXi配置文件版本相匹配,您可以通过以下命令进行检查:
esxcli software profile get
- 退出维护模式:
vim-cmd hostsvc/maintenance_mode_exit
更新VIB
VIB更新操作用于更新ESXi主机上安装的VIB(vSphere安装包)。如果可用,此命令将用新版本的VIB替换现有VIB,确保ESXi主机运行软件组件的最新和最安全版本。
vib update
命令检查ESXi主机上的当前VIB版本,并将其与指定仓库(可以是在线或离线仓库)中的版本进行比较。如果找到新版本,该命令将用更新后的VIB替换现有的VIB。
VIB更新对于以下情况至关重要:
- 打补丁。应用安全补丁以修复软件中的漏洞。
- 功能增强。更新软件以包括新功能或改进。
- 修复漏洞。解决当前软件版本已知的漏洞和问题。
- 驱动程序更新。确保硬件组件(如网络卡或存储控制器)具有最新的驱动程序,以实现最佳性能和兼容性。
VIB 更新的命令如下:
esxcli software vib update [选项]
选项包括:
––depot=
––vibname=
––dry-run 模拟更新过程,不进行任何实际更改。这有助于在实际应用更改之前验证将会更新什么。
––profile=
以下是一些使用 vib update
命令的示例。
- 从离线仓库更新所有 VIB:
esxcli software vib update --depot=/path/to/offline-depot.zip
- 更新特定 VIB:
esxcli software vib update --depot=/path/to/offline-depot.zip --vibname=example-vib
- 从在线仓库更新所有 VIB:
esxcli 软件 vib 更新 --仓库=http://hosted.depot.url/index.xml
- 模拟更新过程:
esxcli 软件 vib 更新 --仓库=/path/to/offline-depot.zip --干运行
卸载 VIB
卸载之前安装在 ESXi 主机上的 VIB 包可以通过几个步骤完成。
- 通过 SSH 客户端以 SSH 方式连接到 ESXi 主机。
- 列出已安装的 VIB 包以确定要卸载的包的名称:
esxcli 软件 vib 列表
- 使用以下命令卸载所需的 VIB 包:
esxcli 软件 vib 移除 --vibname=package_name.vib
错误和故障排除
在 ESXi 主机上安装 VIB 包时可能会出现多种错误。这些错误通常与依赖项、冲突或系统兼容性有关。
证书错误
无法找到可信的签名者:无法获取本地发行者证书。
设置允许您跳过证书检查的属性,使用––no-sig-check关键字:
esxcli software vib install -v /tmp/filename.vib --no-sig-check
或者,在运行vib install
命令之前,通过更改接受级别来启用包的安装:
esxcli software acceptance set --level=CommunitySupported
依赖错误
找不到可信的签署者。
VIB包需要其他不在ESXi主机上的VIB。请确保所有必需的依赖项在指定的仓库中可用,或者首先安装所需的依赖项。
esxcli software vib install --depot=/path/to/dependency-depot.zip
冲突错误
VIB
VIB包与已安装的VIB冲突。在安装新VIB之前,请移除冲突的VIB。
esxcli software vib remove --vibname=conflicting_vib
esxcli software vib install --depot=/path/to/new_vib_depot.zip
VIB安装最佳实践
遵循最佳实践来在ESXi主机上安装和管理VIB包,以降低出错的可能性:
- 验证兼容性。始终检查VIB与您的ESXi主版本之间的兼容性。检查VIB安装是否需要将ESXi主机关入维护模式并重新启动ESXi,因为这可能会影响运行中的虚拟机。
- 备份配置。在安装或更新VIB之前,考虑备份您的ESXi主机配置。
- 在非生产环境中测试。如果可能,请在非生产环境中测试VIB安装,以防止干扰。首先在非生产或预演环境中测试VIB安装、更新和删除。这有助于在影响生产系统之前识别任何潜在问题。
- 监控系统日志。使用ESXi系统日志来监控和解决安装问题。
- 监控系统健康。在安装或更新VIB后,持续监控您的VMware ESXi主机,包括性能和健康情况,以便快速检测并解决任何问题。为与VIB操作相关的任何错误或警告设置日志监控和警报。
结论
VIB文件是用于安装驱动程序、软件以及其他ESXi组件以及更新它们的软件包。管理VIB包的大部分操作都在ESXi命令行界面执行,可通过SSH访问。
确保您使用专用的备份解决方案来保护您的ESXi主机和虚拟机,以防停机和数据丢失。NAKIVO Backup & Replication是一款全面的VMware环境数据保护解决方案,为ESXi VM提供备份、灾难恢复、实时复制和IT监控功能。
Source:
https://www.nakivo.com/blog/instal-vib-files-on-esxi/