vCenter を 8.0.3 U3g にアップグレードした後、vCenter のバックアップが失敗する
search cancel

vCenter を 8.0.3 U3g にアップグレードした後、vCenter のバックアップが失敗する

book

Article ID: 434012

calendar_today

Updated On:

Products

VMware vCenter Server 8.0

Issue/Introduction

免責事項:これは英文の記事「vCenter backups are failing after upgrading the vCenter to 8.0.3 U3g(413597)」の日本語訳です。記事はベストエフォートで翻訳を進めているため、ローカライズ化コンテンツは最新情報ではない可能性があります。最新情報は英語版の記事で参照してください。

 

  • vCenter を 8.0.3 にアップグレードした後、以下のサービスが実行(起動)されなくなります。

    vstats (VMware vStats Service)
    vtsdb (VMware vTsdb Service)

  • これらのサービスが停止状態に陥るため、vCenter VAMI(管理インターフェイス)からのバックアップの実行も失敗します。

  • /var/log/vmware/vstats/vstats-stdout.log には、以下のようなエントリが記録されます:

    <timestamp>  PANIC   vcrecoverable/vcrecoverable.go:126      Error while getting providers.  {"vStats": "MVP", "PANIC": "Error while getting providers."}
    vstats/util/vcrecoverable.handlePanic
             bora/vpx/vstats/vstats-svc/src/vstats/util/vcrecoverable/vcrecoverable.go:126
    runtime.gopanic

  • /var/log/vmware/vtsdb/postgresql.log には、以下のようなエントリが記録されます(権限拒否エラー):

    ####-##-## ##:##:##.### UTC 68c######.##### 0 FATAL: could not open log file "/var/log/vmware/vtsdb/postgresql.log": Permission denied 
    ####-##-## ##:##:##.### UTC 68c######.##### 0 LOG: database system is shut down Starting service process with pid: #######. 
    ####-##-## ##:##:##.### UTC 68########.##### 0 FATAL: could not open log file "/var/log/vmware/vtsdb/postgresql.log": Permission denied 
    ####-##-## ##:##:##.### UTC 68#######.##### 0 LOG: database system is shut down Starting service process with pid: #######.
    ####-##-## ##:##:##.### UTC 68#######.##### 0 FATAL: could not open log file "/var/log/vmware/vtsdb/postgresql.log": Permission denied

  • vStats および vtsdb サービスを手動で再起動しようとすると、以下のエラーが発生します:

    root@vCenter [ ~ ]# service-control --restart vtsdb
    Service-control failed. Error: Failed to restart service vtsdb. vmon-cli RC=2, stderr=Restart service request failed. Error: Service crashed while starting
    root@vCenter [ ~ ]# service-control --restart vstats
    Service-control failed. Error: Failed to restart service vstats. vmon-cli RC=2, stderr=Restart service request failed. Error: Service crashed while starting

  • vCenter上で /storage/log と /var/log/vmware/vtsdb ディレクトリの権限を確認すると、本来のユーザーではなく root:root となっています。

    root@###### [ /storage/vtsdb ]# ls -l
    total ####
    drwx------  2 root root ##### ### ## ##### lost+found
    drwx------ 18 root root ##### ### ## ##### vtsdbdata

    root@###### [ /var/log/vmware/vtsdb ]# ls -l
    total ####
    -rw------- 1 root root ####### ### ## ##### postgresql.log
    -rw------- 1 root root ####### ### ## ##### postgresql.log-####-##-##_##:##:##.gz
    -rw------- 1 root root ####### ### ## ##### vtsdb-runtime.log.stderr
    -rw------- 1 root root ####### ### ## ##### vtsdb-runtime.log.stdout

Environment

VMware vCenter Server 8.0.3

Cause

  • vCenter 8.0.3 へのアップグレード後、vstats のバックエンドで稼働する vtsdb (PostgreSQL) プロセスが、自身のログファイルに書き込むための権限を持っていないため、起動に失敗しています。
  • これはアップグレード中に、/var/log/vmware/vtsdb/ の所有権(オーナーシップ)や権限がリセットされたか、破損してしまったことが原因です。

Resolution

  1. root ユーザーとして vCenter に SSH 接続します。

  2. chown コマンドを使用して、以下のように所有権(パーミッション)を修正します。
    /storage/vtsdb の権限を root:root から vtsdbuser:root へ変更。
    /var/log/vmware/vtsdb の権限を root:root から vtsdbuser:users へ変更。

    chown vtsdbuser:root /storage/vtsdb/vtsdbdata/
    chown vtsdbuser:users /var/log/vmware/vtsdb/postgresql.log
    chown vtsdbuser:users /var/log/vmware/vtsdb/postgresql.log-####-##-##_##\:##\:##.gz/var/log/vmware/vtsdb/postgresql.log-####-##-##_##\:##\:##.gz
    chown vtsdbuser:users /var/log/vmware/vtsdb/vtsdb-runtime.log.stderr
    chown vtsdbuser:users /var/log/vmware/vtsdb/vtsdb-runtime.log.stdout

  3. 権限が正しく変更されたか確認します。出力例は以下のようになります。

    root@vCenter [ /storage/vtsdb ]# ls -ltrah /storage/vtsdb
    total ##
    drwx------  2 root      root ##### ### ## ##### lost+found
    drwx------ 18 vtsdbuser root ##### ### ## ##### vtsdbdata

    root@vCenter [ /var/log/vmware/vtsdb ]# ls -ltrah /var/log/vmware/vtsdbtotal ####
    -rw------- 1 vtsdbuser users ####### ### ## ##### postgresql.log
    -rw------- 1 vtsdbuser users ####### ### ## ##### postgresql.log-####-##-##_##:##:##.gz
    -rw------- 1 vtsdbuser users ####### ### ## ##### vtsdb-runtime.log.stderr
    -rw------- 1 vtsdbuser users ####### ### ## ##### vtsdb-runtime.log.stdout

  4. 以下のコマンドで vtsdb と vstats サービスを再起動します。

    root@vCenter [ ~ ]# service-control --restart vtsdb
    root@vCenter [ ~ ]# service-control --restart vstats

  5. サービスが正常に起動し、VAMIからのバックアップも成功するようになります。