在 ESXi 主机上具有许多传输节点和虚拟机的大型环境中,运行在 ESXi 主机上的 NSX 代理在与 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
原因
在大型环境中,某些操作可能会比平常花费更长的时间,并且可能会因超出默认超时值而失败。
解决方案
- 增加 NSX 代理超时(秒)值。
- 在 ESXi 主机上,使用以下命令停止 NSX ops 代理:
/etc/init.d/nsx-opsagent stop
- 编辑 /etc/vmware/nsx-opsagent/nsxa.json 文件并更改 vifOperationTimeout 值,例如,从 25 秒更改为 55 秒。
"mp" : { /* timeout for VIF operation */ "vifOperationTimeout" : 25,
注: 此超时值必须小于您在步骤 2 中设置的 hostd 超时值。 - 使用以下命令启动 NSX ops 代理:
/etc/init.d/nsx-opsagent start
- 在 ESXi 主机上,使用以下命令停止 NSX ops 代理:
- 增加 hostd 超时(秒)值。
- 在 ESXi 主机上,使用以下命令停止 hostd 代理:
/etc/init.d/hostd stop
- 编辑文件 /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> -->
- 使用以下命令启动 hostd 代理:
/etc/init.d/hostd start
- 在 ESXi 主机上,使用以下命令停止 hostd 代理: