VCSA vSphere AutoDeploy サービスで動作の遅延が発生しています
search cancel

VCSA vSphere AutoDeploy サービスで動作の遅延が発生しています

book

Article ID: 427224

calendar_today

Updated On:

Products

VMware vCenter Server VMware vCenter Server 8.0

Issue/Introduction

免責事項:これは英文の記事 「The VCSA vSphere AutoDeploy service is experiencing slowness」の日本語訳です。
記事はベストエフォートで翻訳を進めているため、ローカライズ化コンテンツは最新情報ではない可能性があります。
最新情報は英語版の記事で参照してください。


  • VCSA vSphere AutoDeployサービスでパフォーマンスの問題が発生しており、UIペインでのAutoDeploy操作に遅延や問題が発生しています
  • vSphere UI の Auto Deploy セクションにアクセスすると、特にルールを変更した後は、読み込みにかなりの時間がかかります。
  • AutoDeploy ルールをさらに編集するためにアクティブ化または非アクティブ化しようとすると、UI で次のエラーが発生します。
    Operation failed! Live rule set not cached yet, please retry in a few seconds
    
  • Auto Deploy データベースとキャッシュをクリアしたり、Auto Deploy ランタイム キャッシュ サイズを増やしたりしても、問題は解決しません。
  • /var/log/vmware/rbd/rbd-syslog.log に vmwCacheRequest の timed out ログが記録されます。
    grep -i "exception:rbdplugins.plainpxe.vmwCacheRequest -- timed out" /var/log/vmware/rbd/rbd-syslog.log | cat 
    yyyy-mm-ddThh:mm:ss.Z err rbd  [17904]pluginmaster:ERROR:exception:rbdplugins.plainpxe.vmwCacheRequest -- timed out
    yyyy-mm-ddThh:mm:ss.Z err rbd  [17904]pluginmaster:ERROR:exception:rbdplugins.plainpxe.vmwCacheRequest -- timed out
    yyyy-mm-ddThh:mm:ss.Z err rbd  [126714]pluginmaster:ERROR:exception:rbdplugins.plainpxe.vmwCacheRequest -- timed out
    yyyy-mm-ddThh:mm:ss.Z err rbd  [126714]pluginmaster:ERROR:exception:rbdplugins.plainpxe.vmwCacheRequest -- timed out
    yyyy-mm-ddThh:mm:ss.Z err rbd  [1766587]pluginmaster:ERROR:exception:rbdplugins.plainpxe.vmwCacheRequest -- timed out
    yyyy-mm-ddThh:mm:ss.Z err rbd  [1766587]pluginmaster:ERROR:exception:rbdplugins.plainpxe.vmwCacheRequest -- timed out
    yyyy-mm-ddThh:mm:ss.Z err rbd  [1766587]pluginmaster:ERROR:exception:rbdplugins.plainpxe.vmwCacheRequest -- timed out
    yyyy-mm-ddThh:mm:ss.Z err rbd  [1766587]pluginmaster:ERROR:exception:rbdplugins.plainpxe.vmwCacheRequest -- timed out
    yyyy-mm-ddThh:mm:ss.Z err rbd  [16806]pluginmaster:ERROR:exception:rbdplugins.plainpxe.vmwCacheRequest -- timed out
    yyyy-mm-ddThh:mm:ss.Z err rbd  [16806]pluginmaster:ERROR:exception:rbdplugins.plainpxe.vmwCacheRequest -- timed out
    yyyy-mm-ddThh:mm:ss.Z err rbd  [290657]pluginmaster:ERROR:exception:rbdplugins.plainpxe.vmwCacheRequest -- timed out
    
  • rbd-syslog.log のエントリは次のとおりです。
    less /var/log/vmware/rbd/rbd-syslog
    yyyy-mm-ddThh:mm:ss.Z err rbd  [2395781]pluginmaster:ERROR:exception:rbdplugins.ruleset.vmwCacheRequest -- timed out
    Traceback (most recent call last):
    File "bora/install/vmvisor/autodeploy/site-packages/vmware/rbd/utils/pluginmaster.py", line 236, in _curry
    File "bora/install/vmvisor/autodeploy/var/rbdplugins/ruleset.py", line 134, in vmwCacheRequest
    File "bora/install/vmvisor/autodeploy/site-packages/vmware/rbd/vc_extension.py", line 629, in clientConnect
    File "/usr/lib/vmware/site-packages/pyVmomi/VmomiSupport.py", line 612, in __call__
    return self.f(*args, **kwargs)
    File "/usr/lib/vmware/site-packages/pyVmomi/VmomiSupport.py", line 400, in _InvokeAccessor
    return self._stub.InvokeAccessor(self, info)
    File "/usr/lib/vmware/site-packages/pyVmomi/StubAdapterAccessorImpl.py", line 44, in InvokeAccessor
    return self.InvokeMethod(mo, info, (prop, ))
    File "/usr/lib/vmware/site-packages/pyVmomi/SoapAdapter.py", line 1558, in InvokeMethod
    resp = conn.getresponse()
    File "/usr/lib/python3.10/http/client.py", line 1375, in getresponse
    response.begin()
    File "/usr/lib/python3.10/http/client.py", line 318, in begin
    version, status, reason = self._read_status()
    File "/usr/lib/python3.10/http/client.py", line 279, in _read_status
    line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
    File "/usr/lib/python3.10/socket.py", line 705, in readinto
    return self._sock.recv_into(b)
    TimeoutError: timed out
    yyyy-mm-ddThh:mm:ss.Z err rbd  [2395781]cacher:ERROR:unable to satisfy cache request -- ('ruleset', 'liveRuleSetList', 1, 0, 'yyyy-mm-dd hh:mm:ss', 0, None, 'yyyy-mm-dd hh:mm:ss', None, None)
    yyyy-mm-ddThh:mm:ss.Z err rbd  [2395781]pluginmaster:ERROR:exception:rbdplugins.plainpxe.vmwCacheRequest -- timed out
    Traceback (most recent call last):
    File "bora/install/vmvisor/autodeploy/site-packages/vmware/rbd/utils/pluginmaster.py", line 236, in _curry
    File "bora/install/vmvisor/autodeploy/var/rbdplugins/plainpxe.py", line 782, in vmwCacheRequest
    File "bora/install/vmvisor/autodeploy/site-packages/vmware/rbd/vc_extension.py", line 629, in clientConnect
    File "/usr/lib/vmware/site-packages/pyVmomi/VmomiSupport.py", line 612, in __call__
    return self.f(*args, **kwargs)
    File "/usr/lib/vmware/site-packages/pyVmomi/VmomiSupport.py", line 400, in _InvokeAccessor
    return self._stub.InvokeAccessor(self, info)
    File "/usr/lib/vmware/site-packages/pyVmomi/StubAdapterAccessorImpl.py", line 44, in InvokeAccessor
    return self.InvokeMethod(mo, info, (prop, ))
    File "/usr/lib/vmware/site-packages/pyVmomi/SoapAdapter.py", line 1558, in InvokeMethod
    resp = conn.getresponse()
    File "/usr/lib/python3.10/http/client.py", line 1375, in getresponse
    response.begin()
    File "/usr/lib/python3.10/http/client.py", line 318, in begin
    version, status, reason = self._read_status()
    File "/usr/lib/python3.10/http/client.py", line 279, in _read_status
    line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
    File "/usr/lib/python3.10/socket.py", line 705, in readinto
    return self._sock.recv_into(b)
    TimeoutError: timed out
    

Environment

VMware vCenter Server 8.0.x

Cause

この問題は、rbd-server が rbd-cgi からの liveRuleSet(rbd-server から常に参照可能であるべきローカルプロパティ)要求に対して応答しないことにより特定されました。
このことは、プロパティ自体の有無ではなく、接続確立(connection establishment)処理に問題があることを示しています。

Resolution

AutoDeployの速度低下の問題を解決するための手順を以下に示します

  1. vCenter VMのバックアップを作成します(例えば、VMのスナップショットを作成します。できれば停止状態で作成してください)。VMの実行中にスナップショットを作成する場合は、メモリもバックアップに含まれていることを確認してください。
  2. bash シェルで vCenter への SSH 接続を介して次のコマンドを発行して、AutoDeploy サービスを停止します。
    service-control --stop rbd
    
  3. 英語版KBより添付ファイルをダウンロードしてください。 この添付ファイル(rhttpproxy.json.in)は既存のファイル(/usr/share/vmware-rbd/rhttpproxy.json.in)を置き換えるために必要です。置換を実行するには、次のコマンドを使用します (添付ファイルが VCSA /root フォルダにアップロードされており、 root でログインしていることを前提とします)。
    mv /usr/share/vmware-rbd/rhttpproxy.json.in /usr/share/vmware-rbd/rhttpproxy.json.in.org 
    mv rhttpproxy.json.in /usr/share/vmware-rbd/
    
  4. 次のコマンドで、新しいファイルの所有権を「deploy:deploy」に変更します。
    chown deploy:deploy /usr/share/vmware-rbd/rhttpproxy.json.in
    
  5. 次のコマンドでファイルを全員に対して読み取り専用に設定します
     chmod 444 /usr/share/vmware-rbd/rhttpproxy.json.in 
    
  6. /usr/share/vmware-rbd/フォルダ内にファイル(正しい属性を持つ)が存在することを確認するには、以下を実行します。
    ls -al /usr/share/vmware-rbd/
    Expected result:
    total 28
    drwxr-xr-x  2 root   root   4096 Mar 30 13:41 .
    drwxr-xr-x 54 root   root   4096 Mar 25 08:45 ..
    -r--r--r--  1 deploy deploy 8625 Mar 30  2025 rhttpproxy.json.in
    -r--r--r--  1 deploy deploy 6328 Mar 26 17:21 rhttpproxy.json.in.org
    
  7. autodeploy-proxy.confファイルを/etc/vmware-rhttpproxy/endpoints.conf.d/から /root フォルダに移動します。
     mv /etc/vmware-rhttpproxy/endpoints.conf.d/autodeploy-proxy.conf /root
    
  8. /etc/vmware-rhttpproxy/endpoints.conf.d/フォルダ内に autodeploy-proxy.confファイルが残っていないことを確認します。
    ls /etc/vmware-rhttpproxy/endpoints.conf.d/autodeploy-proxy.conf
    
    Expected result:
    ls: cannot access '/etc/vmware-rhttpproxy/endpoints.conf.d/autodeploy-proxy.conf': No such file or directory
    
  9. 以下のコマンドで AutoDeploy サービスを開始します。
    service-control --start rbd
    
  10. すべてのタブが期待どおりに表示されることを確認して、AutoDeploy UI が適切に機能していることを確認します。
  11. 次のコマンドを実行して、1つの接続(LISTENING接続)のみが開いていることを確認します。
    netstat -anp | grep rbd-server-pipe | wc -l
    1