VMware ESXi 命令行快速升级指导

在没有 vCenter 的情况下, 可以使用系统自带的 esxcli 命令进行快速升级, 可以在没有网络的情况下可以下载到离线升级包通过上传到 datastore 然后运行下面的命令进行升级 , 在有网络的情况下可以使用在线的方式进行快速升级, 具体请参考下面的命令.

日常维护命令

进入维护模式

检查主机是否处于维护模式。

esxcli system maintenanceMode get

如果还没进入维护模式, 那么在进入维护模式之前需要将ESXi主机上运行的虚拟机进行关机或者迁移到其它主机上
NOTE: 可以通过运行以下命令列出所有正在运行的虚拟机并检索每个虚拟机的环境 ID。

esxcli vm process list

将主机置于维护模式。

esxcli system maintenanceMode set --enable true

确认主机处于维护模式。

esxcli system maintenanceMode get

退出维护模式

检查主机是否处于维护模式。

esxcli system maintenanceMode get

将主机退出维护模式。

esxcli system maintenanceMode set --enable false

确认主机退出维护模式。

esxcli system maintenanceMode get

升级过程示例, 这里以目标版本升级到 ESXi-7.0U3e-19898904-standard 为例;

在线版, 参考以下命令过程

设置防火墙策略,允许HTTP客户端

esxcli network firewall ruleset set -e true -r httpClient

查看当前版本

esxcli network firewall ruleset set -e true -r httpClient

执行在线升级 (目标版本 ESXi-7.0U3e-19898904-standard )

esxcli software profile update -d https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml -p ESXi-7.0U3e-19898904-standard

恢复防火墙策略

esxcli network firewall ruleset set -e false -r httpClient

重启ESXi 以完成升级

reboot

开启 HTTP 客户端防火墙策略

esxcli network firewall ruleset set -e true -r httpClient

获取本机 Profile 版本

esxcli software profile get

获取 Profile 版本

提取在线提供的 Profile 版本

esxcli software sources profile list --depot=https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml | grep -i ESXi-7.0U

获取本地 Profile 版本

esxcli software sources profile list --depot=/vmfs/volumes/datastore1/VMware-ESXi-7.0U3e-19898904-depot.zip

执行升级

执行在线升级

esxcli software profile update -p ESXi-7.0U3e-19898904-standard -d https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml

执行本地升级

esxcli software profile update --depot=/vmfs/volumes/datastore1/VMware-ESXi-7.0U3e-19898904-depot.zip -profile=ESXi-7.0U3e-19898904-standard

执行强制升级

esxcli software profile update -p ESXi-7.0U3e-19898904-standard -d https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml --no-hardware-warning

更新的时候, 在不受支持的硬件上 (常见的是老型号的 CPU 升级的时候会有报错) 添加 --no-hardware-warning 参数即可解决无法升级的问题.

恢复防火墙策略

esxcli network firewall ruleset set -e false -r httpClient

全文完