In my home lab I have a setup with has 1 VC VM and 2 ESXi hosts (Dell PowerEdge T410) which are connected to a Equallogic PS5000 SAN.
The VC and the VC database are both on a different VM.
While I was debugging a powerCLI script for a customer I noticed that my vCenter Service stopped working (and tried to restart automaticaly) without success.
In the Eventviewer I saw following errors:
- In the System Log
The VMware VirtualCenter Server service terminated unexpectedly. It has done this 1 time(s). The following corrective action will be taken in 300000 milliseconds: Restart the service.
- In the Application Log
An unrecoverable problem has occurred, stopping the VMware VirtualCenter service. Error: Error[VdbODBCError] (-1) “ODBC error: (42000) – [Microsoft][SQL Native Client][SQL Server]The transaction log for database ‘VC’ is full. To find out why space in the log cannot be reused, see the log_reuse_wait_desc column in sys.databases” is returned when executing SQL statement “UPDATE VPX_DATASTORE WITH (ROWLOCK) SET NAME = ? , STORAGE_URL = ? , CAPACITY = ? , FREE_SPACE = ? , TYPE = ? , DATACENTER_ID = ? , IORM_ENABLED = ? , IORM_CONGESTION_THRESHOLD = ? WHERE ID = ?”
- In the C:\Users\All Users\VMware\VMware VirtualCenter\Logs I saw erros like “Connection refused”
The answer to all this was lack of space on the drive the vCenter database was located. This because SQL Recovery option on the vCenter database was set to “Full Recovery” and there was NO maintenance plan active. This was the cause of a growing LOG file. After running the maintenance plan the log was emptied and a lot of disk space became available.