In a vCenter Server 8.0 U2 environment, you may observe the following symptoms:
When accessing the vSphere Client in a browser, “no healthy upstream” is displayed.
When checking services with service-control --status, vmware-vpostgres remains in start-pending.
The following messages are recorded in vmon.log:
Service batch op START failed. Failed services: 'vmware-vpostgres'
<vmware-vpostgres> Service api-health command's stderr: Error getting service health. Error: Failed to read health xml file: /dev/shm/vmware-postgres-health-status.xml. Error: [Errno 2] No such file or directory: '/dev/shm/vmware-postgres-health-status.xml'
VMware vCenter Server 8.0
The database configuration file postgresql.conf is corrupted or was unintentionally modified.
The file may become extremely small and required startup parameters can be missing.
As a result, the pre-start process and API health check cannot complete successfully.
Replace the corrupted postgresql.conf with a known-good default file from a healthy vCenter Server running the same version.
Log in to the vCenter Server via SSH as root.
Start the shell:
shell
Back up the existing configuration file:
cp /storage/db/vpostgres/postgresql.conf /storage/db/vpostgres/postgresql.conf.org
Copy a valid postgresql.conf obtained from a healthy vCenter Server (same version) to /storage/db/vpostgres/postgresql.conf
Verify ownership and permissions:
Owner: vpostgres:vpgmongrp
Permissions: 600 (-rw-------)
Restart all services:
service-control --stop --all
service-control --start --all
Wait approximately 15 minutes for services to start successfully.