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 接続、及びシェル切替Raw Code(S)Raw Code(T)
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 から再び使えるようになった VAMI って lighttpd 使ってるんだな。。というのが初めて分かりました。

vCSA サービス状態確認Raw Code(S)Raw Code(T)
# 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/ (起動スクリプト)Raw Code(S)Raw Code(T)
# 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 関連サービスの起動スクリプトRaw Code(S)Raw Code(T)
# 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 のサービスステータス確認Raw Code(S)Raw Code(T)
# service vsphere-client status
VMware vSphere Web Client is running: PID:14833, Wrapper:STARTED, Java:STARTED
service : Web Client サービス再起動Raw Code(S)Raw Code(T)
# 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 サービス再起動後のプロセス状態確認Raw Code(S)Raw Code(T)
# 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-control を使うと、vCSA の各サービス名をフルネームで確認することができます。

service-control : vCSA サービス一覧確認Raw Code(S)Raw Code(T)
# 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 サービス管理Raw Code(S)Raw Code(T)
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 サービス一覧表

デーモン サービス名
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

終わりに

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

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