Instalando y utilizando ESXi Compatibility Checker

Una de las tareas mas importantes al iniciar un nuevo proyecto de implementación es el levantamiento de información. Un correcto levantamiento de información nos llevará a cumplir las expectativas del cliente, realizar un diseño apropiado y garantizar la disponibilidad de la solución. Es esta última en la cual juega un papel muy importante la matriz de compatibilidad que debemos presentar al cliente como prerrequisito para una implementación greenfield (desde cero) o brownfield (infraestructura existente), permitiéndonos estar seguros que los componentes de hardware, firmware y drivers utilizados en la infraestructura ya han sido probados y avalados por los  fabricante.

A mi modo de ver, la creación de esta matriz de compatibilidad siempre fue una tarea muy tediosa al ser manual y repetitiva. Y aunque podemos apoyarnos en scripts para obtener la información de los servidores de manera automática seguía existiendo la tarea de verificar múltiples paginas web en el VMware Compatibility Guide para verifica la compatibilidad de las versiones de la infraestructura.

Hace un par de meses había leído algo acerca de ESXi Compatibility Checker y su capacidad para realizar el levantamiento de esta matriz de manera automática, pero fue hasta hace unas semanas que debido a los múltiples proyectos decidí probarla para optimizar el tiempo, y desde entonces me ha parecido muy útil en el proceso inicial del levantamiento de información.

¿Que es ESXi Compatibility Checker?

Básicamente es un script python que puede validar la compatibilidad del hardware directamente en la matriz de VMware para detectar posibles problemas en la actualización del hipervisor ESXi, permitiéndonos generar un reporte bastante claro que incluye el estado de compatibilidad, detalles del hardware, versiones de drivers e incluso enlaces directos hacia la matriz de VMware para cada uno de los componentes del servidor.

ESXi Compatibility Checker es capaz de generar un reporte para múltiples servidores ESXi que hacen parte de un vCenter Server e incluso múltiples vCenter y de esta manera validar rápidamente la compatibilidad de todos los hosts en la versión actual o hacia una version superior de hipervisor. ¡Bastante prometedor!

INSTALACIÓN

1. Descargue el último paquete de Python directamente desde el python download. Haga click en Download y seleccione el sistema operativo de su equipo desktop. Para el ejemplo la instalación se realizará en un equipo Windows por lo cual se descarga el ejecutable para este sistema operativo.

image

2. Una vez descargado ejecute el instalador del paquete de Python y asegúrese de marcar el check Add Python 3.x to PATH que se encuentran en la parte inferior para crear la variable de entorno en el equipo al realizar la instalación

image

3. Haga click en Install Now y espere que termine el proceso de instalación

clip_image001

4. Desde un Command Prompt navegue hasta el directorio \AppData\Local\Programs, y ejecute el comando Python –v para validar la versión del python instalada

clip_image001[5]

5. Instale ahora el paquete Pyvmomi ejecutando el siguiente comando python.exe -m pip install pyvmomi

clip_image001[7]

6. Continue con la instalación del paquete crypto ejecutando el comando python.exe -m pip install crypto

clip_image001[11]

7. Por último instale el paquete pyopenssl ejecutando el comando python.exe -m pip install pyopenssl

clip_image001[13]

UTILIZACIÓN

1. Una vez instalado el python descargue el script desde el link oficial de ESXi Compatibility Checker haciendo click en Download

image

2. Descomprima el archivo .zip descargado anteriormente y desde la consola de Command Prompt navegue hasta el directorio que acaba de extraer

clip_image001[15]

image

3. Solo queda lanzar el script con extensión .py con algunos de los argumentos disponibles. Por ejemplo, para conectarnos a un vCenter 6.5 U2 y obtener la matriz de compatibilidad con la version ESXi 6.7 basta con ejecutar el siguiente comando:  python compchecker.py -s IP_FQDN_HOST -u USER –r –v 6.7, donde –r genera un reporte y –v valida la compatibilidad con una versión especifica.

Ejemplo: python compchecker.py -s 10.123.123.120 -u administrator@vsphere.local –r –v 6.7, para evaluar la compatibilidad de los host conectados a un vCenter.

Una vez ejecute el comando le solicitará aceptar una advertencia de certificados para lo cual deberá escribir yes y a continuación la contraseña de usuario para conectarse al vCenter Server o Host.

image

4. Como resultado de la ejecución del script con los argumentos –r  y  -v se generan dos archivos con extensiones .csv y .html respectivamente.

image

5. Abra el archivo con extensión .html o .csv para visualizar el reporte de compatibilidad y analice la información generada. Para nuestro ejemplo nos muestra que la versión de procesador de los hosts Nutanix 3050 analizados podrían no ser compatibles con la version 6.7 de ESXi y que las versiones de drivers de los componentes de IO no están alineados con la matriz de compatibilidad de VMware, dándonos el link para visualizar directamente la versión correcta de firmware y driver, sin la necesidad de tener que obtener el vendor ID de cada componente y luego realizar la búsqueda manual.

image

6. Por ultimo, dejo el link de un video en el que se muestra el funcionamiento de la herramienta en solo dos minutos.

Nota: Algunos de los argumentos disponibles se listan a continuación seguidos de su descripción

Uso: compchecker.py [-h] -s HOST [-o PORT] -u USER [-r] [-v TOVERSION]

Argumentos estándar para comunicación con vCenter/ESX
-h Ayuda Muestra este mensaje de ayuda
-s Host Servicio vSphere a conectar
-o Puerto Puerto de conexión
-u Usuario Nombre de usuario para la conexión al host/vCenter
-r Reporte Genera un reporte de compatibilidad de hardware en .csv y .html
-v a versión Version de vSphere con la cual se desea validar la compatibilidad

Distribución de particiones en ESXi 6.5

Este artículo pretende identificar de manera sencilla las particiones que hacen parte de la instalación del Hipervisor ESXi, y la función que cada una cumple dentro del mismo.

Independientemente del método de instalación que haya elegido para su host (Instalación interactiva, desatendida o utilizando Auto Deploy), una vez que se haya instalado ESXi en el dispositivo de destino, se creará una distribución de partición específica en el disco. No es posible modificar el diseño de las particiones durante el proceso de instalación y todas las particiones se crean automáticamente.

Para identificar el diseño de particiones creado por el instalador en vSphere 6.5, debe usar el comando partedUtil, ya que el comando fdisk era compatible con versiones anteriores.

Con la introducción de la partición GUID Partition Table (GPT) de ESXi 5.x, el comando fdisk ha quedado obsoleto y ya no funciona.

Para visualizar la tabla de particiones, debe acceder a la consola ESXi y ejecutar los siguientes comandos:

1. Abra una sesión SSH hacia el servidor ESXi y ejecute el comando ls /dev/disks -lh para identificar el nombre del disco del sistema (por lo general, es el único disco con más particiones)

clip_image002[11]

2. Una vez que haya identificado el disco del sistema (identificador mostrador en color azul que comienza por ‘vml.’ hasta el ‘:‘), puede usar comando partedUtil con la opción getptbl para ver el tamaño de la partición. Si observa en el screenshot en la salida del comando anterior, el tamaño de la partición ya era visible

clip_image004[11]

Al observar la captura de pantalla anterior, el diseño de la partición de host de ESXi 6.5 creado por el instalador de ESXi puede estar compuesto hasta por ocho particiones. Las particiones 2 y 3 pueden no ser visibles si el host está instalado en tarjetas SD o unidades flash USB. Cada una de las particiones cumple las siguientes funciones

· 1 (systemPartition 4 MB): Partición necesaria para el arranque.

· 5 (linuxNative 250 MB – / bootbank): Hipervisor central VMkernel.

· 6 (linuxNative 250 MB – / altbootbank): Inicialmente vacío.

· 7 (vmkDiagnostic 110 MB): Partición utilizada para escribir el archivo de volcado de host en caso de un crash del ESXi.

· 8 (linuxNative 286 MB – / store): Esta partición contiene los archivos ISO de VMware Tools para OS soportados.

· 9 (vmkDiagnostic 2.5 GB): Segunda partición de diagnóstico.

· 2 (linuxNative 4.5 GB – / scratch): Partición creada para almacenar la salida de vm-support necesaria para el soporte de VMware. Esta partición no es creada en tarjetas SD o unidades flash USB, cuando la instalación ESXi se realiza sobre estos dispositivos.

· 3 (VMFS Datastores XX GB): Espacio disponible y no asignado del disco es formateado como VMFS5 o VMFS, según la versión ESXi. No es creado en tarjetas SD o Unidades flash USB, cuando la instalación ESXi se realiza sobre estos dispositivos:

A continuación, una representación gráfica de cada una de las particiones en el hipervisor ESXi

clip_image006[11]

Reemplazo De Certificados Para ESXi 6.x

Alguna vez en nuestra profesión hemos tenido clientes que por cumplimiento de las políticas de seguridad en la compañía, requiere reemplazar los certificados auto-firmados de vSphere (VMCA) por certificados customizados firmados por una Autoridad de Certificación (CA) presente en el dominio.

El procedimiento descrito a continuación demuestra los pasos necesarios para el reemplazo de certificados en los host ESXi de la infraestructura, eliminando así la advertencia de sitio inseguro que aparece en los navegadores web al conectarse al host client e incrementando la seguridad de la plataforma.

image

Referencia:

  • Configuring CA signed certificates for ESXi 6.0 hosts (2113926)
  • Configuring OpenSSL for installation and configuration of CA signed certificates in the vSphere environment (2015387)

Nota: Si el vCenter no cuenta con certificados customizados, primero deberá efectuarse el procedimiento para reemplazar los certificados en los componentes de vCenter y PSC. De lo contrario el host quedará desconectado después del siguiente procedimiento y al reconectarlo generará nuevos certificados auto firmados.

 

PASO 1: Configurar OpenSSL en el equipo de trabajo

1. Descargue la versión Light del OpenSSL haciendo click Aquí

image

2. Ejecute el instalador del Win64OpenSSL_Light-1_1_0h.exe descargado, dejando la ubicación de destino por defecto (C:\OpenSSL-Win64).

image

3. Después de instalar el OpenSSL Light, verifique la creación de la carpeta OpenSSL-Win64 en la raíz del disco C:\

image

4. Cree un backup del archivo openssl.cfg ubicado en la ruta C:\OpenSSL-Win64\bin y luego edítelo cambiando únicamente los valores marcados en color rojo, con los datos personalizado para la empresa.

[ req ]
default_bits = 2048
default_keyfile = rui.key
distinguished_name = req_distinguished_name
encrypt_key = no
prompt = no
string_mask = nombstr
req_extensions = v3_req

[ v3_req ]
basicConstraints = CA:FALSE
keyUsage = digitalSignature, keyEncipherment, dataEncipherment
extendedKeyUsage = serverAuth, clientAuth
subjectAltName = DNS:vc50, IP:10.0.0.10, DNS:vc50.vmware.com

[ req_distinguished_name ]
countryName = US
stateOrProvinceName = NY
localityName = New York
0.organizationName = VMWare
organizationalUnitName = vCenterInventoryService
commonName = vc50.vmware.com

image

5. Guarde el archivo y ciérrelo.

6. Genere el Certificate Signing Request para cada uno de los host de la siguiente forma:

  • Abra un Command Prompt y navegue hasta el directorio del OpenSSL configurado en la instalación anterior (C:\OpenSSL-Win32\bin)
  • Ejecute el comando: openssl req -new -nodes -out rui.csr -keyout rui-orig.key -config openssl.cfg
  • Convierta la clave (Key) en formato RSA ejecutando el siguiente comando: openssl rsa -in rui-orig.key -out rui.key
  • Una vez el rui.csr es creado, proceda a firmarlo en la Autoridad de Certificación (CA) de la compañía.

image

 

PASO 2: Firme el Certificado con la CA de la compañía

1. Crea una plantilla personalizada para la creación de certificados. Para obtener más información, consulte Creating a Microsoft Certificate Authority Template for SSL certificate creation in vSphere 6.x (2112009)

2. Inicie sesión en la interfaz web de la autoridad certificadora de CA de Microsoft. Por defecto, es http: //servidorCA_FQDN/CertSrv/.

3. Haga clic en el enlace Request a certificate (.csr ).

clip_image001

4. Haga clic en advanced certificate request.

clip_image002

5. Haga clic en Submit a certificate request by using a base-64-encoded CMC or PKCS #10 file, or submit a renewal request by using a base-64-encoded PKCS #7 file.

6. Abra la solicitud de certificado generada anteriormente (rui.csr) en un editor de texto sin formato y copie desde —–BEGIN CERTIFICATE REQUEST—– hasta —–END CERTIFICATE REQUEST—–, sin que queden espacios al final y péguelo en el cuadro Saved Request.

7. Seleccione la plantilla de certificado creada en el punto 1, vSphere 6.5.

clip_image003

8. Haga clic en Submit para enviar la solicitud.

9. Haga clic en Base 64 encoded en la pantalla de Certificado emitido.

10. Haga clic en el enlace Download Certificate.

11. Guarde el certificado como rui.crt.

Nota: No guarde el certificado con otro nombre diferente a rui.crt, ya que no funcionaría.

 

PASO 3: Instalar y configurar los certificados en el host ESXi

1. Inicie sesión en el vCenter Server a través del Web Client y coloque el host en Modo Mantenimiento.

2. Utilizando WinSCP inicie sesión al host ESXi y descargue localmente los archivos rui.crt y el rui.key que se encuentran en la ruta /etc/vmware/ssl, para tener un backup de los mismos.

image

3. Elimine los archivos existentes rui.crt y rui.key de la ruta /etc/vmware/ssl

4. Suba los nuevos archivos rui.crt y rui.key, generados en el PASO 1, a la misma carpeta (/etc/vmware/ssl). Utilice la Opción de Transferencia en modo texto para evitar la aparición de caracteres adicionales.

image

5. Antes de reiniciar los Management Agents para aplicar el reemplazo del certificado, verifique que el nuevo rui.crt y el rui.key no tengan caracteres especiales después de la línea de fin (no debería aparecer ningún carácter erróneo ^M).

imageimage

6. Reinicie los Management Agents del servidor desde DCUI Troubleshooting Options > Restart Management Agents. Presione F11 para reiniciar.

image

7. Verifique la aplicación de los certificados customizados con un navegador como Internet Explorer o Google Chrome.

imageimage

8. Saque el host de Modo Mantenimiento y repita cada uno de los pasos para todos los hosts de la infraestructura.