VMware Cloud Director で vCenter Server が頻繁に切断と再接続を繰り返し、「Error caused by vCenter Server disconnect.」というエラーメッセージが表示される
search cancel

VMware Cloud Director で vCenter Server が頻繁に切断と再接続を繰り返し、「Error caused by vCenter Server disconnect.」というエラーメッセージが表示される

book

Article ID: 449700

calendar_today

Updated On:

Products

VMware Cloud Director

Issue/Introduction

免責事項: これは英文の記事「vCenter Server frequently disconnects and reconnects in VMware Cloud Director with the error message: "Error caused by vCenter Server disconnect."」の日本語訳です。記事はベストエフォートで翻訳を進めているため、ローカライズ化コンテンツは最新情報ではない可能性があります。最新情報は英語版の記事を参照してください。

  1. VMware Cloud Director (VCD) にて、vCenter Server が数秒おきに切断と再接続を繰り返します。
  2. VMware Cloud Director のログ(/opt/vmware/vcloud-director/logs/vcloud-container-debug.log)に以下のような出力を確認できます。

    pc-activity-pool-532744   | JobManager | Add activity log: <JOB_VC_START_CONNECTION> <XXXX-vc01(com.vmware.vcloud.entity.vimserver:XXXXXXX-XXXX-XXXX-XXXX-XXXXXXXX)> |
    pc-activity-pool-532744   | CJob| updateFailedJob(com.vmware.ssdc.util.LMException) with locale=null |
    com.vmware.ssdc.util.LMException: Error caused vCenter Server disconnect
            at com.vmware.ssdc.backend.vimeventlistener.VirtualCenterListener.onVirtualCenterConnectionStateChanged(VirtualCenterListener.java:108)
            at com.vmware.vcloud.inventory.events.impl.VirtualCenterConnectionChangedEvent.dispatchTo(VirtualCenterConnectionChangedEvent.java:39)
            at com.vmware.vcloud.inventory.events.impl.EventManagerImpl.dispatchEvent(EventManagerImpl.java:514)

    Caused by: org.postgresql.util.PSQLException: ERROR: deadlock detected
    Detail: Process 30906 waits for ShareLock on transaction 1571535272; blocked by process 330.
    Process 330 waits for ShareLock on transaction 1571535282; blocked by process 30906.
      Hint: See server log for query details.
      Where: while updating tuple (15,1) in relation "property_map"
            at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2440)
            at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2183)
            at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:308)

Environment

VMware Cloud Director 10.5.x and later

Cause

VCD 内の property_map テーブルへの更新が LOW_PRIORITY チャネルと IAAS_OTHER チャネルの両方から同時に行われると、デッドロックが発生します。3 回再試行した後にトランザクションは失敗し、その結果 VMware Cloud Director と vCenter の切断と再接続が行われます。

Resolution

この問題は VMware Cloud Director 10.6.1 で修正されています。

 

Workaround:
この事象に依る切断を防ぐには、低優先度チャネル(low priority channel)の無効化を行います。このチャネルを無効にしてもシステムに重大な影響はありません。

低優先度チャネルを無効にする手順:

  1. 次のコマンドを実行します。
    /opt/vmware/vcloud-director/bin/cell-management-tool manage-config -n vcloud.pc.lowpriority.channel.enabled -v false

  2. VCD から vCenter への再接続を行います。

Note: VCD のサービス再起動は必要ありません。