vCenter VAMI 更新失败的 RPM 数据库损坏修复方法

vCenter VAMI 更新失败的 RPM 数据库损坏修复方法

老哥们,今天遇到一个关于 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

有VM问题需要协助?

免费试用VMware技术助理(已接Deepseek)!即时解答VM难题

→ 🤖VM技术助理

解析和诊断各类vCenter错误,ESXi日志,虚拟机vmware.log

→ 📕VMware日志分析器

图书推介 - 京东自营

24小时热门

还有更多VMware问题?

免费试下我们的VMware技术助理(已接Deepseek)!即时解答VM难题 → 🤖VM技术助理

试试 📕VMware日志分析器 免费诊断各类vCenter错误,ESXi日志,虚拟机vmware.log等等

########

扫码加入VM资源共享交流微信群(请备注加群

需要协助?或者只是想技术交流一下,直接联系我们!

推荐更多

添加旧版本 ESXi 主机到 vCenter 8.x 失败的证书指纹验证超时问题
运维必备

添加旧版本 ESXi 主机到 vCenter 8.x 失败的证书指纹验证超时问题

添加旧版本 ESXi 主机到 vCenter 8.x 失败的证书指纹验证超时问题。详细解析在 vCenter 8.x 中添加旧版本 ESXi 主机失败的问题,重点说明证书指纹验证超时的原因,提供使用 PowerCLI 强制添加的解决方法,帮助管理员快速完成主机添加操作。 本文针对该问题提供了深度剖析与实测解决方案。

大内存虚拟机在 vMotion 期间内存传输导致的无响应问题
运维必备

大内存虚拟机在 vMotion 期间内存传输导致的无响应问题

大内存虚拟机在 vMotion 期间内存传输导致的无响应问题。详细解析大内存虚拟机在 vMotion 期间内存传输过程中出现的无响应问题,重点说明精细内存跟踪缓冲器溢出的原因,提供目前的解决方案和未来版本的改进,帮助管理员优化虚拟机迁移过程。 本文针对该问题提供了深度剖析与实测解决方案。

vapi-endpoint 服务启动失败导致 vCenter Web Client 无法登录
运维必备

vapi-endpoint 服务启动失败导致 vCenter Web Client 无法登录

vapi-endpoint 服务启动失败导致 vCenter Web Client 无法登录。详细解析 vCenter Web Client 无法登录的问题,重点说明 vapi-endpoint 服务因解决方案用户证书无效导致的启动失败,提供完整的 vSphere Certificate Manager 操作步骤,帮助管理员快速恢复登录功能。 本文针对该问题提供了深度剖析与实测解决方案。

vCenter Server 虚拟机的快照最佳实践
运维必备

vCenter Server 虚拟机的快照最佳实践

vCenter Server 虚拟机的快照最佳实践。详细解析 vCenter Server 虚拟机的快照最佳实践,重点说明 vCenter HA、增强型链接模式 (ELM) 和独立 vCenter 的不同快照策略,帮助管理员避免复制和恢复问题。 本文针对该问题提供了深度剖析与实测解决方案。

//omg10.com/4/9119499