vCSA 上の全サービス状態確認

vCSA の各サービスの状態確認、停止、起動、再起動は、以下のように Web Client の システム構成 画面から操作可能です。

しかし、何らかの原因により Web Client へ接続が出来なくなってしまう場合があります。

そのときには、vCSA のコンソール、または vCSA へ SSH 接続してコマンドラインでサービス状態等の情報を確認する必要があります。

vCSA のサービス開始、停止、再起動の基本的なやり方は以下の KB に記載があるので、ご興味ある方は軽く目を通してください。

vCSA へ SSH 接続

この例では、vCSA へ SSH 接続を実施し、サービス状態を確認します。

SSH 接続後に表示されるメッセージ通りに shell.set --enabled True を入力するだけでシェル切替えは有効になりますが、もう少し情報がほしい方は、以下の記事を参考にしてください。

vCSA へ SSH 接続が終わったら shell を実行し、BASH シェルへの切り替えを実施します。

vCSA へ SSH 接続、及びシェル切替
Last login: Tue May 10 02:05:08 2016 from 10.233.10.47
Connected to service

    * List APIs: "help api list"
    * List Plugins: "help pi list"
    * Enable BASH access: "shell.set --enabled True"
    * Launch BASH: "shell"

Command> shell

#

サービス状態確認

以下のコマンドを実行するとサービス状態以外にも vCSA の IP アドレス、NTP 時刻同期状態など様々な情報が一緒に表示されます。

これを見て vCSA 6.0u1 から再び使えるようになった vCenter Server Appliance 6.0 u1 から再び VAMI が復活 って lighttpd 使ってるんだな。。というのが初めて分かりました。

vCSA サービス状態確認
# service --status-all
Checking for httpd2:                                                             unused
Checking for appliance management service:                                       running
Checking for service arpd                                                        unused
Checking for service atftp:                                                      unused
Checking for service auditd                                                      running
Checking if boot.cgroup has run                                                  running
                                                                                 running
Current Hardware Clock: Tue May 10 02:05:48 2016  -0.141840 seconds              running

・・・
                                                                                 unused
Checking for ISC DHCPv4 4.x Server:                                              unused
Checking for ISC DHCPv6 4.x Server:                                              unused
Checking for service syslog:                                                     running
running (standalone: 4945)
Neither the variables MOUSEDEVICE and MOUSETYPE nor the variable GPM_PARAM
is set in /etc/sysconfig/mouse
Run 'yast mouse' to set up gpm
Checking for service HAL daemon                                                  running
Checking for haveged daemon                                                      running
Checking for service irqbalance                                                  running
Keymap /usr/share/kbd/keymaps/i386/qwerty/jp106.map.gz is loaded.
Checking for service ldap:                                                       unused
running (standalone: 5448)
Usage: /etc/init.d/lvm_wait_merge_snapshot {start}
running (standalone: 5023)
running (standalone: 3796)
                                                                                 running
Checking for service mdadmd                                                      unused
Checking for multipathd:                                                         unused
running (standalone: 5103)
Checking optional network interfaces:
    eth0      device: VMware VMXNET3 Ethernet Controller
    eth0      IP address: 10.10.10.10/24
    eth0      is up                                                              running
Checking mandatory network interfaces:
    lo
    lo        IP address: 127.0.0.1/8
    secondary lo IP address: 127.0.0.2/8
    lo        is up                                                              running
Checking service network .  .  .  .  .  .  .  .  .  .  .                         running
Checking mandatory network interfaces:
    lo
    lo        IP address: 127.0.0.1/8
    secondary lo IP address: 127.0.0.2/8
    lo        is up                                                              running
Checking service (remotefs) network .  .  .  .  .  .  .  .  .  .  .              running
Checking for mounted nfs shares (from /etc/fstab):idmapd not running
                                                                                 unused
Checking for service nginx                                                       unused
     remote           refid   st t when poll reach   delay   offset  jitter
===========================================================================
+ntp1.clock-serv 10.10.10.21   2 u  750 1024  377    1.517    0.065   0.010
*ntp2.clock-serv 10.10.10.22   2 u  137 1024  377    1.989    0.254   0.117
+ntp3.clock-serv 10.10.10.23   2 u  636 1024  377    1.368    0.181   0.366

Checking for network time protocol daemon (NTPD):                                 running
Checking for UPS monitoring service                                               unused
Checking for random generator (always true)                                       running
                                                                                  dead
Checking for service rpasswd daemon:                                              unused
Checking for service rpcbind                                                      running
                                                                                  unknown
Checking for service sendmail:                                                    running
/dev/ttyS0 at 0x03f8 (irq = 4) is a 16550A
/dev/ttyS1 at 0x02f8 (irq = 3) is a 16550A                                        running
/usr/sbin/FOO not installed
/bin/snmpd is not running
                                                                                  unknown
                                                                                  unknown
Checking for service sshd                                                         running
Checking for stunnel (SSL tunnel):                                                unused
Checking for service syslog:                                                      running
Checking for service uuidd                                                        unused
Checking vami-lighttpd status: 5411 ?        00:03:11 vami-lighttpd

・・・
 

vCSA 関連サービスの起動スクリプト確認

vCSA 関連サービスの起動スクリプトは、/etc/init.d/ に入ってます。

ちなみに、* は実行ファイル、@ はシンボリックリンクファイルです。

/etc/init.d/ (起動スクリプト)
# ls -CF /etc/init.d/
.depend.boot         boot.klog*         dhcpd*                    nginx*           skeleton*             vmware-rhttpproxy*
.depend.halt         boot.ldconfig*     dhcpd6*                   ntp*             skeleton.compat*      vmware-sca@
.depend.start        boot.loadmodules*  earlysyslog*              powerd*          snmpd*                vmware-sps@
.depend.stop         boot.local*        eventlogd*                powerfail*       splash*               vmware-sts-idmd*
README               boot.localfs*      fbset*                    purge-kernels*   splash_early*         vmware-stsd*
after.local          boot.localnet*     gpm*                      random*          sshd*                 vmware-syslog@
apache2*             boot.lvm*          haldaemon*                raw*             stunnel*              vmware-syslog-health@
applmgmt*            boot.lvm_monitor*  halt*                     rc*              syslog*               vmware-tools-services*
arpd*                boot.md*           halt.local*               rc.orig*         uuidd*                vmware-tools-vgauth*
atftpd*              boot.multipath*    haveged*                  rc0.d/           vami-lighttp@         vmware-vapi-endpoint*
auditd*              boot.proc*         irq_balancer*             rc1.d/           vaos*                 vmware-vdcs@
boot*                boot.rootfsck*     kbd*                      rc2.d/           vmafdd*               vmware-vpostgres*
boot.cgroup*         boot.swap*         ldap*                     rc3.d/           vmcad*                vmware-vpx-workflow*
boot.cleanup*        boot.sysctl*       lsassd*                   rc4.d/           vmci*                 vmware-vpxd*
boot.clock*          boot.sysstat*      lvm_wait_merge_snapshot*  rc5.d/           vmdird*               vmware-vsan-health*
boot.compliance*     boot.udev*         lwiod*                    rc6.d/           vmware-cis-license@   vmware-vsm@
boot.crypto*         boot.udev_retry*   lwregd*                   rcS.d/           vmware-cm@            vmware-vws*
boot.crypto-early*   cgconfig*          lwsmd*                    reboot@          vmware-eam@           vsock*
boot.d/              cgred*             mdadmd*                   rpasswdd*        vmware-invsvc@        vsphere-client@
boot.debugfs*        cron*              multipathd*               rpcbind*         vmware-mbcs@          xinetd*
boot.device-mapper*  dbus*              netlogond*                rpmconfigcheck*  vmware-netdumper*     ypbind*
boot.dmraid*         dcerpcd*           network*                  sendmail*        vmware-perfcharts@
boot.efivars*        dhcp6r*            network-remotefs*         setserial*       vmware-psc-client*
boot.ipconfig*       dhcp6s*            nfs*                      single*          vmware-rbd-watchdog*
vCSA 関連サービスの起動スクリプト
# ls -1F /etc/init.d/ | egrep "(^vm|^vsp)"
vmafdd*
vmcad*
vmci*
vmdird*
vmware-cis-license@
vmware-cm@
vmware-eam@
vmware-invsvc@
vmware-mbcs@
vmware-netdumper*
vmware-perfcharts@
vmware-psc-client*
vmware-rbd-watchdog*
vmware-rhttpproxy*
vmware-sca@
vmware-sps@
vmware-sts-idmd*
vmware-stsd*
vmware-syslog@
vmware-syslog-health@
vmware-tools-services*
vmware-tools-vgauth*
vmware-vapi-endpoint*
vmware-vdcs@
vmware-vpostgres*
vmware-vpx-workflow*
vmware-vpxd*
vmware-vsan-health*
vmware-vsm@
vmware-vws*
vsphere-client@

サービス管理

サービス管理 その1. service コマンドを使う

以下の例では、Web Client のサービス状態確認した後に、サービス再起動を実施します。

service : Web Client のサービスステータス確認
# service vsphere-client status
VMware vSphere Web Client is running: PID:14833, Wrapper:STARTED, Java:STARTED
service : Web Client サービス再起動
# service vsphere-client restart
Stopping VMware vSphere Web Client...
Waiting for VMware vSphere Web Client to exit...
Stopped VMware vSphere Web Client.
Starting VMware vSphere Web Client...
Waiting for VMware vSphere Web Client......
running: PID:3102
service : Web Client サービス再起動後のプロセス状態確認
# service vsphere-client status
VMware vSphere Web Client is running: PID:3102, Wrapper:STARTED, Java:STARTED

# ps -ef | grep vsphere-client
1009      3102     1  0 02:29 ?        00:00:00 /usr/lib/vmware-vsphere-client/server/wrapper/bin/./wrapper /usr/lib/vmware-vspher
1009      3109  3102 99 02:29 ?        00:00:46 /usr/java/jre-vmware/bin/vsphere-client -Dcom.sun.management.jmxremote.port=9875 -
root      3575 27567  0 02:29 pts/0    00:00:00 grep vsphere-client

サービス管理 その2. service-control コマンドを使う

service コマンド以外に、service-control というのがあります。

ちなみに、サービスを操作する方法について、service コマンドよりは、vSphere Web Client または service-control コマンドが推奨されています。

service-control を使うと、vCSA の各サービス名をフルネームで確認することができます。

service-control : vCSA サービス一覧確認
# service-control --list
applmgmt (VMware Appliance Management Service)
vmware-cis-license (VMware License Service)
vmware-cm (VMware Component Manager)
vmware-eam (VMware ESX Agent Manager)
vmware-sts-idmd (VMware Identity Management Service)
vmware-invsvc (VMware Inventory Service)
vmware-mbcs (VMware Message Bus Configuration Service)
vmware-netdumper (VMware vSphere ESXi Dump Collector)
vmware-perfcharts (VMware Performance Charts)
vmware-psc-client (VMware Platform Services Controller Client)
vmware-rbd-watchdog (VMware vSphere Auto Deploy Waiter)
vmware-rhttpproxy (VMware HTTP Reverse Proxy)
vmware-sca (VMware Service Control Agent)
vmware-sps (VMware vSphere Profile-Driven Storage Service)
vmware-stsd (VMware Security Token Service)
vmware-syslog (VMware Common Logging Service)
vmware-syslog-health (VMware Syslog Health Service)
vmware-vapi-endpoint (VMware vAPI Endpoint)
vmware-vdcs (VMware Content Library Service)
vmafdd (VMware Authentication Framework)
vmcad (VMware Certificate Service)
vmdird (VMware Directory Service)
vmware-vpostgres (VMware Postgres)
vmware-vpx-workflow (VMware vCenter Workflow Manager)
vmware-vpxd (VMware vCenter Server)
vmware-vsan-health (VMware VSAN Health Service)
vmware-vsm (VMware vService Manager)
vsphere-client (vSphere Web Client)
vmware-vws (VMware System and Hardware Health Manager)

また、個別に各サービスを停止・開始することは基本的に可能ですが、全てのサービスを停止・開始することもできます。

ただ、全てのサービスを停止することは危険なので、--dry-run というオプションが提供されます。

全てのサービスを停止するコマンドの最後に --dry-run を付けると分かりやすく言うとテストモード・観覧モード・プレビューみたいな感じになるので、実際に全てのサービスが停止することはありません。

使う機会はあまりないかもしれませんが、もし、vCSA がトラブって動かなくなり、再起動しないといけなくなったときに、再起動する前にダメもとで一回実行してみるといいかな。。という感じですね。

service-control : vCSA サービス管理
service-control --stop [servicename]
service-control --stop --all
service-control --stop --all --dry-run

service-control --start [servicename]
service-control --start --all
service-control --start --all --dry-run

参考 : vCSA サービス一覧表

vCSA のバージョンによってサービス・デーモン名が異なりますので、操作する際には事前に確認してから作業してください。

例えば、VMware vCenter Server サービスのデーモン名が vCSA 6.0 だと vmware-vpxd なんですが、vCSA 6.5 だと vpxd だったりします。

以下は、vCSA 6.0 の例です。

デーモンサービス名
applmgmtVMware Appliance Management Service
vmware-cis-licenseVMware License Service
vmware-cmVMware Component Manager
vmware-eamVMware ESX Agent Manager
vmware-sts-idmdVMware Identity Management Service
vmware-invsvcVMware Inventory Service
vmware-mbcsVMware Message Bus Configuration Service
vmware-netdumperVMware vSphere ESXi Dump Collector
vmware-perfchartsVMware Performance Charts
vmware-psc-clientVMware Platform Services Controller Client
vmware-rbd-watchdogVMware vSphere Auto Deploy Waiter
vmware-rhttpproxyVMware HTTP Reverse Proxy
vmware-scaVMware Service Control Agent
vmware-spsVMware vSphere Profile-Driven Storage Service
vmware-stsdVMware Security Token Service
vmware-syslogVMware Common Logging Service
vmware-syslog-healthVMware Syslog Health Service
vmware-vapi-endpointVMware vAPI Endpoint
vmware-vdcsVMware Content Library Service
vmafddVMware Authentication Framework
vmcadVMware Certificate Service
vmdirdVMware Directory Service
vmware-vpostgresVMware Postgres
vmware-vpx-workflowVMware vCenter Workflow Manager
vmware-vpxdVMware vCenter Server
vmware-vsan-healthVMware VSAN Health Service
vmware-vsmVMware vService Manager
vsphere-clientvSphere Web Client
vmware-vwsVMware System and Hardware Health Manager

終わりに

クラウド環境を管理していると様々なトラブルに巻き込まれることが多いので、一応こういうやり方もあるんだなーと。 軽く覚えておくと良いのではないでしょうか。

以上、vCenter Server Appliance 6.0 サービス停止・起動・再起動方法 (コマンド) でした。