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:
- vmcad
- vmdird
- vmkdcd
- vmware-inventoryservice
- vmware-logbrowser
- vmware-netdumper
- vmware-vpxd
- vsphere-client
- vmware-stsd
- vmware-sts-idmd
Start Order:
- vmcad
- vmdird
- vmkdcd
- vmware-netdumper
- vmware-sts-idmd
- vmware-stsd
- vmware-inventoryservice
- vmware-logbrowser
- vmware-vpxd
- 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:
VMWARE_SERVICE_STOP=( vmcad vmdird vmkdcd vmware-inventoryservice vmware-logbrowser vmware-netdumper vmware-vpxd vsphere-client vmware-stsd vmware-sts-idmd ) for i in ${VMWARE_SERVICE_STOP[@]}; do /etc/init.d/$i stop done }
Here is a simple shell script snippet that can be used to start all vCenter Server Services in the appropriate order:
VMWARE_SERVICE_START=( vmcad vmdird vmkdcd vmware-netdumper vmware-sts-idmd vmware-stsd vmware-inventoryservice vmware-logbrowser vmware-vpxd vsphere-client ) for i in ${VMWARE_SERVICE_START[@]}; do /etc/init.d/$i start done