Hace unas semanas publiqué una entrada para reiniciar la contraseña de root de vSphere Replication Appliance 8.1 o Appliances basados en Photon OS. Sin embargo en algunas ocasiones el problema no es olvidar la contraseña sino bloquear la cuenta de usuario por numerosos intentos fallidos debido a algún carácter especial y la configuración del teclado. De esta manera aunque reiniciemos la clave si el usuario está bloqueado, continuaremos sin poder ingresar a la consola de administración. Si el usuario se encuentra bloqueado la consola de la maquina virtual mostrará un mensaje indicándolo y deberá seguir el siguiente procedimiento.
PROCEDIMIENTO
1. Edite la configuración de la máquina virtual asociada a vSphere Replication, haciendo click derecho –>Edit settings –>VM Options. Adicione un tiempo de retardo en milisegundos en Boot Delay para tener tiempo de ejecutar el menú GRUB (GRand Unified Bootloader), el cual es un gestor de arranque múltiple que permite elegir el sistema operativo a iniciar.
2. Tome un Snapshot de la máquina virtual antes de proceder con el siguiente paso de manera que tengamos un punto de control en caso de llegar a necesitarlo
3. Reinicie de manera controlada el virtual appliance haciendo click en Actions -> Guest OS -> Restart
4. Permanezca atento al momento en que aparece el logo de Photon, para presionar la tecla ‘e’ inmediatamente y de esta manera evitar que el sistema operativo del appliance inicie y debamos realizar un reinicio controlado nuevamente
5. Una vez dentro de la pantalla GNU GRUB ubique el cursor al final de la segunda línea, adicione rw init=/bin/bash para montar la partición con permisos de lectura y escritura. Luego presione F10 como se muestra a continuación para cargar la configuración
6. Ejecute el comando pam_tally2 –user=root –reset para desbloquear el usuario root
7. (Opcional) Si además de desbloquear el usuario root desea cambiar su contraseña, ejecute el comando passwd para cambiarla, solicitandole un nuevo password y la confirmación del mismo
8. Ejecute el comando umount / para desmontar el filesystem
9. Reinicie el virtual appliance ejecutando el comando reboot –f
10. Por último, inicie sesión en la consola de administración y si todo ha salido bien remueva el Snapshot de la máquina virtual tomado anteriormente
Nota: El procedimiento anterior indicó el paso a paso que debe seguirse para restablecer la contraseña de vSphere Replication Appliance 8.1, pero que además puede aplicarse de igual forma a un vCenter Server Appliance o cualquier Appliance basado en Photon OS.
ATENCIÓN!!!
TODOS LOS NOMBRES DE VMS USADOS EN ESTE BLOG SON INVENTADOS Y OBEDECEN A UN AMBIENTE DE LABORATORIO TEMPORAL, UTILIZADO PARA FINES DE ESTUDIO.
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.
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
3. Haga click en Install Now y espere que termine el proceso de instalación
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
5. Instale ahora el paquete Pyvmomi ejecutando el siguiente comando python.exe -m pip install pyvmomi
6. Continue con la instalación del paquete crypto ejecutando el comando python.exe -m pip install crypto
7. Por último instale el paquete pyopenssl ejecutando el comando python.exe -m pip install pyopenssl
UTILIZACIÓN
1. Una vez instalado el python descargue el script desde el link oficial de ESXi Compatibility Checker haciendo click en Download
2. Descomprima el archivo .zip descargado anteriormente y desde la consola de Command Prompt navegue hasta el directorio que acaba de extraer
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.
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.
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.
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
Alguna vez nos hemos encontrado con el problema de olvidar la contraseña de root o no verificar la ubicación de los caracteres especiales en el teclado cuando la cambiamos, provocando que no podamos ingresar nuevamente a la consola de administración o a la interfaz gráfica. El procedimiento a continuación indica el paso a paso que debe seguirse para restablecer la contraseña de vSphere Replication Appliance 8.1, pero que además puede aplicarse de igual forma a un vCenter Server Appliance basado en Photon OS.
PROCEDIMIENTO
1. Edite la configuración de la máquina virtual asociada a vSphere Replication, haciendo click derecho –>Edit settings –>VM Options. Adicione un tiempo de retardo en milisegundos en Boot Delay para tener tiempo de ejecutar el menú GRUB (GRand Unified Bootloader), el cual es un gestor de arranque múltiple que permite elegir el sistema operativo a iniciar
2. Tome un Snapshot de la máquina virtual antes de proceder con el siguiente paso
3. Reinicie de manera controlada el virtual appliance
4. Permanezca atento al momento en que aparece el logo de Photon, para presionar la tecla ‘e’ inmediatamente
5. Una vez dentro de la pantalla GNU GRUB ubique el cursor al final de la segunda línea, adicione rw init=/bin/bash para montar la partición con permisos de lectura y escritura. Luego presione F10 como se muestra a continuación
6. Ejecute el comando passwd para cambiar la contraseña
7. Ingrese la nueva contraseña y confírmela escribiéndola nuevamente cuando se le solicite
8. Ejecute el comando umount / para desmontar el filesystem
9. Reinicie el virtual appliance ejecutando el comando reboot –f
10. Verifique el acceso desde el VAMI (Virtual Appliance Management Interface), al cual puede ingresar desde un navegador web a través de la URL https://FQDN_IP_vSphereReplication:5480
11. Por último, remueva el Snapshot de la máquina virtual
Lanza Putty nació hace un par de años por la necesidad de tener que agregar un usuario con permisos específicos en más de doscientos blades distribuidos en aproximadamente veinte enclosures de la marca HP (Hewlett Packard) en la compañía para la cual me desempeñaba como administrador de infraestructura. Una tarea que por supuesto no tenía ningún sentido realizar manualmente en cada uno de los blades desde la interfaz de administración. Por esta razón, decidí desarrollar una herramienta que utiliza PuTTY.exe y Plink.exe para lanzar múltiples conexiones SSH, Telnet, Rlogin o RAW; y envía uno o varios comandos a una lista de instancias remotas desde una única interfaz.
Lanza Putty es una herramienta desarrollada en lenguaje LabVIEW y aunque fue inicialmente pensada para facilitar la administración de chasis y bahías en la infraestructura, puede ser también útil para administrar cualquier sistema basado en Linux, incluso en ocasiones la utilizo para enviar comandos ESXCLI a múltiples hipervisores.
¿Por qué en LabVIEW?
La respuesta es muy simple, necesitaba resolver el problema rápidamente y el lenguaje de desarrollo que mejor manejaba en ese entonces por su ventajas en cuanto al tiempo de desarrollo era LabVIEW. Hoy en día aunque nos apoyamos con herramienta más especializadas como PowerShell y PowerCLI para la implementación y administración de vSphere, me sigue siendo de gran utilidad esta herramienta.
FUNCIONAMIENTO
1. Descargue el Run-Time Engine de LabVIEW (versión 2011) de la página oficial o desde aquí, e instálelo en su ordenador para poder ejecutar el .exe de la aplicación.
2. Descargue la aplicación desde el repositorio compartido haciendo click Aquí.
3. Cree un archivo *.txt con la lista de FQDNs o IPs de las instancias remotas que desea administrar, y guárdelo en la carpeta \Lanza_PuTTY_APP\Data
4. Ejecute la aplicación LanzaPuTTY.exe que se encuentra en el directorio raíz y seleccione el archivo creado anteriormente.
5. Ingrese usuario y contraseña de las instancias remotas
6. Seleccione el protocolo a utilizar. El valor por defecto es el protocolo SSH
7. Ingrese los comandos que desea ejecutar en las instancias remotas. Por ejemplo si utilizamos la herramienta para verificar el driver, firmware o vendor ID de varios hipervisores podemos incluir los siguientes comandos en el campo “Comandos a Ejecutar”
#ESXi Hostname
hostname
#ESXi Version
vmware -v -l
#NICs
esxcli network nic list
#Drivers y firmware NICs
esxcli network nic get -n vmnic0
#Vendor ID NICs
for a in $(esxcfg-nics -l |awk '{print $1}' |grep [0-9]) ;do vmkchdev -l |grep $a; done
8. Haga click en Archivo->Ejecutar para realizar ejecución con salida en Command Prompt (cmd), se recomienda que la primera vez que se accede a la instancia remota a través de esta herramienta se realice con este modo de
ejecución debido a que la sesión solicita una confirmación de seguridad de PuTTY, que debe ser aceptada escribiendo Y y luego presionando Enter.
9. La opción Archivo->Ejecutar sin CMD, realiza una ejecución con salida en el indicador “Salida de Comandos”, que automáticamente crea un fichero con el nombre Log_Putty.txt con estas salidas de comando. Este modo de ejecución se debe utilizar si ya se ha accedido a las instancias por lo menos una vez con PuTTY.exe, de lo contrario el programa se quedara esperando la confirmación de la alerta de seguridad de PuTTY, sin mostrar ninguna notificación debido a que el programa estará ejecutándose de manera oculta. Esta opción se recomienda para generar Logs después de haber realizado acciones con el modo indicado en el paso anterior.
10. Verifique el contenido del Log_Putty.txt ubicado en la carpeta raíz de la aplicación