vCenter 8.0 で vPostgres サービスが起動に失敗する
search cancel

vCenter 8.0 で vPostgres サービスが起動に失敗する

book

Article ID: 424251

calendar_today

Updated On:

Products

VMware vCenter Server VMware vCenter Server 8.0

Issue/Introduction

vCenter Server 8.0 U2 環境において、以下の事象が発生します。

  • ブラウザで vSphere Client にアクセスすると「no healthy upstream」が表示される
  • service-control --status で vmware-vpostgres のサービスを確認すると、「start-pending」のままとなる
  • vmon.log に以下のログが記録される
    • Service batch op START failed. Failed services: 'vmware-vpostgres'
    • <vmware-vpostgres> Service api-health command's stderr: Error getting service health. Error: Failed to read health xml file: /dev/shm/vmware-postgres-health-status.xml. Error: [Errno 2] No such file or directory: '/dev/shm/vmware-postgres-health-status.xml'

Environment

VMware vCenter Server 8.0

Cause

データベースの構成ファイルである postgresql.conf が破損、または意図せず書き換えられています。
ファイルサイズが極端に小さくなり、起動に必要なパラメータが欠落しています。
この不整合により、プリスタート処理や API ヘルスチェックが正常に完了できません。

Resolution

破損した postgresql.conf を、同一バージョンの正常なデフォルトファイルに差し替えます。

  1. SSH で vCenter Server に root ユーザーでログインします。
  2. 以下のコマンドでシェルを起動します。
    shell
  3. /storage/db/vpostgres/postgresql.conf のバックアップを作成します。
    cp /storage/db/vpostgres/postgresql.conf /storage/db/vpostgres/postgresql.conf.org
  4. 正常な vCenter(同一バージョン)から取得した postgresql.conf を対象ディレクトリに配置します。
  5. ファイルの所有権とパーミッションを確認します。
      • 所有権: vpostgres:vpgmongrp
      • パーミッション: 600 (-rw-------) 
  6. 以下のコマンドですべてのサービスを再起動します。
    service-control --stop --all
    service-control --start --all
  7. サービスが正常に起動するまで 15 分程度待ちます。

Additional Information