解决vCenter Inventory Service stop 无法启动的问题

本文介绍了解决vCenter Server Inventory Service出现的数据库错误的方法。通过重建数据库并重新注册到vCenter Server Appliance (VCSA),可以解决因数据库损坏导致的服务启动失败问题。

grep -i error /var/log/vmware/vpx/inventoryservice/ds.log

发现[2012-10-19 13:56:41,077 WrapperListener_start_runner FATAL com.vmware.vim.dataservices.WrapperListenerImpl] Error starting service: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'instanceUUID' defined in class path resource [server/config/server-config.xml]: Cannot resolve reference to bean 'store' while setting bean property 'targetObject'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'storeFactory' defined in class path resource [server/config/query-server-config.xml]: Invocation of init method failed; nested exception is com.xhive.error.XhiveException: INTERNAL_ERROR: Log corrupt: no log records seen, checkpointLSN = 5009727e5)

基本上来说是vCenter Server Inventory Service的数据库坏了,需要重建,然后将数据库重新注册到vcsa


# service vmware-inventoryservice stop
# rm -rf /storage/db/inventoryservice/data
# /usr/lib/vmware-vpx/inventoryservice/scripts/ds-invoke.sh -Dvim.logdir=/var/log/vmware/vpx/inventoryservice com.vmware.vim.dataservices.CreateDb /storage/db/inventoryservice/data changeme default changeme


数据库密码changeme


# service vmware-inventoryservice start


vcsa是5.0:

# /usr/lib/vmware-vpx/inventoryservice/scripts/ds-invoke.sh -Dvim.logdir=/var/log/vmware/vpx/inventoryservice-registration com.vmware.vim.dataservices.provider.util.SetupLocalService -vcurl https://<vcentername or ip>:443/sdk/vimService -providercfg file:/usr/lib/vmware-vpx/inventoryservice/lib/server/config/vc-provider-registration.xml -servicecfg /usr/lib/vmware-vpx/inventoryservice/lib/server/config/dataservice.properties

# service vmware-vpxd restart

vcsa是5.1:

# /usr/lib/vmware-vpx/inventoryservice-registration/vcregtool.sh -Dvim.logdir=/var/log/vmware/vpx/inventoryservice-registration com.vmware.vim.dataservices.vcregtool.RegisterVC -action register -lookupserviceurl https://vcentername:7444/lookupservice/sdk -isurl https://vcentername:10443 -vcurl https://vcentername/sdk/vimService -vccert /etc/vmware-vpx/ssl/rui.crt -vcprivkey /etc/vmware-vpx/ssl/rui.key -vcinstancecfg /etc/vmware-vpx/instance.cfg -vcendpointsdir /usr/lib/vmware-vpx/endpoints -vcextensionsdir /usr/lib/vmware-vpx/extensions

# service vmware-vpxd restart


我用的5.5 的也修复成功

### VMware vCenter Server 服务无法启动的原因分析 VMware vCenter Server 是用于管理和监控虚拟化环境的核心组件之一。如果该服务无法正常启动,可能涉及多种潜在原因,包括但不限于配置错误、依赖的服务未运行、数据库连接失败或文件损坏等问题。 #### 可能的错误原因 1. **数据库连接问题** 如果 vCenter 使用外部 SQL 数据库,则需要确认数据库服务是否已启动并可以被访问。此外,还需要验证数据库用户名和密码是否正确设置[^3]。 2. **依赖服务缺失或停止** vCenter 的成功启动通常依赖于其他基础服务(如 PostgreSQL 或 Platform Services Controller)。任何这些服务未能正常工作都会阻止 vCenter 启动[^4]。 3. **日志中的异常记录** 查看 `vpxd.log` 文件可以帮助定位具体问题所在位置。此日志位于 `/var/log/vmware/vpx/` 中,在 Linux 平台上;或者 `%ProgramData%\VMware\vCenterServer\logs\vpx\` 下对于 Windows 安装版本[^1]。 4. **不兼容的软件版本** 确认当前使用的 ESXi 主机版本与 vCenter 版本之间的兼容性非常重要。例如,较新的 ESXi 版本可能需要更高版本的 vCenter 才能完全支持其特性[^2]。 5. **网络配置冲突** 不当的防火墙规则可能会阻碍必要的端口通信 (默认情况下 vCenter 使用的是 443 端口),从而导致初始化过程中断开链接尝试失败。 #### 解决方案建议 以下是针对上述常见问题的一些通用排查方法: - **重新校验数据库参数** 登录到操作系统层面检查数据源名称(ODBC DSN)设定无误,并测试能否手动建立至目标DBMS实例的有效会话。 - **重启关联后台进程** 对应平台上的所有辅助程序都应当处于活动状态。可以通过命令行工具来强制终止再激活它们试试效果如何。比如在Linux上执行如下脚本来批量操作: ```bash systemctl restart vmware-vcenter* ``` - **深入挖掘日志细节** 利用 grep 工具快速过滤出含有关键字 'ERROR' 行项以便更快锁定故障源头: ```bash grep ERROR /var/log/vmware/*.log ``` - **升级或回滚系统镜像** 当发现现有组合确实存在缺陷时考虑采用官方发布的补丁包更新整个架构直至稳定为止;反之亦然必要时刻退回到先前保存好的快照点去恢复原始状况。 #### 总结 综上所述,要彻底解决 VMware vCenter Server 服务无法启动这一难题需综合考量多方面因素,逐一排除干扰项直到恢复正常运作流程为之。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值