vCSA 6.5 でのサービス操作は、service-control がオススメ

vCenter Server Appliance 6.5 (以下、vCSA) でのサービス停止・起動・再起動方法には、以下の 2通りがあります。

  • Web Client (GUI) を使う
  • vCSA コンソールを使う

vCenter Server がトラブった時には、そもそも Web Client への接続すら出来なかったりするので、今までの経験上、何かあったときに頼りになるのは、やっぱりはコマンドでした。

特に、vCSA でサービスを管理するコマンドは、さらに 3種類があります。

  • vCSA の service-control コマンド
  • Photon OS の systemctl コマンド
  • Photon OS の SLES コマンド (昔の service と chkconfig)

全コマンド共に、サービスの状態確認サービス停止サービス開始 に関しては、基本的にサポートしますが、 service-control コマンドには、再起動オプションがありあせん

そのため、特定サービスを再起動するためには、停止 → 開始 を実施する必要があります。

以下は、service-controlsystemctl の大まかな違いについて、簡単に表にまとめたものです。

○ : 可能

× : 不可

項目service-controlsystemctl
サービスリスト確認×
サービスステータス確認
サービス開始
サービス停止
サービス再起動×
全ての VMware 関連サービスの停止×
全ての VMware 関連サービスの起動×

systemctl コマンドでサービスリストを確認することは出来ませんが、OS の起動スクリプト・リストを grep すれば確認できなくもないです。

ただ、表示されるのはファイル名だけなので、分かりづらいし、service-control を使えば、プロファイル名 (各サービスのフールネーム)サービス名 (デーモン名) リストを分かりやすく出してくれるので、そこまでやる必要はないと思います。

特に、service-control には、--stop --all--start --all のように、--all オプションを付けることで、指定したサービス名と関連付けられているサービス、そして、全ての VMware 関連サービスを停止、または起動させることが出来るため、トラブルシューティングの際には、有効に使えるかと思います。

Photon OS の systemctlservice コマンドを使うまでもないので、基本的には service-control をオススメします。

基本的な使い方については、以下をご確認ください。

ちにみに、Web Client は、複数の人間がアクセスして使うため、時間が経つに連れて重たくなったり、Web Client への接続自体ができなくなったりします。 (Web Client が使えなくなると あっちこっちから申告がくるので、運用時に一番困る)

そのときに有効なのが、Web Client サービスを再起動することです。

そのため、再起動をかける頻度で言うと VMware vSphere Web Client (vsphere-client) が一番多いのではないかと思います。

今回は、例として、service-control を使って、Web Client サービスvCenter Server サービス の再起動を実施します。

Step 1. vCSA へログイン、及び service-control の Help 確認

まずは、vCSA へコンソールログイン、または SSH ログインします。

vCSA 6.5 の場合には vCSA 6.0 とは違って、シェル切り替えが不要になりましたので、ログインすると直ぐシェルプロンプトが出てきます。

まずは、どんなオプションが使えるか確認します。

service-control オプション確認Raw Code(S)Raw Code(T)
# service-control --help
usage: service-control [-h] [--start] [--stop] [--status] [--list]
                       [--list-services] [--vmon-profile VMON_PROFILE] [--all]
                       [--ignore]
                       ...

Perform operation on VMware services. By default the services selected are
based on current startup profile. This can be overridden by using --all and
--vmon-profile options.

positional arguments:
  services              Services on which to operate

optional arguments:
  -h, --help            show this help message and exit
  --start               Perform start operation on VMware services.
  --stop                Perform stop operation VMware services.
  --status              Get running status of VMware services.
  --list                List all controllable VMware services. This option
                        will soon be deprecated. Please use --list-services.
  --list-services       Lists all controllable VMware services.
  --vmon-profile VMON_PROFILE
                        Start/Stop services associated with given profile
                        name.
  --all                 Start/Stop all VMware services i.e. core and the
                        default mgmt services).
  --ignore              Ignore errors. Continue with given operation even if
                        errors occur.

ちなみに、サービスリストを確認するオプションは、--list ですが、将来的にはなくなる予定なので、代わりに --list-service を使った方が良さそうです。

Step 2. Web Client サービスの再起動

最初に、サービスリストを確認します。

この例では、とりあえず、--list オプションを使っています。

また、表示されるサービスリストは、環境によって異なります。

VMware 関連サービス一覧確認Raw Code(S)Raw Code(T)
# service-control --list-services | sort
applmgmt (VMware Appliance Management Service)
cis-license (VMware License Service)
cm (VMware Component Manager)
content-library (VMware Content Library Service)
eam (VMware ESX Agent Manager)
imagebuilder (VMware Image Builder Manager)
lwsmd (Likewise Service Manager)
mbcs (VMware Message Bus Configuration Service)
netdumper (VMware vSphere ESXi Dump Collector)
perfcharts (VMware Performance Charts)
pschealth (VMware Platform Services Controller Health Monitor)
rbd (VMware vSphere Auto Deploy Waiter)
rhttpproxy (VMware HTTP Reverse Proxy)
sca (VMware Service Control Agent)
sps (VMware vSphere Profile-Driven Storage Service)
statsmonitor (VMware Appliance Monitoring Service)
updatemgr (VMware Update Manager)
vapi-endpoint (VMware vAPI Endpoint)
vcha (VMware vCenter High Availability)
vmafdd (VMware Authentication Framework)
vmcad (VMware Certificate Service)
vmcam (VMware vSphere Authentication Proxy)
vmdird (VMware Directory Service)
vmdnsd (VMware Domain Name Service)
vmonapi (VMware Service Lifecycle Manager API)
vmware-psc-client (VMware Platform Services Controller Client)
vmware-sts-idmd (VMware Identity Management Service)
vmware-stsd (VMware Security Token Service)
vmware-vmon (VMware Service Lifecycle Manager)
vmware-vpostgres (VMware Postgres)
vpxd (VMware vCenter Server)
vpxd-svcs (VMware vCenter-Services)
vsan-health (VMware VSAN Health Service)
vsm (VMware vService Manager)
vsphere-client (VMware vSphere Web Client)
vsphere-ui (VMware vSphere Client)

先ほど言ったように、service-control コマンドには再起動オプションが存在しないので、停止 → 開始 で Web Client サービスを再起動します。

VMware vSphere Web Client サービス停止Raw Code(S)Raw Code(T)
# service-control --status vsphere-client
Running:
 vsphere-client

# service-control --stop vsphere-client
Perform stop operation. vmon_profile=None, svc_names=['vsphere-client'], include_coreossvcs=False, include_leafossvcs=False
Successfully stopped service vsphere-client

# service-control --status vpxd
Stopped:
 vpxd
VMware vSphere Web Client サービス開始Raw Code(S)Raw Code(T)
# service-control --start vsphere-client
Perform start operation. vmon_profile=None, svc_names=['vsphere-client'], include_coreossvcs=False, include_leafossvcs=False
2017-08-20T01:04:28.610Z   Service vsphere-client state STOPPED
Successfully started service vsphere-client

# service-control --status vsphere-client
Running:
 vsphere-client

参考 : vCenter Server サービスの再起動

以下は、vCenter Server を再起動したときの実行結果です。 ご参考までに。

VMware vCenter Server サービス再起動 (停止 → 開始)Raw Code(S)Raw Code(T)
# service-control --status vpxd
Running:
 vpxd

# service-control --stop vpxd
Perform stop operation. vmon_profile=None, svc_names=['vpxd'], include_coreossvcs=False, include_leafossvcs=False
Successfully stopped service vpxd

# service-control --status vpxd
Stopped:
 vpxd

# service-control --start vpxd
Perform start operation. vmon_profile=None, svc_names=['vpxd'], include_coreossvcs=False, include_leafossvcs=False
2017-08-20T01:09:25.522Z   Service vpxd state STOPPED
Successfully started service vpxd

# service-control --status vpxd
Running:
 vpxd

終わりに、Photon OS 側の condrestart オプションについて

ちにまに、Photon 側 コマンドのオプションを見ると、その中で目立つオプションが一つ。 condrestart というのがあります。

普段あまり使わないですが、condrestart は、サービス・デーモン が起動しているかどうか確認してから再起動してくれるオプションです。

  • サービスが起動中の場合のみ stop → start を実行
  • サービスが停止中の場合には、何もしない (停止のままにしておく)

ご参考までに。

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