Error “The vSphere Distributed Switch configuration on some hosts differs from that on the vCenter server” – VCF 3.9

Las últimas semanas del año pasado encontramos un error raro en nuestros vSphere Distributed Switches, aparecían alertados con el error “The vSphere Distributed Switch configuration on some hosts differs from that on the vCenter server”. Comúnmente cuando  haces click en el botón rectify se resuelve.
Acá no pasaba nada.
Actualmente estamos usando VCF 3.9 (vSphere 6.7 + NSX 6.4.6 + vSAN 6.7)
Los pasos a seguir para resolver este problema son estos:

  1. Poner el host en Maintenance Mode:
    Es importante seleccionar la opción “Evacuate all data”, ya que vamos a sacar el host del cluster).  Esto va a tardar un rato ya que tiene que Evacuar todos los objetos de vSAN.
  2. Poner DRS en Manual:
    Hosts and clusters → Click sobre el cluster → Configure → vSphere DRS → Edit  → Automation level: Manual.
  3. Sacar una vNIC del vDS:
    Hosts and clusters Click sobre el host → Configure → Networking → Virtual Switches → Manage Physical Adapters → Seleccionamos un Uplink y hacemos click en la X →Ok.
  4. Crear un vSphere Standard Switch (vSS):
    Hosts and clusters → Click sobre el host → Configure → Networking → Virtual Switches → Add Networking → Virtual Machine portgroup for a standard switch → New Standard Switch → Asignamos los uplinks el uplink del punto anterior.  → Creamos un portgroup (Por Defecto: VM Network) → Finish.
  5. Migrar los VMkernels del host (Management, vMotion y vSAN):
    Hosts and clusters → Click sobre el host → Configure → Networking → Virtual Switches → Click sobre el vSS (vSwitch0 en mi caso) → Click sobre los tres puntos … → Migrate VMkernel Adapter → Seleccionamos el VMkernel de Management y hacemos click en next y finish.
    (Repetimos con los VMkernel de vMotion y vSAN).
  6. Sacar la otra vNIC del vDS:
    Hosts and clusters → Click sobre el host → Configure → Networking → Virtual Switches → Manage Phyisical Adapters → Seleccionamos un Uplink y hacemos click en la X → Ok.
    (Vamos a tener que repetir por cada NIC que tenga el host, es decir si el vDS tiene 6 nics, hay que sacar las 6.)
  7. Agregar la segunda vNIC al vSS. (opcional):
    Hosts and clusters → Click sobre el host → Configure → Networking → Virtual Switches → Manage Phyisical Adapters → Hacemos click en el + verde y agregamos el uplink libre como activo o standby.  (Según corresponda).
  8. Sacar el host del cluster:
    Esto lo haces arrastrando el host fuera del cluster (al objeto DC por ejemplo).
    Es importante esperar a que terminen las tareas de reconfigure vSAN y Uninstall (NSX VIB).
  9. Desconectar el host:
    Hosts and clusters → Click  derecho sobre el host → Connection → Disconnect
    Este paso lo hacemos para que no de errores de objetos en uso y nos deje remover el host sin problemas. (Por ejemplo esta KB)
  10. Sacamos el host del vDS:
    Hosts and clusters → Click  derecho sobre el host → Remove from inventory.
  11. Agregar el host al inventario:
    Hosts and clusters → Seleccionamos el objeto Datacenter → Add host.
    Es importante no hacer esto sobre el objeto cluster, porque va a configurar vSAN y NSX antes de tiempo.
  12. Agregar el host al vDS y Migrar los VMkernels:
    Networking → Click derecho sobre el vDS → Add hosts → + New hosts… → En la parte de Manage Physical adapters seleccionamos el uno de los uplinks para el vDS → En la parte de Manage VMkernel Adapters Migramos los portgroups de Management, vSAN y vMotion (podemos hacer todo en un solo click) → En la parte de Migrate VM Networking no hacemos nada → Finish.
  13. Agregar uplinks adicionales:
    Si el host tenía 2 o más uplinks tenemos que dejarlo como estaba antes.
    Hosts and clusters → Click sobre el host → Configure → Networking → Virtual Switches → Manage Physical Adapters → Hacemos click en el + verde y agregamos el uplink libre como activo o standby (según corresponda).
  14. Agregar el host al cluster:
    Simplemente arrastrar el host al cluster en el que estaba.
    Esperar que terminen las tareas de configure vSAN e Install (NSX VIB).
  15. Verificar vSAN:
    Verificar desde el vSAN rvc console que el host sea miembro del cluster.
  16. Verificar NSX:
    Verificar desde el NSX manager que el host esté instalado y no haya problemas de comunicación.
    Cómo se está instalando la VIB puede tardar unos 10 minutos en refrescarse.

¡Gracias por haber sido parte de este 2020!

¿A esta altura del año es necesario decir que 2020 fue un pésimo año? Yo creo que no.
Personalmente, no me gusta hacer balances de fin de año ni similares ya que, en pocas palabras, a nadie le interesan. (¿A quién queremos engañar?).
Sin embargo este año tuvo varias cosas por las que me gustaría dar gracias:

Dejé de fumar:
Después de 5 años fumando un paquete por día, por fin pude dejar esa adicción horrible.

Pude cambiar de trabajo:
Pude dejar mi trabajo en J.P. Morgan en los mejores términos para empezar un puesto como focal de SDN a Santander Tecnología, un equipo hermoso formado por excelentes profesionales, donde conocí gente increíble y volví a trabajar con grandes amigos, todo esto de forma 100% remota en el contexto de una pandemia.

Salud y trabajo:
Mi familia y amigos todos tienen salud, si bien algunos tuvieron COVID, todos pudieron sobreponerse.
En cuanto al trabajo, la situación en Argentina es bastante delicada, por suerte la mayor parte de mis amigos y familiares están con trabajo o pudieron conseguir.

vCommunities:
Este año decidí volver a abrir un blog y volver a escribir.
Eso me llevo a participar más activamente en VMTN, Twitter, VMUG y vCommunity Metal Meetup, conociendo increíbles profesionales y entendiendo una de las que, ahora, entiendo son las  claves del desarrollo profesional, compartir conocimiento.
Sumado a eso, pude actualizar y agregar mis certificaciones y hacer varios cursos.


Gracias a todos los que estuvieron y participaron este año, espero que el 2021 traiga nuevos desafíos, mejores aventuras y muchos más viajes.

Año nuevo, vida nueva… Contraseña vieja.

Hace un par de meses leí que durante 2020 los ciberataques aumentaron un 70% con motivo de la pandemia, algunos de los titulares que más resonaron en Argentina fueron el ataque de Ransomware a Migraciones de Argentina, El “ataque” al Streaming del día de la lealtad peronista y el que más revuelo tuvo a nivel mundial el ataque al Tesoro de EEUU, según se cree por parte de otro país.
No obstante, estos fueron los ataques más relevantes, el phishing se incrementó casi in 80% y el robo de datos aumentó considerablemente.
(Para más información vean este informe de Interpol)

Ahora, en estas épocas del año nos ponemos objetivos para cumplir durante el nuevo año, me gustaría proponerte que en 2021 uno de tus objetivos sea “estar más segurx digitalmente”.  En las próximas líneas te voy a contar un poco que podés hacer para estar más seguro en el ciberespacio.

Actualizar tus contraseñas.

¿Hace cuanto que no cambias la contraseña del mail? ¿Y la contraseña de Facebook? ¿Cuánta gente sabe tu contraseña de Netflix? ¿Y la del Wifi?
Una buena idea para empezar este 2021 más seguros es cambiar la contraseña de nuestras cuentas. Algunos consejos:

  • Que tenga mayúsculas y minúsculas.
  • Que tenga números.
  • Que tenga caracteres especiales (¡, $, #, @, . , etc)
  • Que no sea fácil de adivinar (Evita cosas como clubes, bandas, direcciones, nombres de seres queridos, etc)

Un punto para empezar a cambiar las contraseñas y un ejercicio regular que podes hacer es entrar a haveibeenpwned que chequea tu mail contra filtraciones de datos reportadas abiertamente.

Activa el doble factor de autenticación

El doble factor de autenticación (2FA) es una medida de seguridad extra que se suele usar en entornos corporativos, pero que está disponible en una gran variedad de servicios.
Así como la contraseña es la respuesta a la pregunta a “Algo que sé” el doble factor de autenticación es la respuesta a una de dos preguntas “Algo que tengo” como puede ser un token o “Algo que soy” como podría ser un sensor de huellas dactilares o un scanner de retina.

Mi recomendación es activar un token de Google Authenticator que tiene una gran variedad de servicios disponibles.
Acá podes ver como instalarlo y configurarlo.

Usar un Password Manager

¿Tenés la contraseña anotada en la agenda? ¿En un archivo de Excel?
Te propongo una alternativa mucho más segura, usa un password manager.
Estos servicios son como una base de datos, completamente cifrada, para tus contraseñas y usuarios.
En cuanto a opciones 1Password es un servicio cloud en el que vas a tener todas tus contraseñas sincronizadas en el celu y la compu por 3 US$ al mes.

Mientras que Keepass es un servicio completamente gratuito https://keepass.info/ (la implementación para MacOS se llama MacPass)
todas las contraseñas se van a almacenar en un archivo .kdbx al que podemos darle una medida extra de seguridad poniéndolo en nuestro servicio de nube (Google Drive, One Drive, Dropbox, etc)
Acá te dejo un tutorial de como instalarlo.

Actualizar el Sistema Operativo y las Aplicaciones

Si tu PC lo permite, siempre es buena idea tener el sistema operativo con los parches al día y las aplicaciones lo más actualizadas posible.
Si hace rato que no actualizas tu PC te invito a que este año actives el Windows Update y bajes los últimos parches. Si no sabes cómo, buscar un técnico de PC para que lo haga por vos es dinero muy bien invertido, de paso optimizas la PC un poco.
En cuanto a las aplicaciones es un espectro muy amplio, pero ya el hecho de tener el navegador Web (Chrome, Firefox, Edge, Safari) al día es un punto importantísimo.

Tener el antivirus activado y actualizado

En cuanto al antivirus podemos hablar un rato largo cual es el mejor y cual tiene mejores prestaciones.
A mí me gusta Malwarebytes que por 3.33 US$ al mes tenés protección Premium para un dispositivo.
Ahora, en cuanto a antivirus gratuitos podemos usar Windows Defender que está incluido en la licencia de Windows 10 y trae varias funciones de seguridad avanzadas (Firewall Avanzado, Inspección de tráfico, etc), Avast es otra buena opción que es Gratuita.
Cualquier opción paga o gratuita lo importante es tenerlo activado y actualizado, así reconocen las nuevas amenazas.

Espero que este articulo te haya orientado con algunas ideas para estar mas segurx en 2021.
Felices fiestas!

Nacho

¿Cómo conectarse a la API de NSX?

El 31 de diciembre es el último día de soporte de Adobe Flash. Por lo que la mayoría de los browsers van a dejar de ser compatible son flash y algunos productos no van a funcionar correctamente.
La mayoría de los vendors sacaron parches y upgrade paths para sus productos a modo de no tener dependencias fuera de soporte.
Yendo al caso puntual de VMware, hay un post de William Lam que detalla todo a la perfección. Adicionalmente en la KB 78589 hay más detalles.

Yendo al caso de NSX-V: Es un producto que originalmente fue concebido en flash y fue pasando gradualmente a HTML5 (UI)
La recomendación oficial de VMware en relación a NSX-V es actualizar a 6.4.8, pero el problema es que perdemos algunas capacidades, por ejemplo, administrar de forma gráfica el servicio SSL VPN dentro de los NSX Edges y las definiciones de servicio.
(En este post hay más detalles sobre el cambio de versiones a NSX-V 6.4.8)

Lo bueno, es que vamos a poder seguir operando con normalidad mediante la API de NSX.

¿Cómo me conecto a la API de NSX?

Requisitos:
Tener instalado y configurado un cliente API REST.
Por ejemplo, este tutorial lo hicimos con RESTer


Procedimiento:
1. Descargar el certificado del NSX Manager:
Abrimos una pestaña nueva y navegamos hasta el NSX Manager
Aceptamos el certificado o generamos una excepción de seguridad (Firefox)


2. Agregamos la autorización para el cliente API

3. Configuramos las credenciales con las que nos vamos a autenticar al NSX Manager

4. Agregamos el header accept con el valor “application/json” para evitar el formato xml

5. Ejecutamos la request que queramos y nos aseguramos que la respuesta sea HTTP 200 (Ok)

La petición que le hicimos a la API era para saber el estado de SSLVPN en un Edge en particular.
GET /api/4.0/edges/{edgeId}/sslvpn/config
Para ver un listado de requests a la API de NSX podemos usar este link https://docs.vmware.com/en/VMware-NSX-Data-Center-for-vSphere/6.4/nsx_64_api.pdf
A partir de la página 460 tenemos documentación sobre SSL VPN.

6. Revisamos la respuesta.
Como la respuesta es en JSON podemos parsearla usando esta herramienta https://jsoneditoronline.org/

De este modo podemos conectarnos a la API de NSX para administrar SSL-VPN en nuestros edges.

¿Que tener en cuenta a la hora de implementar vSphere?

Hace algunos meses que estoy entrando día a día a VMTN (VMware Communities) y veo que muchas de las preguntas son del índole de ¿Puedo instalar ESXi en X hardware? o Instalé vCenter y no anda como espero.
Muchos de esos posteos son de usuarios que están probando vSphere por primera vez o de gente que no es nativa de la virtualización, no obstante, este post tiene como objetivo ayudar a todos los que están dando sus pasos en el mundo de la virtualización.

Diseño

La parte más importante de cualquier proyecto, en cualquier rubro, es el planeamiento.
Cuanto más tiempo pongamos planeando las cosas menos vamos a tener que poner arreglando problemas derivados de diseños fallidos.
Te dejo algunas preguntas que podes hacerte a la hora de empezar un proyecto de vSphere.

Análisis inicial

¿Para que quiero hacer esta implementación? Puede ser que quiera hacer un recambio de hardware por obsolescencia, puede ser que quiera desarrollar un proyecto de Hybrid Cloud o algo similar.
De este análisis inicial van a salir los requerimientos iniciales del proyecto, por ejemplo:
¿Cuántas VMs vamos a alocar en nuestros clusters?
¿Qué máquinas van a correr en mis clusters? No es lo mismo a nivel recursos correr un cluster de VDI que un cluster de Kubernetes o una base de datos Oracle.
¿Cuántos datos podemos ubicar en nuestro storage?
¿Puedo aceptar contención de recursos?
¿Cuánto voy a crecer por año?
¿Necesito un solo sitio? ¿Necesito más de un sitio?

Hardware

Un proyecto de virtualización depende del hardware que se use, algunas de las preguntas que podemos hacernos antes de adquirir el hardware son:
¿Qué tipo de servidores vamos a usar? (Blades/Rackeables/HCI) ¿Vamos a adquirir hardware nuevo? ¿Vamos a actualizar el hardware existente?
¿Cuántos CPU’s necesitamos? ¿Qué procesadores vamos a usar? ¿Cuántos cores voy a tener?
Estas primeras preguntas van a ser clave. Tené en cuenta que dentro de un mismo cluster lo ideal es tener hosts de la misma versión de ESXi y que los procesadores sean de la misma marca y familia (por EVC)
¿Cuánta memoria necesitamos?
¿Cuántas NICs necesito? ¿Cuántas HBA? Como mínimo siempre 2 para tener redundancia
¿Qué versión de vSphere voy a implementar?
¿Necesitamos algún tipo de hardware especial? (Placas de video, Hard Tokens, etc)
¿Tengo lugar en el datacenter? ¿Tengo suficiente capacidad en los racks? ¿Me alcanza la capacidad de computo? ¿Tengo puertos libres en los switches?
¿Dónde voy a instalar mi host? (Disco Local, SATADOM, SD, etc )
¿Voy a armar RAID para los discos locales? ¿Qué RAID?

Algo que me parece super importante aclarar, no podemos ir a instalar ningún servidor sin antes haber chequeado la matriz de compatibilidad (más ahora, ya que vSpher 7 no usa más los drivers VMKlinux como en versiones anteriores). Si nuestro proyecto usa vSAN podemos chequear la matriz de compatibilidad de vSAN o usar hardware vSAN ready.

Storage

¿Qué tipo de storage vamos a usar? (SAN/iSCSI/vSAN/NFS)
¿Vamos a adquirir hardware dedicado o tenemos que usar el hardware existente?
Cada tipo de storage tiene sus ventajas y sus limitaciones, por ejemplo, el storage SAN suele sumar complejidad a la administración (Zoning), mientras que iSCSI es más sencillo.
SAN tiene una red dedicada (con su propio protocolo) mientras que vSAN, iSCSI y NFS usan la red LAN. Por consiguiente, sumando tráfico a las NICs del servidor.
¿Necesito una solución metro?
¿Tengo suficientes puertos de SAN disponibles? (si es que los uso)

Networking

Algunas de las preguntas importantes a nivel redes
¿Voy a usar NSX?
¿Cuál es el troughput de mis equipos?
¿Cuántas VLANs administro?
¿Cómo está configurado MTU?
¿Tengo configurado CDP o LLDP?
¿Voy a usar algún mecanismo para prevenir loops (STP)?
¿Tengo suficientes puertos disponibles en los switches de red?

Estas respuestas nos van a decir como tenemos que configurar nuestros switches de vSphere.

vSphere

¿Qué servicios voy a necesitar? ¿Voy a tener solo ESXi? ¿Voy a tener vCenter? ¿vSAN? ¿vROPs?
¿Necesito más de un vCenter?
¿Necesito priorizar la disponibilidad?
¿Mis aplicaciones pueden tolerar un reinicio o no es aceptable?
¿Cuántos hosts caídos puedo tolerar?
¿Cómo van a bootear mis hosts? (Stateless vs Stateful)

Esta información te va a ayudar a determinar, entre otras cosas, cual es la licencia que necesitas.

Estas son algunas (porque siempre hay más) de las preguntas que tenemos que hacernos para empezar a diseñar una solución de vSphere que sea de calidad y resiliente a fallos.

A la hora de la implementación yo tengo este checklist para validar que todo esté listo para instalar y evitar perdidas de tiempo.

Una aclaración importante: Que algo no esté soportado en la matriz de comptabilidad significa que VMware no te va a aceptar los casos de soporte, no que no va a funcionar.
Por ejemplo, correr ESXi en modo nested no está soportado y se recomienda no correr VMs productivas, pero si lo usas para laboratorios está perfecto.

Espero te haya servido
Saludos

Nacho