使用“esxcli software vib”命令更新ESXi 主机补丁和升级系统
本文概述了使用 esxcli software vib 命令从命令行在 ESXi 7.x 主机上安装修补程序的过程。
- 有关在 ESXi 主机上安装 VIB 的详细信息,请参见 Update a Host with Individual VIBs
- 还可以使用 esxcli software profile 命令安装修补程序。有关详细信息,请参见 Upgrade or Update a Host with Image Profiles 中的“vSphere 命令行界面参考”部分
- 要使用 Update Manager 修补 ESXi 主机,请参见以下知识库文章:
- Updating an ESXi host using VMware vCenter Update Manager (1019545)
要使用命令行修补 ESXi 主机,请执行以下操作:
- VMware 产品的修补程序可从 VMware Patch Portal 获取。从产品下拉菜单中选择 ESXi(嵌入式和可安装),然后单击搜索。
- 单击修补程序版本名称下的下载链接,将修补程序下载到系统中。
- 从 vCenter Server 使用数据存储浏览器或通过使用 vSphere Web Client 与 ESXi 6.x/7.x 主机直接连接,将修补程序上载至 ESXi 6.x/7.x 主机中的数据存储。
注意:VMware 建议在数据存储中创建一个新目录并将修补程序文件上载至此目录。 - 登录到 ESXi 6.x/7.x 主机的本地技术支持模式控制台。有关详细信息,请参见 Using ESXi Shell in ESXi 6.x and 7.x (2004746)。
- 迁移主机上正在运行的虚拟机或关闭它们的电源,将主机置于维护模式。运行以下命令,确认主机是否处于维护模式:
vim-cmd /hostsvc/hostsummary | grep inMaintenanceMode - 要进入维护模式,请运行以下命令:# vim-cmd /hostsvc/maintenance_mode_enter
- 导航到数据存储中上载的修补程序文件所在的目录,然后运行以下命令验证该文件是否存在:
cd /vmfs/volumes/Datastore/DirectoryName
ls
其中,Datastore 是上载的修补程序文件所在的数据存储名称,DirectoryName 是您在数据存储上创建的目录。 - 使用以下 esxcli 命令在主机上安装或更新修补程序:
注意:
要安装或更新 .zip 文件,请使用 -d 选项。要安装或更新 .vib 文件,请使用 -v 选项。建议使用更新命令应用修补程序。使用此命令会应用修补程序中所有更新的内容,包括所有安全修复。不会应用版本低于系统中现有软件包版本的修补程序的内容。使用 install 命令会使用您正在安装的修补程序的内容覆盖系统中现有的软件包,包括安装新软件包和移除旧软件包。Install 命令可能会降级系统中的软件包,应谨慎使用。当设置了 --allow-downgrade 标记时,如果需要,可使用 install 命令降级系统(仅适用于映像配置文件)。
使用 install 命令会使用您正在安装的修补程序的内容覆盖系统中现有的软件包,包括安装新软件包和移除旧软件包。Install 命令可能会降级系统中的软件包,应谨慎使用。当设置了 --allow-downgrade 标记时,如果需要,可使用 install 命令降级系统(仅适用于映像配置文件)。 注意:安装方法可能会覆盖现有的驱动程序。如果使用第三方 ESXi 映像或 ESXi 主机属于 vSAN 集群,那么 VMware 建议使用更新方法以防止出现无法引导状态或 vSAN 节点不再为集群提供存储的情况。 要进行安装,请执行以下操作: 使用本地设置:
esxcli software vib install -d "/vmfs/volumes/Datastore/DirectoryName/PatchName.zip"
其中,PatchName.zip 是您上载到数据存储的修补程序文件的名称。
注意:或者,也可以使用数据存储的 UUID,而不使用 DirectoryName。
例如:
esxcli software vib install -d "/vmfs/volumes/datastore1/patch-directory/ESXi500-201111001.zip"
或
esxcli software vib install -d "/vmfs/volumes/a2bb3e7c-ca10571c-cec6-e5a60cc0e7d0/patch-directory/ESXi500-201111001.zip"
使用 http 设置:
esxcli software vib install -v viburl
其中,viburl 是 VIB 软件包所在 http 库的 URL。
例如:
esxcli software vib install -v https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/esx/vmw/vib20/tools-light/VMware_locker_tools-light_5.0.0-0.7.515841.vib
要进行更新,请执行以下操作: 使用本地设置:
esxcli software vib update -d "/vmfs/volumes/Datastore/DirectoryName/PatchName.zip"
其中,PatchName.zip 是您上载到数据存储的修补程序文件的名称。
注意:或者,也可以使用数据存储的 UUID,而不使用 DirectoryName。
例如:
esxcli software vib update -d "/vmfs/volumes/datastore1/patch-directory/ESXi500-201111001.zip"
或
esxcli software vib update -d "/vmfs/volumes/ a2bb3e7c-ca10571c-cec6-e5a60cc0e7d0 /patch-directory/ESXi500-201111001.zip"
使用 http 设置:
esxcli software vib update -v viburl
其中,viburl 是 VIB 软件包所在 http 库的 URL。
例如:
esxcli software vib update -v https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/esx/vmw/vib20/tools-light/VMware_locker_tools-light_5.0.0-0.7.515841.vib - 验证 VIB 是否已安装在 ESXi 主机上:
esxcli software vib list
例如:
esxcli software vib list
Name Version Vendor Acceptance Level Install Date
----------------- --------------------------- ------ ---------------- ------------
ata-pata-amd 0.3.10-3vmw.500.0.0.469512 VMware VMwareCertified 2012-05-04
ata-pata-atiixp 0.4.6-3vmw.500.0.0.469512 VMware VMwareCertified 2012-05-04
ata-pata-cmd64x 0.2.5-3vmw.500.0.0.469512 VMware VMwareCertified 2012-05-04
ata-pata-hpt3x2n 0.3.4-3vmw.500.0.0.469512 VMware VMwareCertified 2012-05-04 - 安装修补程序后,重新引导 ESX 主机:
reboot - 主机引导完成后,退出维护模式,打开虚拟机的电源:
vim-cmd hostsvc/maintenance_mode_exit