VMDIR Tool is a tool used to address issues with data stored in the ELM database. The tool can be used to detect and correct problems that could cause failures in topology changes (converge, repoint, etc.), upgrades, or failures incurred as a result of maintenance (e.g. incorrectly applying new SSL certificates). This article will outline its functions and use.
Error messages in the vmdird-syslog.log (or vmdird.log) file located in /var/log/vmware/vmdird/err vmdird t@139841484338944: _VmDirSearchPreCondition: Server in not in normal mode, not allowing outward replication.err vmdird t@140609914369792: UpdateServerObject: InternalModifyEntry failed. Error code: 53, Error string: Server in read-only mode
When vCenter servers in ELM are restored from snapshots improperly, inconsistencies in the VMDIR database are introduced. The database will attempt to repair data gaps, but this may not always be successful.
This tool can help identify and troubleshoot such scenarios.
vmdir-toolintegrityCheck, replicationValidation, and getTopology options should be used. Other options may be destructive.cd /usr/lib/vmware-vmdir/vmdir-tool/
View the help menu: python /usr/lib/vmware-vmdir/vmdir-tool/vmdir_tool.py --helpusage: vmdir_tool.py [-h] [--hostname HOSTNAME] [--getTopology] [--integrityCheck] [--hostOnly] [--replicationValidation] [--uptodateVectorCheck] [--restoreVmdir] [--machineAccount]VMDir Debug Tooloptions: -h, --help show this help message and exit --hostname HOSTNAME Hostname or FQDN of the node --getTopology Store Topology information of the nodes in /var/log/vmware/vmdir/topology_info.json --integrityCheck Check data inconsistency between all nodes. Generated logs can be found in /var/log/vmware/vmdir. NOTE:The output of this check is not guranteed to be complete always in a log support bundle. In such cases it must be run separately to collect the complete output. --hostOnly Used with integrityCheck flag to perform checks only from the specified node for hostname --replicationValidation Validate replication between all the nodes --uptodateVectorCheck Validate consistency between vmdir data & up-to-date vector --restoreVmdir Restore Vmdir --machineAccount
python /usr/lib/vmware-vmdir/vmdir-tool/vmdir_tool.py --hostname $HOSTNAME --integrityCheck --machineAccount'$HOSTNAME' value will be automatically expanded to the current vCenter hostname. The value does not need changing. --machineAccount parameter will run the tool without having to provide a username and password. /var/log/vmware/vmdir//var/log/vmware/vmdir labeled "Integrity---" for each node in ELM.