vCSA 接続時に 503 エラー

エラー内容

vCSA(VMware vCenter Server Appliance)6.7 へ Web アクセスした際、503エラーで接続できない事象があったので、原因と対策を紹介します。

503 Service Unavailable (Failed to connect to endpoint: [N7Vmacore4Http20NamedPipeServiceSpecE:0x0000562eebf99a50] _serverNamespace = / action = Allow _pipeName =/var/run/vmware/vpxd-webserver-pipe)

原因

vpxd のサービスが落ちていたことに起因していました。
vpxd のサービスは、VCSA へ SSH でログインして、service-control --status コマンドで確認できます。

shell
service-control --status
Stopped:
 vpxd

対策

service-control --start コマンドでサービスを起動します。

service-control --start vpxd
service-control --status vpxd
Running:
 vpxd

vpxd を起動できない場合

service-control --start コマンドを実行しても、起動できない(Status が Running にならない)場合、もしくは、起動してもすぐに Stop に遷移する場合は、データーベースが肥大化している可能性があります。
対処方法は以下のとおりです。

/storage/seat 領域を確認

df -h /dev/mapper/seat_vg-seat
Filesystem                Size  Used Avail Use% Mounted on
/dev/mapper/seat_vg-seat  9.8G   73M  9.2G   1% /storage/seat
本例では Use% が 1% となっていますが、95% 以上となっている場合は、vpxd が起動不可となります。

postgres データベースへ接続

cd /opt/vmware/vpostgres/current/bin 
./psql -d VCDB -U postgres 

肥大化しているテーブルを確認

SELECT nspname || '.' || relname AS "relation", pg_size_pretty(pg_total_relation_size(C.oid)) AS "total_size" FROM pg_class C LEFT JOIN pg_namespace N ON (N.oid = C.relnamespace) WHERE nspname NOT IN ('pg_catalog', 'information_schema') AND C.relkind <> 'i' AND nspname !~ '^pg_toast' ORDER BY pg_total_relation_size(C.oid) DESC LIMIT 5; 
           relation           | total_size
------------------------------+------------
 vc.vpx_host_vm_config_option | 5032 kB
 vc.vpx_event_arg_72          | 2552 kB
 vc.vpx_event_arg_83          | 2480 kB
 vc.vpx_task                  | 2432 kB
 vc.vpx_event_arg_75          | 2352 kB
(5 rows)

肥大化しているテーブルを削除(本例では、vc.vpx_task を削除)

truncate table vc.vpx_task cascade;

Use% が 90% 以下となるまで繰り返し、vCSA を再起動します。

蛇足ですが、肥大化しているテーブルがタスクやイベント関連の場合、データーベース設定の構成を参考に、イベント保持期限日数を調整することをお勧めします。

以上