1、esxcli software vib install -d="$LOCALPATCHPATH/patch/ESXi550-201602001.zip"
安装补丁后,部分补丁需要重启 ESXi 主机才能生效,可通过 esxcli software vib list 验证补丁是否安装成功。
# 先检查补丁兼容性(不实际安装) esxcli software vib install -d=”/路径/补丁包.zip” –dry-run
# 强制安装(覆盖现有 VIB 包,需谨慎) esxcli software vib install -d=”/路径/补丁包.zip” –force
2、查找本地存储路径的 find 命令:
find /vmfs/volumes/ -maxdepth 1 -mindepth 1 -type l |egrep "/LocalDisk.*|datastore.*" |head -n 1
-type l仅查找符号链接(ESXi 中 datastore/LocalDisk 通常以符号链接形式存在)
3、在自动化脚本中,通常先动态获取存储路径,再安装补丁:
# 动态获取存储路径
LOCALPATCHPATH=$(find /vmfs/volumes/ -maxdepth 1 -mindepth 1 -type l | egrep "/LocalDisk.*|datastore.*" | head -n 1)
# 验证路径是否获取成功
if [ -z "$LOCALPATCHPATH" ]; then
echo "未找到可用的存储路径!"
exit 1
fi
# 安装补丁
esxcli software vib install -d="$LOCALPATCHPATH/patch/ESXi550-201602001.zip"
4、常见问题排查:
补丁安装失败:
- 提示 “空间不足”:检查存储路径的可用空间(
df -h /vmfs/volumes/datastore1); - 提示 “VIB 签名验证失败”:ESXi 开启了严格签名检查,需临时关闭(
esxcli system settings security set --allow-unsigned-packages=true); - 提示 “依赖缺失”:补丁包版本与 ESXi 版本不匹配,确认补丁适用于当前 ESXi 5.5 版本。
find 命令无输出:
- 检查
/vmfs/volumes/下是否有 datastore/LocalDisk(ls -l /vmfs/volumes/); - 确认参数正确(尤其是
-type l,ESXi 存储卷通常是符号链接)。
Categories:
系统运维