Los controladores funcionan con discos de baja latencia. El clúster necesita un sistema de almacenamiento en disco para que cada nodo tenga una latencia de escritura máxima de menos de 300 ms y mínima de 100 ms.

Problema

  • Un NSX Controller se desconecta de un clúster de controladores.
  • No se pueden recopilar registros del controlador porque la partición del disco está llena.
  • Si el sistema de almacenamiento no cumple estos requisitos, el clúster puede volverse inestable y provocar un tiempo de inactividad del sistema.
  • Los agentes de escucha de TCP aplicables a un NSX Controller que funciona ya no aparecen en los resultados del comando show network connections of-type tcp.
  • El controlador desconectado intenta unirse al clúster utilizando un UUID compuesto únicamente de ceros que no es válido.
  • El comando para mostrar el historial del clúster de control muestra un mensaje similar al siguiente:

    INFO.20150530-000550.1774:D0530 13:25:29.452639 1983 zookeeper_client.cc:774] Zookeeper client disconnected!

  • Al ejecutar el comando show log cloudnet/cloudnet_java-zookeeper*.log en la consola de NSX Controller aparecen entradas similares a las siguientes:
    cloudnet_java-zookeeper.20150530-000550.1806.log-2015-05-30
    	 13:25:07,382 47956539 [SyncThread:1] WARN
    	 org.apache.zookeeper.server.persistence.FileTxnLog - fsync-ing the write ahead
    	 log in SyncThread:1 took 3219ms which will adversely effect operation latency.
    	 See the ZooKeeper troubleshooting guide
  • Los registros de NSX Controller contienen entradas similares a las siguientes:
    D0525 13:46:07.185200 31975
    	 rpc-broker.cc:369] Registering address resolution for: 20.5.1.11:7777
    D0525 13:46:07.185246 31975
    	 rpc-tcp.cc:548] Handshake complete, both peers support the same
    	 protocol
    D0525 13:46:07.197654 31975
    	 rpc-tcp.cc:1048] Rejecting a connection from peer
    	 20.5.1.11:42195/ef447643-f05d-4862-be2c-35630df39060, cluster
    	 9f7ea8ff-ab80-4c0c-825e-628e834aa8a5, which doesn't match our cluster
    	 (00000000-0000-0000-0000-000000000000)
    D0525 13:46:07.222869 31975
    	 rpc-tcp.cc:1048] Rejecting a connection from peer
    	 20.5.1.11:42195/ef447643-f05d-4862-be2c-35630df39060, cluster
    	 9f7ea8ff-ab80-4c0c-825e-628e834aa8a5, which doesn't match our cluster
    	 (00000000-0000-0000-0000-000000000000)

Causa

Este problema se debe a un rendimiento lento del disco que afecta negativamente al clúster de NSX Controller.

  • Compruebe si el disco tiene un rendimiento lento. Para ello, busque mensajes de fsync en el archivo /var/log/cloudnet/cloudnet_java-zookeeper log. Si fsync tarda más de un segundo, ZooKeeper muestra un mensaje de advertencia de fsync, lo que quiere decir que el disco es demasiado lento. VMware recomienda dedicar un número de unidad lógica (LUN) específicamente al clúster de control, así como acercar la matriz de almacenamiento al clúster de control en términos de latencia.
  • Puede consultar los cálculos de latencia de lectura y escritura obtenidos en una media móvil de 5 segundos (predeterminados), que se utiliza para activar una alerta si se supera el límite de latencia. La alerta se desactiva cuando la media se reduce al límite mínimo. De forma predeterminada, se establecen 200 ms como límite máximo y 100 ms como límite mínimo. Puede utilizar el comando show disk-latency-alert config. El resultado que se muestra es el siguiente:
    enabled=True   low-wm=51      high-wm=150
    nsx-controller # set disk-latency-alert enabled yes
    nsx-controller # set disk-latency-alert low-wm 100
    nsx-controller # set disk-latency-alert high-wm 200
  • Utilice la REST API GET /api/2.0/vdn/controller/<controller-id>/systemStats para recuperar el estado de alerta de latencia de los nodos controladores.
  • Utilice la REST API GET /api/2.0/vdn/controller para indicar si la alerta de latencia de disco se detecta en un nodo controlador.

Solución

  1. Implemente NSX Controller en los discos con baja latencia.
  2. Cada controlador debe utilizar su propio servidor de almacenamiento en disco. No utilice el mismo servidor de almacenamiento en disco en dos controladores.

Qué hacer a continuación

Para obtener más información sobre cómo ver las alertas, consulte Ver alertas de latencia del disco.