Cómo hacer un backup y restauración de la configuración de un host ESXi
Cómo hacer un backup y restauración de la configuración de un host ESXi

Cómo hacer un backup y restauración de la configuración de un host ESXi

Hola a tod@s

Los backup constituyen la columna vertebral de cualquier estrategia de protección de datos, por lo cual es importante contar con un backup de la configuraciones de nuestro host ESXi. Un backup de nuestro host, puede ayudarnos a restaurar la configuración del host en cuestión de minutos sin tener que configurar un servidor ESXi desde cero.

La forma más sencilla de realizar backup de la configuración de host ESXi es a través de la línea de comandos, donde no es necesario instalar algún software adicional.

Hay dos condiciones que deben cumplirse:

  • El número de compilación de destino del host coincide con la compilación desde la que se realizó la copia de seguridad.
  • El UUID del host sigue siendo el mismo.

Uso de la línea de comandos de ESXi para realizar backup del host ESXi

Lo primero que realizaremos, será habilitar SSH en el host que realizaremos el backup de la configuración.

Ingresamos por Putty al servidor ESXi.

La configuración de ESXi se guarda automáticamente cada hora en el archivo /bootblank/state.tgz. Actualizamos los últimos cambios con el comando:

# vim-cmd hostsvc/firmware/sync_config

Con los cambios actualizados, nos aseguramos de tener guardado todos los cambios realizados en la configuración de ESXi desde el último guardado automático, para respaldar la configuración de ESXi usamos el comando:

# vim-cmd hostsvc/firmware/backup_config

Como resultado, recibiremos un enlace para descargar el configBundle. archivo tgz desde el host ESXi. El archivo de configuración de ESXi se guarda en el directorio /scratch/downloads durante un breve período de tiempo (unos minutos).

Descargamos el archivo de backup de ESXi y lo guardamos en un lugar seguro.

Script para crear backups de configuración de ESXi

Si queremos automatizar el respaldo de la configuración, existen algunos script de la comunidad que nos facilitan la vida. Para este ejemplo, veremos el script: esxi-config-backup-utility creado por Confused IT Ltd.

ESXI Config Backup Utility es un script de PowerShell que facilita la realización de backup de configuración de hosts ESXI individuales o de todos los hosts ESXI mediante la conexión a un dispositivo vCenter. El script también hace que sea muy fácil programar las copias de seguridad para que se ejecuten automáticamente aprovechando el Programador de tareas de Windows. El script utiliza VMware PowerCLI para conectarse al recurso, iniciar un backup y almacenarlo en el equipo local. El script también incluye configuraciones de retención en caso de que solo desee tener un cierto número de ellas a mano.

Funciones del script

  • Automatiza la programación de scripts.
  • Opciones de programación semanal o diaria con opciones de hora del día y día de la semana.
  • Fácil implementación (los directorios se crean automáticamente y los archivos se mueven en consecuencia).
  • Archivo de configuración (los parámetros se almacenan en un archivo de configuración dedicado).
  • Las contraseñas de vCenter/Host no se almacenan en texto sin formato.
  • Haga una copia de seguridad de un único host o de todos los hosts a través de vCenter.
  • Opciones de retención (mantener todas las copias de seguridad o solo un cierto número).
  • Instalación automática de VMware PowerCLI.
  • Integración del registro de eventos de Windows.

Requisitos

  • Sistema operativo Windows (para programación).
  • PowerShell.
  • VMware PowerCLI.
  • Acceso de administrador.

Para más detalles y descargar el script, podemos visitar el GitHub de Confused IT Ltd. A través de este enlace descargaremos los archivos necesarios.

Descomprimimos el archivo y ejecutamos el script: ESXI-Config-Backup-Utility.ps1.

Nota: Si no está instalado VMware PowerCLI, lo instalará y cuando termine nos llevará de regreso a la línea de comandos de PowerShell.

Los backup que se crearan se almacenarán en C:\Scripts\ESXI-Config-Backup-Utility\ este directorio se crea automáticamente y se establece en la parte de variables globales del script.

Volvemos a ejecutar el script, pero ahora agregamos al final de este el parámetro “-SetCreds“.

$ .\ESXI-Config-Backup-Utility.ps1 -SetCreds

Con esto, se nos solicitarán las credenciales de un host/vCenter.

Ahora volveremos a ejecutar el script con el parámetro “-SetConfig

$ .\ESXI-Config-Backup-Utility.ps1 -SetConfig

Nota: Si nos fijamos, ahora podemos ver que el parámetro “-SetCreds” se encuentra en status “Completed!“.

Configuramos los parámetros solicitados según nuestras necesidades.

Ya conformes con los cambios realizados, escribimos “Yes“.

Ahora nuevamente volvemos ejecutar el script con el parámetro “-RunConfig“.

$ .\ESXI-Config-Backup-Utility.ps1 -RunConfig

Con este comando, se ejecutará el respaldo de la configuración de cada uno de los host ESXi que estén disponibles en el vCenter que configuramos en pasos anteriores. Para este ejemplo, yo disponía en mi vCenter de 5 host ESXi.

En el directorio que crea el script por defecto, podemos encontrar ahora una carpeta donde se almacenan los respaldos.

Por último, podemos habilitar la programación del script con el parámetro “-Enable“.

$ .\ESXI-Config-Backup-Utility.ps1 -Enable

Podemos ver la carpeta creada por el script y revisar los archivos de configuración.

Si abrimos el programador de tareas de Windows, podemos ver que se creó una tarea llamada “ESXI-Config-Backup-Utility” con los parámetros que configuramos en el script.

Si queremos deshabilitar la programación automática y quitar la tarea creada en el programador de tareas de Windows ejecutamos el script con el parámetro “-Disable“.

$ .\ESXI-Config-Backup-Utility.ps1 -Disable

Si volvemos a revisar el programador de tareas, podremos ver que ya no existe la tarea.

Para más detalle, podemos ver el video en YouTube: ESXi Config Backup Utility.

Restauración

Para restaurar la configuración, el host ESXi de destino debe tener la misma compilación que los datos de configuración del host ESXi. La compilación del host se puede obtener mediante el comando vmware -vl.

Se debe cambiar el nombre de configBundle-HostFQDN.tgz a configBundle.tgz antes de iniciar el comando restore.

Debemos poner el host en modo de mantenimiento ejecutando el siguiente comando:

# vim-cmd hostsvc/maintenance_mode_enter

Copiamos el archivo de backup en el host ESXi o en un almacén de datos disponible.

Reinicie el host. Este paso es necesario, de lo contrario es posible que el flujo de trabajo de restauración no finalice por completo.

Una vez que ESXi se haya reiniciado, mueva el archivo del paquete de configuración a /tmp/configBundle.tgz.

#  mv /vmfs/volumes/Datastore01_local_mgmt/configBundle.tgz /tmp/

# cd /tmp

# ls

Ejecutamos el siguiente comando para restaurar la configuración del host ESXi:

# vim-cmd hostsvc/firmware/restore_config 0

  • La ejecución de este comando iniciará un reinicio automático del host después de completar el comando.
  • A partir de vSphere 7.0 U2, la configuración podría cifrarse mediante TPM y, en cuyo caso, la opción -force no funcionará si se cambia el host. Necesitamos el mismo TPM que se usó en el host durante la copia de seguridad, para restaurar. En otras palabras, desde vSphere 7.0U2, la invalidación no funcionará si el host tiene TPM habilitado.

Espero que esta información pueda ser de ayuda, y cualquier duda o sugerencia la dejan en los comentarios. Saludos.

Leave a Reply

Your email address will not be published. Required fields are marked *