VMware & Esxi, perdida de conexión

Problemas de perdidas de conectividad en un host del cluster. Frente a este error las repercusiones o impacto pueden ser elevadas, sobre todo si llegamos al punto de que las operaciones de vmotion no están disponibles porque el host no responde y las operaciones se quedan colgadas. En este caso que vamos a tratar en concreto vamos a analizar una perdida total de conexión del host.
A pesar de que las VM seguían funcionando no podíamos hacer nada y esto provocaba un estado de peligro para el cluster, coincide que el Vcenter esta en este Host, pasos para mover máquinas sin causar impacto en la estructura.
Nos conectaremos al host por putty e intentaremos reiniciar los servicios que establece el host con el vcenter para ver si conseguimos restaurar la comunicación.
Para ello usaremos el comando dcui, esto nos mostrará el host a través de putty como si estuviéramos delante de el mismo físicamente

Pulsamos F2 y una vez nos hayamos logado en el host, nos iremos a Troubleshooting options

Dentro de esta pantalla le daremos Restart Management Agentes

Si esto no funciona y el host sigue sin conexión, aunque no responda a ping y las máquinas sigan corriendo, empezaremos ya un proceso mas tedioso y que deberemos tener cuidado, se trata de re alojar máquinas de este host en los otros del cluster manualmente.
Este proceso es tedioso y hay que tener cuidado, debemos valorar que máquinas podemos o no mover y en que horario hacerlo, las máquinas no críticas podremos ir haciéndolo de la siguiente manera:
Nos volvemos a conectar a nuestro host con problemas a través de putty, y lanzaremos el siguiente comando, esxcli vm process list, este comando nos devuelve las VM que están activas en ese momento en el servidor, las lista como si fueran procesos.

Con este comando te lista el inventario del host, es decir, todas las máquinas estén o no encendidas en ese host, vim-cmd vmsvc/getallvms.

Si las VM estan operativas y nos podemos conectar a ellas, el proceso es algo mas simple, nos conectamos por ejemplo a la máquina x, la apagamos y esperamos a que el proceso desaparezca, para ver las máquinas como procesos era el siguiente comando, esxcli vm process list.
En caso de que no podamos apagar con normalidad la máquina, podemos hacer un kill del proceso, técnicamente el kill tiene 3 variables que nos permite hacerlo de una manera amigable pero puede fallar. En nuestro caso hubo suerte y al usar dicho comando pudimos apagar la máquina de manera amigable. El comando que usamos fue el siguiente:

  • Primero debemos de saber el World ID, este le encontramos con el comando esxcli vm process list.
  • Segundo debemos de saber las variables que queremos aplicar para el kill, soft (teoricamente apaga el sistema operativo amigablemente), force (se lo calza pase lo que pase)
  • Tercero, el comando que usaremos una vez identificada la máquina en cuestion será, esxcli vm process kill -t soft -w 1705574
  • Esto procederá a apagar la máquina en caso de que no podamos acceder a ella, una vez realizado esto pasaremos a hacer el desregistrar dicha máquina del inventario del host 

Para este paso tendremos que localizar dentro del listado de VM, vim-cmd vmsvc/getallvms el ID de la máquina que queremos quitar, una vez localizado procedemos a realizar el siguiente comando, vim-cmd vmsvc/unregister 3, en este caso, el 3 representa el ID de la máquina que queremos desregistrar el inventario del host.

Una vez hemos realizado este proceso, lo siguiente ya es fácil, nos iremos a nuestro vcenter o en su defecto a un host del cluster (en este ejemplo tuvimos que hacer todo esto con la máquina de Vcenter con lo cual fue algo mas tedios). Una vez dentro del host nos vamos al almacenamiento y nos metemos en el disco donde este la máquina, y la agregamos al inventario y la levantamos. Si la máquina no esta bloqueada o la pasa algo raro, de inmediato podremos registrarla al nuevo host y ponerla arriba en pocos minutos. En un caso crítico donde la conexión del host se pierde y es inestable este es el proceso menos impactante para producción. En este caso al reiniciar el vcenter en otro host solventamos el problema y todo volvió a la normalidad. No obstante, al detectar inestabilidad en el host, es preferible migrar las máquinas a otros host y reiniciarlo.

Nuestros HOST tienen un bug y hay veces que no detectan la tarjeta integrada, es posible que haya que reiniciarlo un par de veces hasta que la lean y se pueda iniciar esxi, sale con la denominación USB 2 reader o algo similar.