Dans un environnement à grande échelle avec de nombreux nœuds de transport et machines virtuelles sur des hôtes ESXi, les agents NSX Agent qui s'exécutent sur des hôtes ESXi peuvent expirer lors de la communication avec NSX Manager.
Problème
Certaines opérations échouent, comme lorsqu'une VNIC de machine virtuelle essaie de s'attacher à un commutateur logique. Le fichier
/var/run/log/nsx-opsagent.log contient des messages tels que :
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
Cause
Dans un environnement à grande échelle, certaines opérations peuvent être plus longues que d'habitude et finissent par échouer, car les valeurs de délai d'expiration par défaut sont dépassées.
Solution
- Augmentez la valeur du délai d'expiration (en secondes) de NSX Agent.
- Sur l'hôte ESXi, arrêtez l'agent NSX Ops avec la commande suivante :
Sur NSX 2.3 ou versions ultérieures :
/etc/init.d/nsx-opsagent stop
Sur NSX 2.1 ou versions antérieures :
/etc/init.d/nsxa stop
- Modifiez le fichier /etc/vmware/nsx-opsagent/nsxa.json et modifiez la valeur de vifOperationTimeout de 25 à 55 secondes, par exemple.
"mp" : { /* timeout for VIF operation */ "vifOperationTimeout" : 25,
Note : Cette valeur du délai d'expiration doit être inférieure à la valeur de délai d'expiration de hostd que vous avez défini à l'étape 2. - Démarrez l'agent NSX Ops avec la commande suivante :
/etc/init.d/nsx-opsagent start
- Sur l'hôte ESXi, arrêtez l'agent NSX Ops avec la commande suivante :
- Augmentez la valeur du délai d'expiration (en secondes) de hostd.
- Sur l'hôte ESXi, arrêtez l'agent hostd avec la commande suivante :
/etc/init.d/hostd stop
- Modifiez le fichier /etc/vmware/hostd/config.xml. Sous <opaqueNetwork>, supprimez le commentaire de l'entrée pour <taskTimeout> et modifiez la valeur de 30 à 60 secondes, par exemple.
<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> -->
- Démarrez l'agent hostd avec la commande suivante :
/etc/init.d/hostd start
- Sur l'hôte ESXi, arrêtez l'agent hostd avec la commande suivante :