VMDIR service fails to start due to corrupted snapshot DB file
search cancel

VMDIR service fails to start due to corrupted snapshot DB file

book

Article ID: 319472

calendar_today

Updated On:

Products

VMware vCenter Server

Issue/Introduction

  • vmdird service is not starting

     ERROR service-control Error executing start on service vmdird. Details {
        "resolution": null,
        "detail": [
            {
                "args": [
                    "vmdird"
                ],
                "id": "install.ciscommon.service.failstart",
                "localized": "An error occurred while starting service 'vmdird'",
                "translatable": "An error occurred while starting service '%(0)s'"
            }
        ],
        "componentKey": null,
        "problemId": null
    }
    ERROR service-control Service-control failed. Error {
        "resolution": null,
        "detail": [
            {
                "args": [
                    "vmdird"
                ],
                "id": "install.ciscommon.service.failstart",
                "localized": "An error occurred while starting service 'vmdird'",
                "translatable": "An error occurred while starting service '%(0)s'"
            }
        ],
        "componentKey": null,
        "problemId": null
    }
  • vmdird is with state (1).
    /usr/lib/vmware-vmafd/bin/dir-cli state get


  • In /var/log/vmware/vmdird/vmdird-syslog.log you can see the following
    info vmdird  t@139747705263872: VmDir State (1)
    info vmdird  t@139747705263872: Lotus Vmdird: starting...
    info vmdird  t@139747705263872: Openssl Ctx disable protocol (TLSv1)
    info vmdird  t@139747705263872: Openssl Ctx disable protocol (TLSv1.1)
    info vmdird  t@139747705263872: SSL cipher list (!aNULL:kECDH+AES:ECDH+AES:RSA+AES:@STRENGTH).
    info vmdird  t@139747705263872: Acquired SSL Cert from VECS
    info vmdird  t@139747705263872: SASL2PATH=/opt/likewise/lib64/sasl2:/usr/lib/vmware-vmdir/lib64/sasl2
    info vmdird  t@139747705263872: Use default max-database-size 21474836480
    err vmdird  t@139747705263872: _VmDirOpenDbEnv: mdb_env_open failed on database /storage/db/vmware-vmdir/snapshot, MDB error -30793
    err vmdird  t@139747705263872: MDBInitializeDB failed with error code: -30793, error string: MDB_INVALID: File is not an MDB file
    err vmdird  t@139747705263872: VmDirInitBackend failed (-30793)


Environment

VMware vCenter Server 6.x
VMware vCenter Server 7.x

Cause

Snapshot of mdb file which is taken at location  /storage/db/vmware-vmdir/snapshot is corrupted.

Resolution

If the primary data.mdb file located at /storage/db/vmware-vmdir is intact, you can attempt the following steps:

  • Stop all services:

    • service-control --stop --all

  • Move all the files in /storage/db/vmware-vmdir/snapshot to a backup location:

    • mv /storage/db/vmware-vmdir/snapshot/* /tmp

  • Start all services:

    • service-control --start --all

If the main data.mdb file is healthy, the above steps should allow the services to start successfully and automatically generate a new snapshot file based on the main database.