Postgres サービスの起動失敗により、SDDC Manager UI でエラー「502 Bad Gateway」が発生する
search cancel

Postgres サービスの起動失敗により、SDDC Manager UI でエラー「502 Bad Gateway」が発生する

book

Article ID: 430668

calendar_today

Updated On:

Products

VMware SDDC Manager

Issue/Introduction

免責事項: これは英文の記事  SDDC Manager UI fails with error '502 Bad Gateway' due to Postgres service not starting (417256) の日本語訳です。記事はベストエフォートで翻訳を進めているため、ローカライズ化コンテンツは最新情報ではない可能性があります。最新情報は英語版の記事で参照してください。

  • SDDC Manager UI へのアクセスを試みると、直後に以下のようなエラーメッセージ「502 Bad Gateway」が表示される。
  • Operations manager、Domain manager、commonsvcs のログが生成されず、nginx の起動に失敗する。
  • SDDC Manager アプライアンスの VM コンソールに 「[FAILED] Failed to start Postgres」 というメッセージが表示される。
  • postgres サービスのステータスを確認するために以下のコマンドを実行すると、「could not translate host name 'localhost'」 と表示される。これは、SDDC Manager が自分自身を解決できなかったことを意味します。

    # systemctl status postgres
    * postgres.service - Postgres
         Loaded: loaded (/etc/systemd/system/postgres.service; enabled; vendor preset: enabled)
         Active: failed (Result: exit-code) since Day YYYY-MM-DD HH:MM:SS UTC;
        Process: 910 ExecStartPre=/usr/bin/sh -c /opt/vmware/vcf/commonsvcs/scripts/postgres/postgres-upgrade.sh /usr/pgsql/15/bin/ 15 (code=exited, status=0/SUCCESS)
        Process: 920 ExecStart=/usr/pgsql/15/bin/pg_ctl start -D ${PGDATA} -s -w -t 270 (code=exited, status=1/FAILURE)

    MM DD HH:MM:SS <sddc_manager_fqdn> pg_ctl[940]: YYYY-MM-DD HH:MM:SS UTC [940] LOG:  starting PostgreSQL 15.12 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 10.5.0, 64-bit
    MM DD HH:MM:SS <sddc_manager_fqdn> pg_ctl[940]: YYYY-MM-DD HH:MM:SS UTC [940] LOG:  could not translate host name "localhost", service "5432" to address: Temporary failure in name resolution
    MM DD HH:MM:SS <sddc_manager_fqdn> pg_ctl[940]: YYYY-MM-DD HH:MM:SS UTC [940] WARNING:  could not create listen socket for "localhost"
    MM DD HH:MM:SS <sddc_manager_fqdn> pg_ctl[940]: YYYY-MM-DD HH:MM:SS UTC [940] FATAL:  could not create any TCP/IP sockets
    MM DD HH:MM:SS <sddc_manager_fqdn> pg_ctl[940]: YYYY-MM-DD HH:MM:SS UTC [940] LOG:  database system is shut down
    MM DD HH:MM:SS <sddc_manager_fqdn> pg_ctl[920]: pg_ctl: could not start server
    MM DD HH:MM:SS <sddc_manager_fqdn> pg_ctl[920]: Examine the log output.
    MM DD HH:MM:SS <sddc_manager_fqdn> systemd[1]: postgres.service: Control process exited, code=exited, status=1/FAILURE
    MM DD HH:MM:SS <sddc_manager_fqdn> systemd[1]: postgres.service: Failed with result 'exit-code'.
    MM DD HH:MM:SS <sddc_manager_fqdn> systemd[1]: Failed to start Postgres.

  • "/etc/hosts" ファイル内のループバックアドレスの解決設定がコメントアウトされています。
    # Begin /etc/hosts (network card version)
    # End /etc/hosts (network card version)
    # VAMI EDIT BEGIN
    # Generated by Studio VAMI service. Do not modify manually.
    # 127.0.0.1 <sddc_manager_fqdn> <sddc_manager_hostname> localhost
    # :: 1 <sddc_manager_fqdn> <sddc_manager_hostname> localhost ipv6-localhost ipv6-loopback
    # VAMI EDIT END

Environment

VCF 5.x
VCF 9.x

Cause

/etc/hosts ファイル内のループバックアドレスのエントリがコメントアウトされていたため、Postgres サービスの初期化に失敗しました。この設定により、サービスの内部動作と起動に不可欠なローカルホスト名(localhost)の解決ができなくなることが原因です。

Resolution

  1. /etc/hosts ファイルのバックアップを取得します。
    cp /etc/hosts /etc/hosts.backup

  2. vi エディタで /etc/hosts ファイルを編集します。
    vi /etc/hosts

  3. hosts ファイルを編集し、以下の例のように IPv4 および IPv6 ループバックアドレス解決の行から # を削除します。
    # Begin /etc/hosts (network card version)
    # End /etc/hosts (network card version)
    # VAMI EDIT BEGIN
    # Generated by Studio VAMI service. Do not modify manually.
    # 127.0.0.1 <sddc_manager_fqdn> <sddc_manager_hostname> localhost
    # :: 1 <sddc_manager_fqdn> <sddc_manager_hostname> localhost ipv6-localhost ipv6-loopback
    # VAMI EDIT END

  4. Esc + :wq! を入力して保存し、Enter を押して vi エディタを終了します。

  5. 変更内容を確認します。
    cat /etc/hosts

  6. SDDC Manager アプライアンスを再起動します。