vSphere Web Client で「503 Service Unavailable」エラーが発生した場合:どう対処すべきか?

vSphere の中央管理拠点である VMware vCenter Server は、仮想化データセンター内の ESXi ホスト、クラスター、VM、およびその他のコンポーネントを管理するために使用されます。このブログ記事では、 503 サービス利用不可 vCenter に接続しようとした際に vSphere Client で表示されるエラーについて。このエラーの考えられる原因と解決方法については、以下をご覧ください。

NAKIVO for VMware vSphere バックアップ

NAKIVO for VMware vSphere バックアップ

VMware vSphere 仮想マシン(VM)の包括的なデータ保護と即時復旧機能。オンプレミス、オフサイト、クラウド上の安全なバックアップ先。ランサムウェア対策機能。

“の"503 Service Unavailable"エラー(” )とは何ですか?

503 サービス利用不可 は、クライアントがサーバーにリクエストを送信した際にサーバーから返される標準的なHTTPステータスコードの一つです。5xxクラスのHTTPステータスコードは、サーバーエラーをユーザーに通知するために使用されます。これに基づき、 503 サービス利用不可 これは、サーバー側のエラーを示すレスポンスです。通常、このエラーはサーバーがリクエストを処理できないことを示しており、アプリケーションをホストしているWebサーバーで問題の原因を調査する必要があります。

以下は、VMware vSphere Clientにおけるこのエラーの全文です:

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

vCenterの場合 503 Service Unavailable エラーが発生する場合、その原因はさまざまな要因による可能性があります:

  • 一部のサービスはまだ読み込まれておらず、実行されていません(よくある問題として、リバースプロキシサービスやvSphere Web Clientサービスが停止していることが挙げられます)。
  • vCenter Serverはメンテナンス中です
  • vCenter Server に過負荷がかかっています
  • vCenter Serverでディスクの問題が発生しました
  • vCenterで使用されているデータベースに問題があります
  • ファイアウォールの設定ミス(WindowsにインストールされたvCenterの場合)およびネットワークの問題

エラーはクライアント側ではなく、vCenterサーバー上で特定し、修正する必要があります。

サービスはまだ開始されていません

vCenterインスタンスを起動したばかりで、必要なサービスがすべてまだ起動していない場合は、数分待ってから再度お試しください。

  • 別のクライアントからvCenterに接続してみてください。

それでも解決しない場合は、必要なサービスがすべて起動しているか確認してください。

  1. Webブラウザで、vCenterのIPアドレスまたはFQDN(完全修飾ドメイン名)とポート番号5480を入力して、アプライアンス管理インターフェース(vCenter Server Appliance用)を開きます。例:https://192.168.101.103:5480/ui/services
  2. vCenterサービスのステータスを確認するには、 Services セクション。たとえば、vSphere Web Client サービスが Started、そしてvCenter Serverサービスは Stopped、VMware 503 Service Unavailable エラーが発生する可能性があります。Fixing the 503 Service Unavailable error – checking running services
  3. vCenterサービスのステータスは、コンソールおよびコマンドラインインターフェイス(CLI)で確認できます。SSHログイン、コンソールCLI、およびBashシェルを有効にするには、 Access vCenter Appliance管理インターフェースのセクション。SSH login and Bash Shell are enabled in VCSA management settings
  4. 別の方法として、vCenter Server Appliance(VCSA)のDCUI(Direct Console User Interface)でBashシェルとSSHアクセスを有効にすることもできます。 Troubleshooting Mode オプション。
    Enabling SSH access in Troubleshooting Mode options in the DCUI of VCSA
  5. お使いのコンピュータから以下のコマンドを実行し、コンピュータとvCenterサーバーが接続されていることを確認してください(vCenterのホスト名またはIPアドレスを入力してください):

    telnet vcenter_fqdn 9443

  6. SSH経由でvCenterに接続するか、VCSAコンソールに接続します( Alt+F1 vCenterのDCUIにログインし、次のように入力します shell, そして、押してください Enter).
  7. vCenter を実行しているマシンで以下のコマンドを実行し、vCenter サービスの状態を確認します:

    service-control --status --all
    Checking status of vCenter services to find a cause of the 503 Service Unavailable error

  8. 外部のプラットフォーム・サービス・コントローラー(PSC)がある場合は、vCenterとPSC間の接続を確認してください。また、PSC上のサービスも確認してください。
  9. 一部のサービスが停止している場合は、次のコマンドを実行してすべてのサービスを開始してください:

    service-control --start --all

  10. vSphere Client サービスを停止して、再度起動してみてください:

    service-control --stop vsphere-client
    service-control --start vsphere-client

  11. サービスが開始されるまで10~15分ほど待ち、その後vSphere ClientからvCenterにアクセスしてみてください。

ログファイルを確認する

ログファイルを確認することで、vCenterを含むエラーの原因を特定するのに役立ちます 503 Service Unavailable エラー。

まず、 vsphere_client_virgo.log ファイル。

  • Windows 版の vCenter Server では、ログは次の場所に保存されます:
    C:ProgamDataVMwarevCenterServerlogsvsphere-clientlogs
  • vCenter Server Appliance の場合、vCenter のログは次の場所に保存されます:
    /var/log/vmware/vsphere-client/logs/

また、以下の点もご確認ください vpxd.log ファイル。

  • Windows上で動作するvCenterでは、 vpxd.log は次の場所に保存されています:
    C:ProgramDataVMwarevCenterServerlogsvmware-vpx
  • vCenter Server Appliance では、 vpxd.log は次の場所に保存されています:
    /var/log/vmware/vpxd/

利用可能なハードウェアリソースが不足しています

ディスク容量不足はvCenterの原因にはなりません 503 サービス利用不可 エラーそのものです。ただし、空きディスク容量がないと一部のサービスが起動できず、これが原因で 503 サービス利用不可 エラー。vCenterのストレージレイテンシが高いことも、このエラーの原因となる可能性があります。VCSA 6.5以降、アプライアンスには12個の仮想ディスクが提供されるようになりました(それ以前のVCSAでは2個でした)。そのため、いずれかの仮想ディスクで問題が発生する可能性があります。vCenter Serverに過負荷がかかっている場合、サーバーが処理能力を超えているため、リクエストを処理できなくなります。

  • 空きディスク容量を確認し、vCenter Server側でコマンドを実行してください。vCenter Server Applianceを使用している場合は、次のコマンドを実行してください:
    df -h
  • その /storage/archive/ VCSA 6.7 ではパーティションが満杯になることがありますが、これは VMware の vCenter 6.7 の設計上、想定内(正常)の動作です。空きメモリとプロセッサリソースを確認してください:
    top
  • vCenter を実行しているマシンのファイルシステムを確認してください。次のコマンドを使用してください e2fsck VCSAのファイルシステムを確認し、次のコマンドを実行します e2fsck -y filesystem例えば:
    e2fsck -y /dev/sda1
  • エラーが見つかり、修正された場合は、vCenter Server を再起動してください:
    reboot

vCenter データベースに関する問題

データベースは、vCenter Server を正常に動作させるために不可欠なコンポーネントです。データベースが正常に動作していない場合、vCenter で次のようなエラーが発生します。"vCenter 503 サービスが利用できません"というエラーが発生することがあります。考えられるデータベースの問題と、その解決方法について見ていきましょう。

場合によっては、次のようなエラーが vpxd ログファイル:

An unrecoverable problem has occurred, stopping the VMware VirtualCenter service. Error: Error[VdbODBCError] (-1) "ODBC error: (23505) - ERROR: duplicate key value violates unique constraint "pk_vpx_vm_virtual_device";

Error while executing the query" is returned when executing SQL statement "INSERT INTO VPX_VM_VIRTUAL_DEVICE

  • vCenterがWindowsにインストールされている場合は、 イベント ビューアー アプリケーションのイベントログを確認するには。

これは、vCenterの正常な動作に使用される組み込みのPostgresデータベース内のエントリが重複していることに起因する不具合です。

  1. vCenter Server Appliance のコマンドラインインターフェースを開き、たとえば SSH 経由でサーバーに接続します。
  2. Postgresのログディレクトリに移動します:
    cd /var/log/vmware/vpostgres
  3. ログファイルを確認してください。ログファイルの名前は postgresql-“dayofmonth”.log 形式。たとえば、その月の3日目のログファイルは"postgresql-03.log"。もし今日が5月3日であれば、該当するログファイルの内容を確認してください: cat postgresql-03.log
    2020-05-03 16:05:12.749 UTC 38a12db9.5481 1008636 VCDB vc ERROR:  duplicate key value violates unique constraint “pk_vpx_vm_virtual_device”

    2020-05-03 16:05:12.749 UTC 38a12db9.5481 1008636 VCDB vc DETAIL:  Key (id, device_key)=(8101, 4002) already exists.
  4. あのことを覚えていますか ID そして DEVICE_KEYこの例では、これらの値はそれぞれ8101と4002です。
  5. vCenterで使用されている組み込みのPostgresデータベースに接続します:
    /opt/vmware/vpostgres/current/bin/psql -d VCDB -U postgres
  6. 重複しているエントリを削除してください:
    DELETE FROM vc.vpx_vm_virtual_device where id=’8101′ and device_key=’4002′;
    "DELETE 1" 出力に表示されるということは、すべて正常であることを意味します。
  7. データベースCLIを終了します:
    q
  8. 種類 reboot vCenter Server を再起動してください。vCenter Server および各サービスが起動するまで待ち、vSphere Client を開いてみてください。

再起動後に同じエラーが再び発生する可能性があります。データベースのログを再度確認してください。重複エントリが再び作成されていた場合は、それらを削除してvCenterを再起動してください。問題が解決するまで、重複エントリの削除とvCenter Serverの再起動を数回繰り返す必要がある場合があります。

  • 場合によっては、影響を受けたVMを特定し、インベントリからそのVMを削除した後、再度インベントリに登録(追加)する必要があることがあります。
  • この方法で問題が完全に解決しない場合は、vCenter を vCenter 6.7 以降にアップグレードしてみてください。
  • SQLデータベースを使用している場合は、SQLデータベースのログを保存するための空きディスク容量があるか確認してください。SQLデータベースのログ用ファイルシステムに空き容量がない場合、エラーが発生する可能性があります。

権限に関する問題

vCenterがWindows Serverにインストールされている場合、アカウントの権限に関する問題が発生することがあります。

"バッチジョブとしてログオンするグループポリシーエディタで""ポリシーを確認し、必要なアカウントがすべて存在していることを確認してください。vCenterがインストールされているWindows Serverで権限が不足していると、vSphereが 503 Service Unavailable エラー。

  1. Windows でローカル グループ ポリシー エディターを開きます (Start > Run > gpedit.msc).
  2. グループポリシーエディターで、次の場所へ移動します Computer Configuration > Windows Settings > Security Settings > Local Policies > User Rights Assignment > Log on as a batch job.
  3. 以下のユーザーアカウントがポリシーの対象外となっている場合は、追加してください:
    cm
    content-library
    eam
    imagebuilder
    mbcs
    netdumper
    perfcharts
    rbd
    vapiEndpoint
    vmware-vpostgres
    vsan-health
    vsm
    vsphere-client
    vsphere-ui
  4. クリック Add User or Group アカウントを追加するには。Editing permissions in the group policy editor
  5. 次のコマンドを使用して、vSphere Client サービスを停止および開始します。
    service-control --stop vsphere-client
    service-control --start vsphere-client
  6. vSphere ユーザーインターフェイス サービスを開始します:
    service-control --start vsphere-ui
  7. サービスが開始されるまでお待ちください。
  8. vCenter Server を再起動し、vCenter が正常に動作しているか確認してください。

通常、グループポリシーエディターでこのポリシーが手動で設定されるまでは、必要なアカウントはvCenterのインストーラーによって自動的に追加されるはずです。

ネットワークおよびDNSに関する問題

vCenter の DNS 名が正しく設定されており、vCenter Server の IP アドレスが解決されることを確認してください。DNS のエントリに誤りがある場合、次のエラーが発生する可能性があります。 503 Service Unavailable エラー。vCenter をインストールする際は、ステージ 1 の手順 7(ネットワーク設定の構成)で DNS 名を設定してください。

Set the FQDN when you install vCenter to avoid 503 service unavailable (failed to connect to endpoint

外部PSCを使用している場合、PSCのIPアドレスは、フォワードルックアップとリバースルックアップの両方において解決可能でなければなりません。

  1. のホスト名を確認してください /etc/hosts vCenter Server Appliance 上で。このファイルに、完全修飾ドメイン名(FQDN)と短縮名が以下の形式で記載されていることを確認してください:
    vCenter_IP vCenter Server Appliance FQDN vcenter short name
    例えば:
    192.168.101.103 vCenter6-7.vsphere.local vCenter6-7
  2. DNSの設定を変更した後、 vpxd サービス:
    service vmware-vpxd restart
  3. のステータスを確認できます vpxd 次のコマンドでサービスを実行します:
    vpxd status service vmware-vpxd status
  4. PSC上で、関連するサービスを再起動するために以下のコマンドを実行してください:
    /etc/init.d/vmware-stsd restart
    /etc/init.d/vmware-sts-idmd restart
    service vmware-cm restart
  5. を再起動する vpxd vCenterがインストールされているマシンでのサービス:
    service vmware-vpxd restart
  6. 必要なサービスがすべて起動するまで待ち、VMware vSphere Client を開いてみてください。
    ネットワークの問題を最小限に抑えるため、PSC を組み込んだ vCenter 展開モデルの使用をお勧めします。vCenter 7.0 などの最新バージョンの vCenter では、PSC を組み込んだインストールのみがサポートされています。

それでもvCenterが表示される場合は 503 Service Unavailable エラーが発生した場合は、次の方法を試してください。

  1. IPv6を有効または無効にしてみてください。開いてください /etc/sysctl.conf そして、 net.ipv6.conf.eth0.disable_ipv6 出典: 1 ~へ 0 IPv6を有効にするには:
    #Disabling SLAAC/Link Local addresses
    net.ipv6.conf.eth0.disable_ipv6=0
  2. 同様に、IPv6を無効にするには1を設定してください。
  3. 設定を保存したら、次のコマンドを実行してください:
    sysctl -a
    sysctl -p
  4. 今すぐVMware vSphere Clientを開いてください。再起動後、すべてが正常に動作しているか確認してください。
  5. SMBv1を無効にし、代わりにSMBv2を有効にしてみてください。その後、vCenter Serverを再起動し、この方法で問題が解決したか確認してください。

パスワードに関する問題

vCenter Server Appliance の root パスワードの有効期限が切れていないか確認してください。有効期限が切れている場合、vCenter にログインして設定の編集や、vCenter Appliance を含むエラーの修正を行うことができません。 503 Service Unavailable 回避策のないエラーです。root パスワードの有効期限を 0 パスワードの有効期限を無期限にしたい場合は。

  1. vCenter Server Appliance Management の GUI で、root パスワードの有効期限設定を編集できます:
    https://your_vCenter_IP:5480/ui/administrationThe root password expiration settings in vCenter Server Appliance Management configuration
  2. もしパスワードが一致しない場合は vmdird で指定されたアカウントに対して vmdird-syslog.logこの要因が、以下のエラーが発生する原因となっている可能性があります:

    503 Service Unavailable (Failed to connect to endpoint: [N7Vmacore4Http20NamedPipeServiceSpecE:0x7f3d084a60c0] _serverNamespace = / _isRedirect = false _pipeName =/var/run/vmware/vpxd-webserver-pipe)"

  3. 以下を確認してください /var/log/vmware/vmdird/vmdird-syslog.log どのアカウントのパスワードが無効で、リセットが必要かを特定するためのファイル。
    注: 設定を変更する前に、vCenterのバックアップを作成してください。vCenter Serverが仮想マシン上で実行されている場合は、少なくともスナップショットを取得してください。外部Platform Service Controllerを使用している場合は、そちらについても同様の対応を行ってください。
  4. vCenter Server Appliance に次のようにログインします root SSH経由で。次のように入力してください shell.set --enabled true そして入力してください Shell Bashコンソールにアクセスするには。
  5. を開く vdcadmintool 次のコマンドを実行してツールを実行します:
    /usr/lib/vmware-vmdir/bin/vdcadmintool
  6. 3番目の選択肢を選択してください:
    Reset account password
  7. [ ] 内の情報に従って、パスワードをリセットしたいアカウントの名前を入力してください。 vmdird-syslog.log ファイル。
  8. 新しいパスワードが自動的に生成されます。このパスワードをコピーして、メモしておいてください。
    注: パスワードに空白文字が表示されている場合は、前の手順に戻って新しいパスワードを生成してください。この問題は、パスワードに特殊文字が含まれている場合、それらが欠落(空白)文字として表示されることで発生します。
  9. 前述の手順に従って、SSH経由でvCenter Serverに接続します(外部PSCを使用している場合)。組み込みPSCを使用している場合は、次の手順に進んでください。
  10. 新しいパスワードを更新するために、次のコマンドを実行してください:
    /opt/likewise/bin/lwregshell
    cd HKEY_THIS_MACHINEservicesvmdir
    set_value dcAccountPassword "new password"
    quit
  11. 次のコマンドを使用して、vCenter Server Appliance のサービスを再起動します:
    service-control --stop --all
    service-control --start --all

vCenterのバックアップを実行する

一般的に、設定完了後にvCenterのバックアップを作成することをお勧めします。vCenterが正常に動作していることを確認した後、設定を編集する前にバックアップを作成しておくことで、万が一問題が発生した場合でもvCenterを復元できるようになります。vCenterの設定は運用中に変更される可能性があり、vCenterインベントリに項目が追加されることもあるため、定期的にバックアップを作成することが最善の対策です。障害がいつ発生するかは予測できません。

NAKIVO Backup & Replication これは、VMware vSphereの仮想マシンや、WindowsおよびLinuxを実行する物理マシン(SQLデータベースを含む)のバックアップが可能な、汎用的なデータ保護ソリューションです。vCenter Serverマシンを保護するには、 NAKIVO Backup & Replicationまた、vCenterに何らかの問題が発生した場合でも、正常な構成を短時間で復元できます。増分バックアップとGFS保持ポリシーのサポートにより、VMware vCenterのバックアップをより効率的に実行できます。本製品はSQLログの切り捨てに対応しており、ストレージ容量を節約できるほか、大規模なデータベースログによるディスク容量不足が原因で発生するエラーの可能性を低減します。

試してみてください NAKIVO Backup & Replication

試してみてください NAKIVO Backup & Replication

無料トライアルをご利用いただき、本ソリューションのデータ保護機能をすべてお試しください。15日間無料です。機能や容量の制限は一切ありません。クレジットカードも不要です。

People also read