4 maneras de hacer backups de la configuración del host ESXi

La virtualización ofrece varias ventajas para las operaciones de backup y recuperación, que son la columna vertebral de la protección de datos, la continuidad operativa y la disponibilidad. Y lo que es más importante, la virtualización hace posibles los backups a nivel de host sin agentes y basados en imágenes. Estos tipos de backups pueden capturar la VM completa, incluyendo la configuración de la VM así como los datos de la VM.

Sin embargo, también es importante proteger los hosts, ya que los hosts ESXi sanos son importantes para que las máquinas virtuales funcionen correctamente. Se recomienda también hacer backups de la configuración de ESXi, ya que un backup de host utilizable puede ayudarle a restaurar la configuración del host en cuestión de minutos sin tener que configurar un servidor ESXi desde cero. Siga leyendo para conocer los distintos métodos para hacer backup de hosts ESXi.

NAKIVO for VMware vSphere Backup

NAKIVO for VMware vSphere Backup

Complete data protection for VMware vSphere VMs and instant recovery options. Secure backup targets onsite, offsite and in the cloud. Anti-ransomware features.

Método 1: Utilizar la línea de comandos de ESXi para hacer backup de hosts ESXi

Utilizar la línea de comandos de ESXi es el método más asequible para hacer backup de una configuración de host ESXi. No es necesario instalar ningún software adicional para utilizar la línea de comandos de ESXi. Sólo tiene que habilitar el shell ESXi y el acceso SSH remoto a un host ESXi. Una vez que se haya conectado a su host ESXi a través de SSH, puede ejecutar los comandos.

La configuración de ESXi se guarda cada hora automáticamente en el archivo /bootblank/state.tgz. Por esta razón, debe asegurarse de que la configuración actual de ESXi se escribe en los archivos de configuración de ESXi en este momento para asegurarse de que todos los cambios realizados con la configuración de ESXi desde el último autoguardado se guardan. Para ello:

  1. Compruebe y sincronice la configuración de ESXi con el almacenamiento persistente:

    vim-cmd hostsvc/firmware/sync_config

  2. Haga backup de la configuración de ESXi una vez finalizada la sincronización:

    vim-cmd hostsvc/firmware/backup_config

    Cómo hacer backup de la configuración del host ESXi en la línea de comandos de ESXi

    Como resultado, recibirá un enlace para descargar el archivo configBundle.tgz desde el host ESXi.

    http://*/downloads/UUID/configBundle-ESXiNameOrIPAddress.tgz

  3. Sustituya el asterisco(*) por la dirección IP de su host ESXi. El archivo que contiene el backup de la configuración de ESXi se guarda en el directorio /scratch/downloads durante un breve periodo de tiempo (unos minutos).

    El paquete de backups de configuración de ESXi está disponible para su descarga

    Puede encontrar la dirección IP de su host ESXi en la interfaz de consola directa ESXi o en la línea de comandos con el comando:

    esxcli network ip interface ipv4 get

    La dirección IP del host ESXi utilizado en el ejemplo actual es 192.168.101.208

  4. Descargue el archivo de backups de ESXi lo antes posible y guárdelo en un lugar seguro.

Cómo automatizar el backup de la configuración de ESXi en la línea de comandos de ESXi

La ventaja de una interfaz de línea de comandos es la capacidad de automatizar, y el backup de la configuración de ESXi no es una excepción. Repasemos los pasos para hacerlo:

  1. Cree un directorio para almacenar los archivos de backups en su almacén de datos ESXi.

    mkdir /vmfs/volumes/datastore1/ESXi_backup

  2. Crear un script para hacer backup de la configuración de ESXi:

    vi /vmfs/volumes/datastore1/ESXi_backup/esxi_backup.sh

  3. Añade las siguientes líneas al script:

    vim-cmd hostsvc/firmware/sync_config

    vim-cmd hostsvc/firmware/backup_config

    find /scratch/downloads/ -name \*.tgz -exec cp {} /vmfs/volumes/datastore1/ESXi_backup/ESXi_config_backup_$(date +'%Y%m%d_%H%M%S').tgz \;

    Creación de un simple script de backups para hacer backup de la configuración del host ESXi

  4. Guarde el archivo y salga de vi:

    :wq

    NOTA: Para mayor comodidad, también puede incluir el nombre del host ESXi o la dirección IP al nombre del archivo backups. Esto le ayudará a evitar confusiones con múltiples hosts ESXi.

  5. Haz que el script sea ejecutable:

    chmod +x /vmfs/volumes/datastore1/ESXi_backup/esxi_backup.sh

  6. Vaya al directorio donde se encuentra el script:

    cd /vmfs/volumes/datastore1/ESXi_backup/

  7. Ejecuta el script:

    ./esxi_backup.sh

  8. Compruebe que se ha creado un archivo de backups:

    ls -al

    Se crea un archivo de backup de configuración de ESXi

  9. Asegúrese de que el script de backup de la configuración de ESXi se está ejecutando según lo programado (automáticamente). Para ello, edite la configuración del programador:

    vi /var/spool/cron/crontabs/root

  10. Añada la siguiente cadena para hacer backup de la configuración de ESXi todos los días a las 02:10 AM:

    10 02 * * * /vmfs/volumes/datastore1/ESXi_backup/esxi_backup.sh

  11. Guarde los cambios en el archivo. Para guardar los cambios en el archivo de sólo lectura, introduzca:

    :wq¡!

    Como alternativa, puede cambiar los permisos del archivo antes de editarlo:

    chmod +w /var/spool/cron/crontabs/root

    Programar el proceso de backup de la configuración de ESXi.

Una vez configurada, la configuración de ESXi se respaldará automáticamente a las 02:10 AM cada noche en el archivo con el nombre ESXi_config_bakup_date_time.tgz.

Cómo recuperar la configuración de ESXi en la línea de comandos de ESXi

Debe tener ESXi de la misma versión y número de compilación que el host ESXi del que se ha hecho la copia de seguridad instalado en el equipo en el que desea restaurar la configuración de ESXi. Esta regla es válida para todos los métodos de recuperación de la configuración de ESXi considerados en esta entrada del blog.

Si va a restaurar la configuración de ESXi en un host ESXi instalado desde cero (recién instalado), deberá establecer la dirección IP para la interfaz de red utilizada para la red de gestión de ESXi y habilitar el acceso SSH.

El UUID debe ser el mismo tanto en el servidor ESXi del que se hizo la copia de seguridad como en el servidor ESXi en el que se restaurará la configuración. Los pasos a seguir si los valores UUID son diferentes se tratan en la siguiente sección.

Para recuperar la configuración de ESXi:

  1. Una vez que haya preparado su host ESXi recién instalado para restaurar la configuración de ESXi a partir de un backup, conéctese al host ESXi mediante SSH y entre en el modo de mantenimiento (las máquinas virtuales se detienen en este modo).

    esxcli system maintenanceMode set --enable yes

    o

    vim-cmd hostsvc/maintenance_mode_enter

  2. Copie el archivo que contiene la copia de seguridad de la configuración de ESXi en un directorio del host ESXi utilizando un cliente SCP, por ejemplo, WinSCP. Copiemos el archivo configBundle-xxxx.tgz de la máquina local al directorio /tmp/ del servidor ESXi de destino.

    Copiar el archivo de backup de configuración de ESXi al host ESXi de destino.

  3. Cambie el nombre del archivo configBundle-xxxx.tgz a configBundle.tgz antes de introducir el comando para restaurar la configuración de ESXi. De lo contrario, aparecerá el mensaje de error«No se encontró el archivo /tmp/configBundle.tgz«.

    Puede cambiar el nombre del archivo en el shell de ESXi al que se ha conectado a través de SSH:

    mv /tmp/configBundle-esxi6-7b.localdomain.tgz /tmp/configBundle.tgz

  4. Restaurar la configuración de ESXi:

    vim-cmd hostsvc/firmware/restore_config /tmp/configBundle.tgz

    Tras ejecutar este comando, el host ESXi se reiniciará automáticamente.

    Cómo restaurar la configuración de ESXi a partir de una copia de seguridad

  5. Después de reiniciar el servidor ESXi, salga del modo de mantenimiento, tras lo cual podrá utilizar el host como de costumbre.

    esxcli system maintenanceMode set --enable no

    o

    vim-cmd hostsvc/maintenance_mode_exit

Cómo cambiar el UUID para restaurar la configuración de ESXi

Puede utilizar una de las dos formas siguientes para comprobar el UUID del servidor ESXi:

  1. En la interfaz de línea de comandos de ESXi:

    esxcfg-info -u

  2. En el archivo Manifest.txt dentro del archivo configBundle.tgz backups que has hecho con los comandos explicados anteriormente.

    El UUID de ESXi se almacena en el archivo Manifest.txt dentro del archivo configBundle.tgz

No se puede cambiar el UUID del servidor ESXi ya que el identificador se genera en función del hardware. Sin embargo, puede recuperar la configuración ESXi del host ESXi A al host ESXi B después de cambiar el UUID en el archivo Manifest.txt almacenado en el archivo configBundle.tgz de backups de configuración ESXi.

Veamos ahora cómo cambiar el UUID para aplicar la configuración respaldada a otro servidor físico. El servidor A es el servidor del que se ha hecho backup de la configuración, y el servidor B es el servidor al que se aplicará la configuración.

Fase 1

Compruebe el UUID en el host ESXi al que desea aplicar la configuración de la que se ha hecho backup (servidor B). Esto se puede hacer con al menos dos métodos, pero el segundo método también le permite comprobar la versión de ESXi:

  1. Ejecute el esxcfg-info -u
  2. Hacer backup de la configuración del servidor ESXi B:

    vim-cmd hostsvc/firmware/sync_config

    vim-cmd hostsvc/firmware/backup_config

  3. Copie el archivo de backups en el directorio temporal y vaya a ese directorio:

    cp /scratch/downloads/_hash_value_/configBundle-localhost.localdomain.tgz /tmp

    cd /tmp/

  4. Extraer ficheros del archivo:

    tar zxvf configBundle.tgz

  5. Abra el archivo Manifest.txt con vi y compruebe el valor UUID (verá una línea aparte con el UUID). Anote el UUID.

    vi Manifest.txt

    En nuestro caso, el UUID es 1E9E4D56-B724-DFBE-D19D-4C2D827E0188

  6. Puedes eliminar los archivos temporales del directorio /tmp/:

    rm configBundle-localhost.localdomain.tgz Manifest.txt state.tgz

Fase 2

  1. Copie el archivo configBundle.tgz de backups de configuración del Servidor ESXi A al Servidor B, por ejemplo, en el directorio /tmp/y vaya a ese directorio.
  2. Extrae los ficheros del archivo configBundle.tgz:

    tar zxvf configBundle.tgz

  3. Abre el archivo Manifest.txt con vi y actualiza el valor UUID del Servidor A al UUID del Servidor B:

    vi Manifest.txt

    En nuestro caso, cambiamos 9EA94D56-7E39-96A8-AB45-DF31EF0971EC por 1E9E4D56-B724-DFBE-D19D-4C2D827E0188

    Guarde el archivo y salga del editor de texto:

    :wq

    Cambiar el valor UUID en los backups del host ESXi

  4. Cambie el nombre de su archivo configBundle.tgz de origen a configBundle1.tgz, por ejemplo (si el nombre de su archivo de backup de configuración de ESXi difiere de configBundle.tgz, puede omitir este paso):

    mv configBundle.tgz configBundle1.tgz

  5. Tar Manifest.txt, state.tgz y jumpstrt.gz archivos a un nuevo configBundle.tgz archivo:

    tar zcvf configBundle.tgz Manifest.txt state.tgz jumpstrt.gz

  6. Ponga el host ESXi en modo de mantenimiento y restaure la configuración:

    esxcli system maintenanceMode set --enable yes

    vim-cmd hostsvc/firmware/restore_config /tmp/configBundle.tgz

Método 2: Cómo hacer backup de ESXi Host con vSphere CLI

Otra interfaz de línea de comandos proporcionada por VMware para gestionar hosts ESXi es vSphere CLI (no confundir con VMware PowerCLI). Debe instalar vSphere CLI en un equipo que ejecute Linux o Windows para gestionar los hosts ESXi de forma remota. Se necesita Perl para instalar vSphere CLI.

La ventaja de utilizar vSphere CLI es la comodidad y la potencia de bash en Linux. Este método es especialmente conveniente para ESXi 6.x. Si utiliza ESXi 8, opte por otros métodos explicados en este artículo.

Instalación y configuración de vCLI

  1. Descargue la versión necesaria de vSphere CLI para su sistema operativo desde el sitio web de VMware. En este ejemplo se utiliza Ubuntu Linux.
  2. Vaya al directorio donde se encuentra el archivo descargado y extraiga los ficheros del archivo:

    tar -zxvf VMware-vSphere-CLI-6.5.0-4566394.x86_64.tar.gz

  3. Instale los paquetes necesarios:

    apt-get install -y perl-doc libmodule-build-perl libssl-dev libxml-libxml-perl libsoap-lite-perl libuuid-perl build-essential

    La recomendación oficial de VMware es instalar este conjunto de paquetes:

    apt-get install ia32-libs build-essential gcc uuid uuid-dev perl libssl-dev perl-doc liburi-perl libxml-libxml-perl libcrypt-ssleay-perl

  4. Vaya al directorio donde se encuentran los archivos extraídos y ejecute el instalador:

    ./vmware-install.pl

  5. Lea y acepte el acuerdo de licencia. Si el instalador le pide que instale algunos módulos necesarios, escriba y e instale los módulos.

    Instalación de módulos para vSphere CLI

  6. En nuestro caso, algunos módulos deben instalarse manualmente. Pueden instalarse utilizando el shell interactivo de Perl.

    Algunos módulos deben instalarse manualmente

    Entra en el shell interactivo de Perl:

    perl -MCPAN -e shell

  7. Ejecute el comando para instalar el módulo Perl necesario:

    install Devel::StackTrace

    Del mismo modo, instale otros módulos.

    Instalación manual de módulos Perl para hacer backup de la configuración de ESXi.

    NOTA: En nuestro caso, un módulo no pudo ser instalado en el shell interactivo de Perl, pero podemos instalar ese módulo con el comando en la consola de Ubuntu:

    apt-get install libcrypt-ssleay-perl

  8. Una vez instalados los módulos Perl, vuelva a ejecutar el instalador de VMware vSphere CLI.
  9. La instalación se ha completado con éxito y en este caso puede ver la siguiente pantalla:

    La instalación de vSphere CLI se ha completado correctamente.

  10. Ahora vamos a intentar utilizar vSphere CLI e introducir un comando en la consola Linux para mostrar la lista de dispositivos del servidor ESXi (192.168.101.208 es la dirección IP del servidor ESXi).

    esxcli --server 192.168.101.208 storage core device list

    Uso de vSphere CLI para gestionar un host ESXi.

  11. La huella SHA-1 del servidor no es de confianza y la conexión con el host ESXi ha fallado. Esto significa que debe definir la huella digital por razones de seguridad. Probemos con otro comando:

    esxcli --server 192.168.101.208 --thumbprint B3:63:9F:67:E2:D9:C4:53:7D:A9:2A:4A:37:DC:AE:73:3C:83:C7:DA system maintenanceMode get

    El nombre de usuario y la contraseña se solicitarán en la consola en el modo interactivo.

    Se necesita un nombre de usuario y una contraseña para ejecutar el comando en un servidor ESXi.

    Intente no utilizar comandos en los que el nombre de usuario y la contraseña se escriban como texto sin formato, como en este caso:

    esxcli --server 192.168.101.208 --username root --password TestPass_555 --thumbprint B3:63:9F:67:E2:D9:C4:53:7D:A9:2A:4A:37:DC:AE:73:3C:83:C7:DA system maintenanceMode get

    NOTA: Esto es por razones de seguridad. Los comandos ejecutados se guardan en Linux hasta que se ejecuta el comando history -c para borrar el historial. Si necesita evitar utilizar el modo interactivo e introducir un nombre de usuario y una contraseña manualmente, puede guardar la sesión de ESXi en el archivo y utilizar este archivo cuando ejecute comandos. Guardar las sesiones es seguro a diferencia de introducir una contraseña como texto plano en el comando. A continuación se explica cómo guardar las sesiones.

Guardar una huella digital para conectarse a hosts ESXi

Introducir una huella de ESXi cada vez que se ejecuta un comando no es conveniente. Afortunadamente, es posible guardar el thumbprint y ejecutar otros comandos con vSphere CLI sin definir un thumbprint.

  1. Ve al directorio:

    cd /usr/lib/vmware-vcli/apps/general/

  2. Ejecuta el comando como:

    /usr/lib/vmware-vcli/apps/general/credstore_admin.pl add -s server -t thumbprint

    En nuestro ejemplo particular, el comando es:

    /usr/lib/vmware-vcli/apps/general/credstore_admin.pl add -s 192.168.101.208 -t B3:63:9F:67:E2:D9:C4:53:7D:A9:2A:4A:37:DC:AE:73:3C:83:C7:DA

    Guardar una huella digital para ejecutar comandos en vSphere CLI

  3. Ahora puede ejecutar comandos en vSphere CLI sin tener que introducir una huella digital cada vez:

    esxcli --server 192.168.101.208 system maintenanceMode get

    Introducción de un nombre de usuario y una contraseña para ejecutar un comando en un host ESXi de forma remota

Sin embargo, sigue siendo necesario introducir un nombre de usuario y una contraseña. Sin embargo, puede configurar vSphere CLI para ejecutar comandos sin introducir una contraseña cada vez, como se muestra en las secciones siguientes.

Uso de un archivo de sesión para conectarse a hosts ESXi

El uso de un archivo de sesión guardado es uno de los métodos para evitar introducir un nombre de usuario y una contraseña al ejecutar un comando en un host ESXi remoto mediante vSphere CLI.

  1. Cree un directorio para almacenar los archivos de backups de configuración de ESXi, por ejemplo, /backup/

    mkdir /backup

  2. Vaya a ese directorio:

    cd /usr/lib/vmware-vcli/apps/session

  3. Guarde su sesión autorizada de host ESXi en el archivo mediante un script Perl con el comando:

    perl save_session.pl --savesessionfile /backup/192-168-101-208session --server 192.168.101.208 --username root --password TestPass_555

    Dónde:

    savesessionfile /backup/192-168-101-208session es el nombre del archivo de sesión creado

    servidor 192.168.101.208 es el nombre del host ESXi cuya sesión se guarda (este host ESXi se utiliza en varios ejemplos)

    username root es el nombre del usuario que está conectado al host ESXi

    password TestPass_555 es la contraseña del usuario que está conectado al host ESXi

Ahora puede ejecutar comandos sin introducir una contraseña, pero debe introducir la clave –sessionfile (opción) y definir la ruta al archivo de sesión.

Por ejemplo:

esxcli --sessionfile /backup/192-168-101-208session system maintenanceMode get

Ejecución de comandos en vSphere CLI mediante un archivo de sesión

Uso de un archivo de configuración para conectarse a hosts ESXi

La idea detrás de este método es guardar las credenciales en el archivo de configuración como texto sin formato y hacer referencia a este archivo al ejecutar comandos ESXi en vSphere CLI.

  1. Crear un archivo de configuración:

    vim /backup/vcli-config

  2. Introduzca las credenciales de la siguiente manera:

    VI_USERNAME=root

    VI_PASSWORD=PasaPrueba_555

  3. Guarda el archivo.
  4. Ejecute este comando en el servidor ESXi remoto mediante vSphere CLI:

    esxcli --server 192.168.101.208 --config vcli-config system maintenanceMode get

    Ejecución de comandos en vSphere CLI mediante un archivo de configuración

NOTA: Dado que las credenciales se guardan como texto sin formato, este método no es seguro.

Uso de un almacén de credenciales para conectarse a hosts ESXi

Un almacén de credenciales es el archivo xml ubicado en el directorio de usuario en el subdirectorio vmware ~/.vmware/credstore/vicredentials.xml. La ventaja de utilizar el almacén de credenciales para ejecutar comandos en hosts ESXi remotos es que la contraseña no se guarda como texto sin formato. Como resultado, este método proporciona una mayor seguridad.

  1. Para añadir credenciales al almacén de credenciales, ejecute el comando:

    /usr/lib/vmware-vcli/apps/general/credstore_admin.pl add --server 192.168.101.208 --username root

  2. Enumerar las credenciales guardadas en el almacén de credenciales para asegurarse de que están presentes las credenciales necesarias:

    /usr/lib/vmware-vcli/apps/general/credstore_admin.pl list

  3. Ejecute el comando en el host ESXi remoto sin introducir una contraseña utilizando el almacén de credenciales:

    # esxcli --server 192.168.101.208 --credstore /root/.vmware/credstore/vicredentials.xml system maintenanceMode get

    Si utiliza un usuario no root, el archivo de credenciales se guarda en /home/nombre_usuario/.vmware/credstore/vicredentials.xml

    Ejecutar comandos en vSphere CLI sin introducir las credenciales del almacén de credenciales.

En la siguiente captura de pantalla, puede ver cómo se guardan las credenciales en el archivo del almacén de credenciales.

Las credenciales ESXi se guardan en el almacén de credenciales.

Uso de vSphere CLI para hacer backup de la configuración del host ESXi

Ahora que ha configurado vSphere CLI en la máquina Ubuntu Linux, puede ejecutar los comandos y hacer backup de la configuración de ESXi:

  1. Vaya al directorio /usr/bin/:

    cd /usr/bin

  2. Para crear un backup de la configuración de ESXi sin introducir el nombre de usuario y la contraseña, utilice uno de los siguientes comandos.
    • Para obtener el nombre de usuario y la contraseña guardados en el almacén de credenciales, utilice el comando

      vicfg-cfgbackup --server 192.168.101.208 --credstore /root/.vmware/credstore/vicredentials.xml -s /backup/192-168-101-208-esxi-cfg.tgz

    • O después de guardar la sesión en el archivo de sesión, utilice el comando:

      vicfg-cfgbackup --sessionfile /backup/192-168-101-208session -s /backup/192-168-101-208-esxi-cfg.tgz

      Hacer backup de la configuración del host ESXi utilizando el archivo de sesión para la autenticación.

      NOTA: los comandos vicfg- están obsoletos. Si vicfg no funciona en su caso, utilice los comandos equivalentes de ESXCLI en la interfaz de línea de comandos cuando trabaje con hosts ESXi de las últimas versiones. Consulte los comandos para otros métodos de backups de configuración de ESXi.

      La desventaja de utilizar la opción –sessionfilees el tiempo de espera de 30 minutos cuando está inactivo después de ejecutar el último comando en vSphere CLI. Después, tienes que autenticarte y volver a crear un archivo de sesión.

    • Si desea crear un backup de la configuración de ESXi mientras introduce una contraseña en el modo interactivo, puede ejecutar el comando

      vicfg-cfgbackup --server 192.168.101.208 -s /backup/192-168-101-208-esxi-cfg.tgz

      Cómo hacer backup de la configuración de ESXi e introducir un nombre de usuario y una contraseña en modo interactivo

Cómo automatizar el backup de la configuración de ESXi

Si tiene un entorno que cambia dinámicamente y la configuración de los hosts ESXi cambia a menudo, puede que no resulte práctico hacer backups manuales de los hosts ESXi. En este caso, puede automatizar el backup de la configuración de ESXi añadiendo al planificador un comando de backup o un script de backup que contenga varios comandos. Crontab es un planificador en Linux.

  1. Edite la configuración del planificador en Linux para ejecutar el comando backup de configuración de ESXi de forma periódica y automática.

    crontab -e

    NOTA: Si está editando la configuración de crontab por primera vez, debe seleccionar el editor de texto predeterminado que se debe utilizar para editar la configuración de crontab. En nuestro ejemplo, utilizamos /usr/bin/vim.basic para este propósito.

    El formato de la configuración de crontab es el siguiente:

    minutos horas día_del_mes mes día_de_la_semana comando 

  2. Vamos a hacer backup de la configuración del host ESXi cada noche a las 03:25 AM añadiendo la siguiente línea a la configuración de crontab:

    25 03 * * * /usr/bin/vicfg-cfgbackup –server192.168.101.208–config/backup/vcli-config -s /backup/192-168-101-208-esxi-cfg-cron.tgz

  3. Escriba la configuración del planificador crontab y salga del editor de texto vim (que se utiliza en este ejemplo):

    :wq

    Automatización del backup de la configuración de ESXi mediante crontab

  4. Esperemos hasta después de las 03:25 AM para comprobar el directorio en el que se deben guardar los archivos de configuración de backups de ESXi:

    ls -al

    Como puede ver en la siguiente captura de pantalla, el archivo de backup de la configuración del host ESXi se creó a las 03:25 automáticamente.

    El backup de la configuración de ESXi se guarda automáticamente

Ahora el backup de la configuración de ESXi se ha creado automáticamente, lo cual es genial, pero hay una desventaja. Cada vez que crontab ejecuta un comando programado para crear el backup de la configuración de ESXi, el archivo tgz anterior se sobrescribe con el nuevo archivo tgz. Esto puede causar problemas si el backup con la configuración ESXi correcta creado anteayer es sobrescrito por un archivo creado al día siguiente que contiene la configuración ESXi incorrecta. Para evitar este problema, debe hacer backup de la configuración de ESXi en archivos diferentes.

Vamos a crear un script sencillo para guardar la configuración de ESXi cada vez como un archivo separado con un nombre de archivo único que contenga la fecha y hora de creación del archivo de backup de la configuración de ESXi en el nombre del archivo. Crear un script permite añadir comandos para hacer backup de varios hosts ESXi ejecutando un único script.

  1. Cree el archivo esxi_backup.sh en el directorio /backup/:

    vim /backup/esxi_backup.sh

  2. Añada las siguientes líneas al archivo:

    #!/bin/bash

    ESXI101_208_BACKUP_NAME=»192-168-101-208-$(fecha +’%Y%m%d_%H%M%S’)esxi-cfg.tgz»

    vicfg-cfgbackup –server192.168.101.208–config/backup/vcli-config -s /backup/$ESXI101_208_BACKUP_NAME

  3. Escriba los cambios en el archivo y salga del editor de texto vim:

    :wq

  4. Haz que el archivo sea ejecutable:

    chmod +x /backup/esxi_backup.sh

  5. Edite la configuración del planificador:

    crontab -e

  6. Añade la línea así:

    50 06 * * * /backup/esxi_backup.sh

    Esta línea de configuración nos permite configurar crontab para que ejecute el script de backup de configuración de ESXi a las 06:50 AM.

    Desactive la tarea programada anterior que haya añadido añadiendo el carácter # al principio de la línea.

    Guarda la configuración.

    Cron configuración que crea ESXi config backups archivos con nombres únicos

  7. Espere a que transcurra el tiempo establecido y, a continuación, compruebe si se ha creado el archivo de copia de seguridad de la configuración de ESXi.

    Los archivos de backup de configuración de ESXi tienen nombres únicos

Este es un simple script que demuestra la idea de automatización. Puede crear scripts complejos para hacer backup de varios hosts ESXi.

NOTA: Después de cada reinicio de ESXi o de 30 minutos de inactividad, la autenticación de la sesión de ESXi caduca. Tenga en cuenta esta función cuando cree un script para hacer backups de ESXi automatizados.

Cómo recuperar la configuración de ESXi en vSphere CLI

Los requisitos para restaurar la configuración de ESXi mediante vSphere CLI son similares a los de otros métodos. Para restaurar la configuración de ESXi, asegúrese de que el acceso remoto a través de SSH está habilitado y de que se conoce la dirección IP del servidor ESXi (se recomienda utilizar la misma dirección IP que la dirección IP del host ESXi del que se ha hecho backup).

Para restaurar la configuración de ESXi ejecute el comando como:

vicfg-cfgbackup --server=ESXi_host_IP_address --username=root -l backup_file

En nuestro ejemplo particular, el comando es:

vicfg-cfgbackup --server=192.168.101.208 --username=root -l /backup/192-168-101-208-esxi-cfg.tgz

Si el UUID del host ESXi de destino en el que desea restaurar la configuración tiene un UUID que es diferente del UUID del servidor ESXi del que se ha hecho backup (cuyo UUID está definido en el archivo Manifest.txt dentro del archivo de backup tgz ), puede utilizar la clave -f (forzar) para anular el UUID.

Cómo restaurar la configuración de ESXi a partir de una copia de seguridad

Puede comprobar el UUID del host ESXi en ejecución con el comando, como usted recuerda:

esxcfg-info -u

NOTA: A partir de ESXi 7.0 U2, la anulación forzada de UUID no funciona si se utiliza un TPM (Trusted Platform Module) en un host ESXi.

Método 3: Utilizar PowerCLI para hacer backup de hosts ESXi

Los usuarios a los que les guste Windows PowerShell pueden utilizar PowerCLI para la gestión de vSphere y para hacer backup de configuraciones de ESXi. PowerCLI es un conjunto de cmdlets de PowerShell, y en esta entrada del blog se explican algunos comandos básicos de PowerCLI.

Para utilizar PowerCLI para hacer backup de ESXi host, primero tiene que instalar PowerCLI en su sistema operativo:

  1. Ejecute PowerCLI como administrador en Windows.
  2. Conéctese a su servidor ESXi:

    Connect-VIServer ESXi_IP_address -user user_name -password your_password

    En nuestro caso, utilizamos los comandos:

    Connect-VIServer 192.168.101.208 -user root -password TestPass_555

    Get-VMHostFirmware -vmhost 192.168.101.208 -BackupConfiguration -DestinationPath "C:\backup ESXi host"

    Cómo hacer backup de hosts ESXi con PowerCLI

    • Si sus hosts ESXi son administrados por vCenter Server, puede conectarse primero a vCenter y luego hacer backup de la configuración ESXi en sus hosts en PowerCLI sin necesidad de autenticarse cada vez antes de hacer backup de cada configuración de host:

      Connect-VIServer 10.10.10.16

      Introduzca su nombre de usuario y contraseña administrativos para acceder a vCenter Server. Para ello aparece una ventana emergente.

      Conexión al servidor vCenter en PowerCLI

  3. Hacer backup de la configuración ESXi de cada host:

    Get-VMHostFirmware -vmhost 10.10.10.61 -BackupConfiguration -DestinationPath "C:\backup ESXi host"

    Get-VMHostFirmware -vmhost 10.10.10.46 -BackupConfiguration -DestinationPath "C:\backup ESXi host"

    Cómo hacer backup de configuración de cada host ESXi en PowerCLI.

Cómo restaurar la configuración de ESXi en PowerCLI

  1. Ejecute VMware PowerCLI como administrador.
  2. Conéctese al host ESXi en el que desea recuperar la configuración (en nuestro ejemplo, recuperamos la configuración en el host ESXi cuya dirección IP es 192.168.101.208).
  3. Ponga el host ESXi en modo de mantenimiento:

    Set-VMHost -VMHost 192.168.101.208 -State Maintenance

  4. Asegúrese de que las máquinas virtuales que residen en ese host ESXi están apagadas o han migrado a otro host ESXi antes de recuperar la configuración de ESXi. Tenga en cuenta que después de ejecutar un comando para restaurar la configuración, el host ESXi se reiniciará automáticamente.
  5. Restaurar la configuración con el Set-VMHostFirmware restore comando:

    Set-VMHostFirmware -vmhost 192.168.101.208 -Restore -SourcePath "C:\backup ESXi host\configBundle-192.168.101.20

    8.tgz" -HostUser root -HostPassword TestPass_555

    La configuración de ESXi se recupera en PowerCLI.

La versión, el número de compilación y el UUID del host ESXi en el que se recupera la configuración deben coincidir con la versión, el número de compilación y el UUID del host ESXi cuyo backup está utilizando para restaurar la configuración. Utilice la clave -force en el comando para omitir la comprobación del UUID.

Método 4: Backup y restauración manual de la configuración de ESXi

También debe estar preparado para una situación en la que no pueda iniciar sesión en su host ESXi, o cuando un host ESXi no pueda arrancar y no pueda utilizar la interfaz de línea de comandos para ejecutar el comando para hacer backup de o restaurar la configuración de ESXi. Esto puede deberse a un fallo del hardware o a problemas de software. En este caso, es mejor saber cómo hacer backup de y recuperar una configuración ESXi manualmente.

Como recordará de la configuración crontab por defecto en un host ESXi, el script /sbin/auto-backup.sh se ejecuta cada hora y cada vez que un host ESXi se reinicia o se apaga. Este script está destinado a hacer backup de (guardar) la configuración de ESXi almacenada en la memoria en el archivo /bootbank/state.tgz.

NOTA: El archivo /bootbank/state.tgz no debe estar cifrado para utilizar este método.

La configuración de ESXi se almacena en la memoria RAM del ordenador cuando se ejecuta un servidor ESXi (el disco RAM correspondiente se monta en el directorio /etc/ ). Cuando ESXi está arrancando, los archivos del sistema se extraen del archivo /bootbank/state.tgz al directorio /etc/. Puede copiar manualmente el archivo /bootbank/state.tgz si su host ESXi está en ejecución utilizando un cliente SCP como WinSCP (el acceso SSH remoto debe estar habilitado). Como alternativa, puede arrancar desde el Live DVD y copiar el archivo state.tgz manualmente si su host ESXi no es arrancable (por ejemplo, debido a un fallo de hardware).

Flujo de trabajo de recuperación manual

  1. Prepare el archivo de backups que hizo anteriormente con ESXi shell, vSphere CLI o PowerCLI. En nuestro caso, el nombre del archivo es configBundle-192-168-101-208.tgz. Puede copiar el archivo en una unidad flash USB, por ejemplo, e insertar esa unidad flash en un puerto USB del servidor ESXi en el que tiene que recuperar la configuración del sistema.
  2. Arranque desde el CD/DVD Live en la máquina donde está instalado ESXi. Puedes utilizar el disco de instalación de Ubuntu como CD/DVD en vivo.
  3. Abra la consola (terminal) en Linux.
  4. Enumera las particiones:

    ls -al /dev/sd*

    fdisk -l | grep /dev/sda

    En este caso, necesitamos la partición /dev/sda5/ que está marcada como datos básicos de Microsoft.

    Las particiones de disco ESXi se mencionaron en la entrada del blog sobre Arranque de ESXi desde una unidad flash USB y recuperación de la contraseña de ESXi.

    Montaje de la partición que contiene el archivo de configuración de ESXi

    En este caso nos interesa la partición /dev/sda5.

  5. Cree el directorio en el que se montará la partición /dev/sda5:

    mkdir /mnt/sda5

  6. Monte la partición de disco en ese directorio:

    mount /dev/sda5 /mnt/sda5

  7. En el directorio /mnt/sda5 se encuentra el archivo state.tgz, que contiene la configuración de ESXi. Este directorio (en el que se almacena state.tgz ) se llama /bootblank/ cuando se arranca un host ESXi.
  8. Copie el archivo de backups de configuración de ESXi desde la unidad flash USB al directorio /tmpde Ubuntu cargado desde el Live DVD. En nuestro ejemplo, copiamos:

    cp /media/Ubuntu/Ubuntu\ 18.0/backup_ESXi_host/configBundle-192-168-101-208.tgz /tmp/configBundle.tgz

  9. Extraer ficheros del archivo de backups:

    tar zxvf /tmp/configBundle.tgz

  10. Puede ver que el archivo state.tgz se extrae del archivo:

    ls -al /tmp/

  11. Cambie el nombre del archivo original state.tgz que se encuentra en la partición /dev/sda5 montada en /mnt/sda5/.

    mv /mnt/sda5/state.tgz /mnt/sda5/state-old.tgz

  12. Copie el archivo state.tgz que ha extraído del archivo de copia de seguridad de la configuración de ESXi(configBundle.tgz) en el directorio /tmp/:

    cp /tmp/state.tgz /mnt/sda5/

  13. Desmontar particiones montadas:

    umount /dev/sda5/

  14. Reinicia el servidor. Expulse el Live DVD de Ubuntu y arranque desde el disco en el que está instalado ESXi.

    init 6

Ahora su configuración ESXi debería estar restaurada.

Conclusión

El uso de la interfaz de línea de comandos de ESXi es bueno porque no es necesario instalar software adicional. Las ventajas de vSphere CLI son la posibilidad de ejecutar comandos de forma remota utilizando máquinas Linux y la posibilidad de hacer backups de la configuración de ESXi de forma automatizada. PowerCLI, en cambio, puede ser apreciado por los usuarios de Windows.

Si un host ESXi no está en buen estado y no puede arrancarlo, puede hacer backup de la configuración y restaurarla manualmente. Tenga en cuenta que la información de bootblank y la información sobre las máquinas virtuales no se almacenan en el archivo de backup de configuración de ESXi. Después de restaurar la configuración de ESXi, puede que necesite registrar máquinas virtuales en su inventario.

Se recomienda hacer backup de las máquinas virtuales vSphere además de hacer backup de los hosts ESXi. NAKIVO Backup & Replication es una solución de backup universal que permite hacer backups de sus VMware VMs, Hyper-V VMs, instancias de Amazon EC2 así como servidores físicos Linux y Windows.

1 Year of Free Data Protection: NAKIVO Backup & Replication

1 Year of Free Data Protection: NAKIVO Backup & Replication

Deploy in 2 minutes and protect virtual, cloud, physical and SaaS data. Backup, replication, instant recovery options.

Artículos recomendados