ESXi ホスト上に多くのトランスポート ノードと仮想マシンがある大規模な環境では、ESXi ホスト上で実行される NSX Agent が NSX Manager との通信中にタイムアウトになる可能性があります。

問題

仮想マシンの vNIC が論理スイッチに接続する場合などで、処理に失敗する。 /var/run/log/nsx-opsagent.log に次のようなメッセージが記録される。
level="ERROR" errorCode="MPA41542"] [MP_AddVnicAttachment] RPC call [0e316296-13-14] to NSX management plane timout
2017-05-15T05:32:13Z nsxa: [nsx@6876 comp="nsx-esx" subcomp="NSXA[VifHandlerThread:-2282640]" tid="1000017079" level="ERROR" errorCode="MPA42003"] [DoMpVifAttachRpc] MP_AddVnicAttachment() failed: RPC call to NSX management plane timout

原因

大規模な環境では、一部の処理が通常よりも長い時間がかかったり、デフォルトのタイムアウト値を超えるために失敗することがあります。

解決方法

  1. NSX Agent のタイムアウト値(秒)を増やします。
    1. ESXi ホストでは、次のコマンドを使用して NSX Ops Agent を停止します。

      NSX 2.3 以降のリリース:

      /etc/init.d/nsx-opsagent stop

      NSX 2.1 以前のリリース:

      /etc/init.d/nsxa stop
    2. /etc/vmware/nsx-opsagent/nsxa.json ファイルを編集し、vifOperationTimeout の値を 25 秒からたとえば 55 秒に変更します。
      "mp" : {
          /* timeout for VIF operation */
          "vifOperationTimeout" : 25,
      注: このタイムアウト値は、手順 2 で設定した hostd タイムアウト値よりも小さい値にする必要があります。
    3. 次のコマンドを使用して NSX Ops Agent を起動します。
      /etc/init.d/nsx-opsagent start
  2. hostd のタイムアウト値(秒)を増やします。
    1. ESXi ホストでは、次のコマンドを使用して hostd エージェントを停止します。
      /etc/init.d/hostd stop
    2. /etc/vmware/hostd/config.xml ファイルを編集します。<opaqueNetwork> で、<taskTimeout> のエントリのコメントを解除し、値を 30 秒からたとえば 60 秒に変更します。
      <opaqueNetwork>
          <!-- maximum message size allowed in opaque network manager IPC, in bytes. -->
          <!-- <maxMsgSize> 65536 </maxMsgSize> -->
          <!-- maximum wait time for opaque network response -->
          <!-- <taskTimeout> 30 </taskTimeout> -->
    3. 次のコマンドを使用して hostd エージェントを起動します。
      /etc/init.d/hostd start