En la segunda entrada de «Qué pasa si» vamos a resolver una duda a nivel de red. Una de las funcionalidades de NSX Data Center (o NSX-v) es poder desplegar un router o gateway con capacidad de levantar servicios como DHCP, NAT, Firewall, VPN, Load balancing y Alta Disponibilidad (HA). A este servicio se le llama: Edge Services Gateway o ESG
Como norma genera, un ESG es bastante estable y funciona de maravillas…. salvo cuando no funciona. Recuerda que esto es informática, las cosas se rompen «sin que nadie haya tocado nada» (claro… claro….). Cuando esto ocurre, NSX-v y vCloud Director nos brinda una opción de volver a levantar un ESG nuevo con un botón llamado «Redeploy» pero…. ¿Qué hace realmente este botón?
Entorno de laboratorio
Para este prueba vamos a montar un laboratorio muy básico con un solo hypervisor ESXi en la versión «6.7.0 15160138«, vCenter Server Appliance «6.7.0.48000» y NSX Data Center «6.4.8.16724220«.
Como solo queremos mostrar lo que sucede al pulsar en «Redeploy» sobre un Edge, los componentes de NSX se van a desplegar al mínimo necesario para su funcionamiento.
Antes de romper cosas vamos a comprobar que funcione todo
Detrás de nuestro Edge hemos levantado un pequeño TinyLinux para realizar un ping y ver que pasa. Antes de nada, vamos a probar la correcta conectividad con el exterior, ya que seria muy feo empezar la prueba con las cosas rotas.
Tenemos ping ok contra internet, podemos continuar.
Perfecto, tenemos ping contra internet totalmente estable sin perdidas de ping. ¿Ya sabéis cual es el siguiente paso no?
¡Hora de romper cosas!
¡Ahhhh! ¡No funciona internet! Anda, reinicia el router que seguro que lo arregla.
Hay diversos motivos por los que necesites realizar un redeploy de tu Edge como:
- No guarda correctamente la configuración
- Perdida de conectividad contra la red interna y/o externa
- Fallos en servicios (DHCP, NAT, Load Balancer)
- Deseas cambiar el Edge de datastore o de hypervisor (no, vMotion no es lo correcto para los Edge)
- Eres como yo y te gusta romper cosas
Perfecto, estamos en uno de los puntos necesarios para pulsar el botón. ¡Yuju!
¿A quién le importa los mensajes cuando estas rompiendo cosas?
Mientras se hace el redeploy, vamos a ver cuantos pings perdemos hacia el exterior. Si todo funciona correctamente, no deberíamos perder muchos paquetes y apenas notarlo. Claro, si funciona….
Vemos como hemos perdido 28 paquetes…. ¿Tantos? ¿Qué pasa, que VMware ahora es como cierta compañía de transporte? No, para nada. ¿Recuerdas la parte de «Entorno de laboratorio«? Toda nuestra infraestructura de laboratorio está montada en un portátil, sobre un solo hypervisor, con recursos mínimos para funcionar sin que reviente todo nada mas arrancar.
En un entorno de producción, sin hacer locuras, al realizar un redeploy se pierde una media de 2-5 pings como máximo. Si pierdes más, es que algo tienes raro en el entorno.
¿Por qué pierde pings? ¿Y… qué pasa con la configuración?
Vale, ya sabemos que al pulsar sobre el botón de «Redeploy» perdemos momentáneamente la conectividad pero…. ¿por qué?
La respuesta es muy simple. No hay magia, Edge Service Gateway no es ni mas ni menos que una máquina virtual desplegada desde una plantilla almacenada en NSX Manager.
Toda la configuración está copiada en los NSX Manager, por lo cual, lo único que estamos haciendo al pulsar sobre redeploy es:
- Implementar plantilla OVF desde NSX Manager.
- Configurar máquina virtual, para asignar la cpu, ram y reservas que tengamos configuradas. Aquí también se configuran las interfaces de red para conectarlas a los correspondientes switches distribuidos y logical switches.
- Encender máquina virtual
- En este punto, NSX Manager implementa una copia de la configuración dentro del nuevo Edge.
- Configurar inicio automático de la máquina virtual.
- Apagar Edge antiguo a la vez que se activan los servicios en el Edge nuevo. Aquí es donde se pierde la conectividad.
- Renombrar máquina virtual.
Espera un momento… ¿Y el botón que pone ‘Force Sync’ en NSX?
¡Enhorabuena, has descubierto otro botón mágico! Bueno no, lo siento pero aquí tampoco hay magia. Lo que hace el botón «Force Sync» es básicamente lo mismo que «Redeploy» pero sin volver a desplegar una nueva plantilla.
Cuando pulsamos sobre «Force Sync» lo que hace es volver a implementar la configuración sobre el mismo Edge. Ya que estamos rompiendo cosas…. ¿Tendremos perdida de conectividad si usamos esta opción?
En mi caso, al tener una configuración muy básica solo he notado un aumento de latencia en cuatro pings, pero cuidado, porque si tienes configuración algo mas avanzada, con mas reglas de NAT, Firewall, VPN activas etc si que tendremos una pequeña perdida de conectividad al igual que al realizar el redeploy.
Final
Como hemos podido comprobar (y así nos lo dice la gente de VMware en la documentación oficial) al realizar las operaciones de «Redeploy» y «Force Sync» tenemos todas las papeletas del talonario para tener una disrupción de servicio con perdida de conectividad durante unos segundos.
Y recuerda… las pruebas y locuras siempre en laboratorios controlados, nada de hacerlo en producción, ¡que nos conocemos!