老哥们,今天遇到一个关于 vCenter Server 更新的问题——在使用 VAMI(vCenter Appliance Management Interface)进行更新时,(VAMI就是所谓的5480),就会出现“Update installation failed, list operation is not allowed”和“No applicable update found”错误。查了一下 VMware KB 429302,发现原来这是由于 RPM 数据库损坏导致的。下面时踩坑诊断过程:
故障现象还原
1. 更新标签页错误
在 VAMI 的“更新”标签页中,会看到以下错误:
Update installation failed, list operation is not allowed.
2. 无法显示更新列表
此外,VAMI 无法显示更新列表,并报告:
No applicable update found.
核心原因分析
根据 KB 429302 的解释,问题的根本原因是:
RPM 数据库损坏
vCenter Server Appliance 使用的是基于 Linux 的 Photon OS,而 Photon OS 使用 RPM 包管理系统。RPM 数据库损坏可能导致更新操作失败、无法列出更新列表等问题。
修复步骤
1. 备份与准备
# 拍摄 vCenter Server Appliance 的快照
# 在 vSphere Client 中操作,或使用 PowerCLI
Get-VM -Name | New-Snapshot -Name "Before_RPM_DB_Repair" -Description "Backup before RPM DB repair"
2. 连接到 VCSA via SSH
# 使用 SSH 连接到 VCSA
ssh root@
3. 修复过程
# 停止管理服务
service-control --stop applmgmt
# 清理更新相关的临时文件和数据库
rm -rf /storage/core/software-update/updates/*
rm -rf /storage/core/software-update/stage/*
rm -rf /storage/db/patching.db
# 移动关键配置文件以进行重置
mv /storage/core/software-packages/staged-configuration.json /storage/core
mv /etc/applmgmt/appliance/software_update_state.conf /storage/core
# 启动管理服务
service-control --start applmgmt
4. 验证修复
# 检查服务状态
service-control --status applmgmt
# 尝试再次检查更新
# 在 VAMI 中进行,或使用以下命令
software-packages list
预防措施
1. 定期维护 RPM 数据库
# 定期检查并修复 RPM 数据库
rpm --verifydb
rpm --rebuilddb
2. 优化存储管理
# 检查存储使用情况
df -h
# 检查磁盘空间
lsof | grep deleted
# 清理临时文件
rm -rf /var/tmp/*
rm -rf /tmp/*
3. 监控更新过程
# 在更新过程中监控日志
tail -f /var/log/vmware/applmgmt/applmgmt.log
tail -f /var/log/vmware/vami/vami.log
故障排查
1. 服务无法启动
# 如果 applmgmt 服务无法启动
service-control --status applmgmt
# 检查系统资源
top | head -20
# 检查服务依赖项
systemctl list-dependencies applmgmt
2. 修复后仍然无法更新
# 如果问题仍然存在
# 尝试重新初始化软件更新系统
rm -rf /storage/core/software-update
mkdir -p /storage/core/software-update/updates
mkdir -p /storage/core/software-update/stage
# 检查权限
ls -la /storage/core/software-update/
# 再次停止并启动服务
service-control --stop applmgmt
service-control --start applmgmt
其他相关问题
1. 更新超时问题
# 如果更新过程超时
# 检查网络连接
ping downloads.vmware.com
# 检查防火墙规则
esxcli network firewall ruleset rule list | grep -i vami
# 检查代理配置
cat /etc/environment
2. 应用更新失败
# 检查更新过程中是否有错误
grep -i error /var/log/vmware/applmgmt/applmgmt.log
# 检查系统状态
vmware -v
service-control --status --all
Reference: VMware KB 429302







