A couple weeks back I had worked on something that required me to shutdown all the vCenter Server Services on a VCSA (vCenter Server Appliance). There is no high level service that can be stopped which would properly shutdown all the different services in the appropriate order. Luckily, one can easily derive the start and stop order by just taking a look at the runlevel scripts (S* for start and K* for Kill scripts). I have extracted the order in which the vCenter Server Services must be stopped and started which is shown below:

Stop Order:

  1. vmcad
  2. vmdird
  3. vmkdcd
  4. vmware-inventoryservice
  5. vmware-logbrowser
  6. vmware-netdumper
  7. vmware-vpxd
  8. vsphere-client
  9. vmware-stsd
  10. vmware-sts-idmd

Start Order:

  1. vmcad
  2. vmdird
  3. vmkdcd
  4. vmware-netdumper
  5. vmware-sts-idmd
  6. vmware-stsd
  7. vmware-inventoryservice
  8. vmware-logbrowser
  9. vmware-vpxd
  10. vsphere-client

Note: Although I mention the VCSA, the ordering also applies to a vCenter Server for Windows which has the exact same services.

Here is a simple shell script snippet that can be used to stop all vCenter Server Services in the appropriate order:

Here is a simple shell script snippet that can be used to start all vCenter Server Services in the appropriate order:

8 thoughts on “Quick Tip - Start & Stop order for vCenter Server Services

  1. thats cool, did you write that script for the appliance specifically? can it be used on other appliances?

    • The snippet is specifically for VCSA, however you could use the base to start/stop other services for other VMware Appliances or even just Linux systems in general as it’s just the service name

  2. Here is the same thing in a one-liner (no need to create a script):

    Stopping services in the correct order:

    $ ls /etc/init.d/ | grep ‘vmcad\|vmdird\|vmkdcd\|vmware-inventoryservice\|vmware-logbrowser\|vmware-netdumper\|vmware-vpxd\|vsphere-client\|vmware-stsd\|vmware-sts-idmd’ | while read line ; do service “$line” stop ; done

    Starting services in the correct order:

    $ ls /etc/init.d/ | grep ‘vmcad\|vmdird\|vmkdcd\|vmware-inventoryservice\|vmware-logbrowser\|vmware-netdumper\|vmware-vpxd\|vsphere-client\|vmware-stsd\|vmware-sts-idmd’ | while read line ; do service “$line” start ; done

  3. Correction – starting services in the correct order is as follows:

    ls /etc/init.d/ | grep ‘vmcad\|vmdird\|vmkdcd\|vmware-netdumper\|vmware-sts-idmd\|vmware-stsd\|vmware-inventoryservice\vmware-logbrowser\|vmware-vpxd\|vsphere-client’ while read line ; do service “$line” start ; done

Thanks for the comment!