ESXiで503 Service Unavailable (Failed to connect to endpoint…)というエラーがでる場合の対処法

ESXiのホストのFQDNを用いて,Web UIにアクセスしようとすると,以下のようなエラーが出る場合があります。

503 Service Unavailable (Failed to connect to endpoint: [N7Vmacore4Http16LocalServiceSpecE:0x000000a63051bb30] _serverNamespace = / action = Allow _port = 8309)
このような場合,どのような可能性を探っていったらよいでしょうか。

hostdのサービスが起動していない可能性がある

上記のエラーが出る直接の原因としては,hostdのサービスが起動していない可能性があります。

それで,hostdのステータスを確認してみましょう。

まず,ESXiのコンソールにログインして,Troubleshooting OptionからSSHを有効にし,SSHクライアントから接続します。

以下のコマンドでhostdのステータスを確認します。

/etc/init.d/hostd status

すると,hostd is not runningといったメッセージが返ってくるかもしれません。

その場合,以下のコマンドでhostdに関するログをチェックしてみましょう。

cat /var/log/hostd.log

すると,以下のようなエラーが出ていることがあります。

The ramdisk ‘tmp’ is full

The ramdisk ‘tmp’ is fullの解消方法

では実際に,tmpフォルダの中身を確認してみましょう。以下のコマンドです。

ls /tmp -al

すると,270MBほどある,ams-bbUsg.txtという大きなファイルが見つかりました。

ams-bbUsg.txtという大きなファイルが見つかった

ams-bbUsg.txtという大きなファイルが見つかった

このファイルが,tmpフォルダの容量を圧迫していることは間違いありません。

ですので,次のコマンドで,そのファイルを削除しましょう。

rm /tmp/ams-bbUsg.txt

ams-bbUsg.txtとは?

このamsというのは,Agentless Management Service (AMS)のことで,HPEのサーバーを使用している場合にインストールされる場合があります。デバイスドライバーやサービスなどのイベントリ情報を取得するために用いられる,管理サービスです。

これは既知の問題で,HPEもアップデートを出していますので,将来にバージョンアップする際には解消されることが期待できます。
https://support.hpe.com/hpsc/doc/public/display?docId=emr_na-a00073323en_us&docLocale=en_US

それまでの間は,tmpフォルダ内にあるams-bbUsg.txtを削除することで,この問題を回避するしかありません。

tmpフォルダに十分な空き容量が出たら,以下のコマンドで,hostdを起動してあげましょう。

/etc/init.d/hostd start

これで,503エラーが解消することを確認します。

それでもhostdが起動しない場合

tmpフォルダが一杯だと,ESXiを再起動しても,幾つかのサービスが起動できない場合があります。

そのような場合には,管理サービスをすべて再起動するのが良いでしょう。SSHログインして,以下のコマンドを実行します。

services.sh restart

全てのサービスが再起動するには,1分程度かかると思いますが,完了するのを待ちます。

ちなみに,上記のコマンドを実行してサービスを再起動しても,ESXi上のVMには特に影響を及ぼすことはありません。VM自体は稼働を続けることができます。

 

この503エラーの問題は,ESXiが予期せぬシャットダウンを経験したり,ネットワークが突然ダウンした後に復旧した場合に生じることが良くありますが,上記の方法で解消することが多いです。

同様のエラーが出てしまった方のご参考になれば幸いです。

コメント