La virtualización ofrece varias ventajas para las operaciones de copia de seguridad y recuperación, que son la columna vertebral de la protección de datos, la continuidad operativa y la disponibilidad. Lo más importante es que la virtualización hace posible las copias de seguridad sin agente y basadas en imágenes a nivel de host. Estos tipos de copias de seguridad pueden capturar la VM completa, incluida la configuración de la VM y los datos de la VM.
Sin embargo, es importante proteger también los hosts, ya que los hosts ESXi saludables son importantes para que las VMs se ejecuten correctamente. Se recomienda que también haga copias de seguridad de la configuración de ESXi, ya que una copia de seguridad de host utilizable puede ayudarlo a restaurar la configuración del host en minutos sin tener que configurar un servidor ESXi desde cero. Siga leyendo para aprender los diferentes métodos para hacer copias de seguridad del host ESXi.
Método 1: Utilizar la Línea de Comandos de ESXi para Hacer Copias de Seguridad de los Hosts ESXi
Utilizar la línea de comandos de ESXi es el método más económico para hacer copias de seguridad de la configuración de un host ESXi. No necesita instalar ningún software adicional para utilizar la línea de comandos de ESXi. Solo tiene que habilitar la shell de 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 automáticamente cada hora en el archivo /bootblank/state.tgz. Por esta razón, debe asegurarse de que la configuración actual de ESXi se escriba 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 la última autoguarda se guarden. Para hacer eso:
vim-cmd hostsvc/firmware/sync_config
- Comprobar y sincronizar la configuración de ESXi con almacenamiento persistente:
vim-cmd hostsvc/firmware/sync_config
- Realizar una copia de seguridad de la configuración de ESXi una vez completada la sincronización:
vim-cmd hostsvc/firmware/backup_config
Como resultado, recibirás un enlace para descargar el archivo configBundle.tgz desde el host de ESXi.
http://*/downloads/UUID/configBundle-ESXiNameOrIPAddress.tgz
- Reemplace el asterisco (*) con la dirección IP de su host ESXi. El archivo de respaldo de configuración de ESXi se guarda en el directorio /scratch/downloads por un corto período de tiempo (unos minutos).
Puede encontrar la dirección IP de su host ESXi en la interfaz de consola directa de ESXi o en la línea de comandos con el comando:
esxcli network ip interface ipv4 get
La dirección IP del host ESXi utilizada en el ejemplo actual es 192.168.101.208
- Descargue el archivo de respaldo de ESXi lo antes posible y guárdelo en un lugar seguro.
Cómo automatizar el respaldo de 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 respaldo de la configuración de ESXi no es una excepción. Veamos los pasos para hacer esto:
- Cree un directorio para almacenar archivos de respaldo en su datastore de ESXi.
mkdir /vmfs/volumes/datastore1/ESXi_backup
- Crea un script para hacer una copia de seguridad de la configuración de ESXi:
vi /vmfs/volumes/datastore1/ESXi_backup/esxi_backup.sh
- Agrega 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 \;
- Guarda el archivo y sale de vi:
:wq
NOTA: Para mayor comodidad, también puedes incluir el nombre del host o la dirección IP de ESXi en el nombre del archivo de respaldo. Esto te ayudará a evitar confusiones con varios hosts de ESXi.
- Haz que el script sea ejecutable:
chmod +x /vmfs/volumes/datastore1/ESXi_backup/esxi_backup.sh
- Ve al directorio donde se encuentra el script:
cd /vmfs/volumes/datastore1/ESXi_backup/
- Ejecuta el script:
./esxi_backup.sh
- Verifica que se haya creado un archivo de respaldo:
ls -al
- Asegúrate de que el script de respaldo de configuración de ESXi se esté ejecutando según lo programado (automáticamente). Edita la configuración del programador para este propósito:
vi /var/spool/cron/crontabs/root
- Agrega la siguiente cadena para realizar el respaldo 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
- Guarda los cambios en el archivo. Para guardar los cambios en el archivo de solo lectura, ingresa:
:wq!
Como alternativa, puedes cambiar los permisos del archivo antes de editarlo:
chmod +w /var/spool/cron/crontabs/root
Una vez configurado, la configuración de ESXi se respaldará automáticamente a las 02:10 AM todas las noches 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
Debes tener ESXi de la misma versión y número de compilación que el host ESXi respaldado instalado en la máquina donde deseas restaurar la configuración de ESXi. Esta regla es válida para todos los métodos de recuperación de configuración de ESXi considerados en esta publicación de blog.
Si vas a restaurar la configuración de ESXi en un host ESXi que se instala desde cero (recién instalado), necesitas configurar 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 en ambos servidores ESXi que se respaldaron y 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:
- Una vez que haya preparado su host ESXi recién instalado para restaurar la configuración de ESXi desde una copia de seguridad, conéctese al host ESXi a través de SSH e ingrese el host en modo de mantenimiento (las VM se detienen en este modo).
esxcli system maintenanceMode set --enable yes
o
vim-cmd hostsvc/maintenance_mode_enter
- Copie el archivo que contiene la copia de seguridad de la configuración de ESXi a un directorio en el host ESXi utilizando un cliente SCP, por ejemplo, WinSCP. Copiemos el archivo configBundle-xxxx.tgz de la máquina local al directorio /tmp/ en el servidor ESXi de destino.
- Renombre el archivo configBundle.tgz antes de ingresar el comando para restaurar la configuración de ESXi. De lo contrario, recibirá el mensaje de error: “El archivo /tmp/configBundle.tgz no se encontró“.
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
- Restaure la configuración de ESXi:
vim-cmd hostsvc/firmware/restore_config /tmp/configBundle.tgz
Después de ejecutar este comando, un host de ESXi se reiniciará automáticamente.
- Después de reiniciar el servidor ESXi, salga del modo de mantenimiento, después de lo cual puede 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
Puedes usar una de 2 formas para verificar el UUID del servidor ESXi:
- En la interfaz de línea de comandos de ESXi:
esxcfg-info -u
- En el archivo Manifest.txt dentro del archivo de respaldo de configuración configBundle.tgz que has creado con los comandos explicados anteriormente.
No puedes cambiar el UUID del servidor ESXi ya que el identificador se genera según el hardware. Sin embargo, puedes recuperar la configuración de ESXi del host ESXi A al host ESXi B después de cambiar el UUID en el archivo Manifest.txt almacenado en el archivo de respaldo de configuración de ESXi configBundle.tgz.
Ahora veamos cómo cambiar el UUID para aplicar la configuración respaldada a otro servidor físico. Servidor A es el servidor cuya configuración fue respaldada, y Servidor B es el servidor al que se aplicará la configuración.
Etapa 1
Verifica el UUID en el host ESXi al que deseas aplicar la configuración respaldada (servidor B). Esto se puede hacer con al menos dos métodos, pero el segundo método también te permite verificar la versión de ESXi:
- Ejecuta el
esxcfg-info -u
- Realiza una copia de seguridad de la configuración del servidor ESXi B:
vim-cmd hostsvc/firmware/sync_config
vim-cmd hostsvc/firmware/backup_config
- Copia el archivo de respaldo al directorio temporal y ve a ese directorio:
cp /scratch/downloads/_hash_value_/configBundle-localhost.localdomain.tgz /tmp
cd /tmp/
- Extrae los archivos del archivo:
tar zxvf configBundle.tgz
- Abre el archivo Manifest.txt con vi y verifica el valor UUID (verás una línea separada con el UUID). Apunta el UUID.
vi Manifest.txt
En nuestro caso, el UUID es 1E9E4D56-B724-DFBE-D19D-4C2D827E0188
- Puedes eliminar los archivos temporales en el directorio /tmp/:
rm configBundle-localhost.localdomain.tgz Manifest.txt state.tgz
Fase 2
- Copia el archivo de respaldo de configuración configBundle.tgz del Servidor A de ESXi al Servidor B, por ejemplo, al directorio /tmp/ y ve a ese directorio.
- Extrae archivos del archivo configBundle.tgz:
tar zxvf configBundle.tgz
- 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 a 1E9E4D56-B724-DFBE-D19D-4C2D827E0188
Guarda el archivo y sale del editor de texto:
:wq
- Renombra tu archivo de origen configBundle.tgz a configBundle1.tgz, por ejemplo (si el nombre de tu archivo de respaldo de configuración de ESXi es diferente de configBundle.tgz, puedes omitir este paso):
mv configBundle.tgz configBundle1.tgz
- Tar Manifest.txt, state.tgz y los archivos jumpstrt.gz en un nuevo archivo configBundle.tgz:
tar zcvf configBundle.tgz Manifest.txt state.tgz jumpstrt.gz
- 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 una copia de seguridad del host ESXi 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 una máquina con Linux o Windows para gestionar hosts ESXi de forma remota. Se requiere Perl para instalar vSphere CLI.
La ventaja de usar vSphere CLI es la conveniencia y el poder de bash en Linux. Este método es especialmente conveniente para ESXi 6.x. Si está utilizando ESXi 8, opte por otros métodos explicados en este artículo.
Instalación y configuración de vCLI
- Descargue la versión necesaria de vSphere CLI para su sistema operativo desde el sitio web de VMware. Ubuntu Linux se utiliza en este ejemplo.
- Ir al directorio donde se encuentra el archivo descargado y extraer los archivos del archivo:
tar -zxvf VMware-vSphere-CLI-6.5.0-4566394.x86_64.tar.gz
- Instalar 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
- Ir al directorio donde se encuentran los archivos extraídos y ejecutar el instalador:
./vmware-install.pl
- Lee y acepta el acuerdo de licencia. Si el instalador te pide que instales algunos módulos necesarios, escribe y e instala los módulos.
- Algunos módulos deben ser instalados manualmente en nuestro caso. Pueden ser instalados usando el shell interactivo de Perl.
Ingresa al shell interactivo de Perl:
perl -MCPAN -e shell
- Ejecuta el comando para instalar el módulo Perl requerido:
install Devel::StackTrace
De manera similar, instala otros módulos.
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 siguiente comando en la consola de Ubuntu:
apt-get install libcrypt-ssleay-perl
- Después de instalar los módulos de Perl, ejecute nuevamente el instalador de la CLI de VMware vSphere.
- La instalación se ha completado correctamente y puede ver la siguiente pantalla en este caso:
- Ahora intentemos usar la CLI de vSphere e ingresar un comando en la consola de 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
- El valor hash SHA-1 del servidor no es confiable y la conexión al host ESXi ha fallado. Esto significa que debes definir el valor hash por razones de seguridad. Intentemos 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.
Intenta no utilizar comandos donde el nombre de usuario y la contraseña se ingresen como texto plano como este:
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 ejecutes el comando history -c para borrar el historial. Si necesitas evitar el uso del modo interactivo y ingresar un nombre de usuario y contraseña manualmente, puedes guardar la sesión de ESXi en un archivo y utilizar este archivo al ejecutar comandos. Guardar sesiones es seguro a diferencia de ingresar una contraseña como texto plano en el comando. Se explica cómo guardar sesiones a continuación.
Guardar una huella dactilar para conectar a hosts de ESXi
Introducir una huella dactilar de ESXi cada vez que se ejecuta un comando no es conveniente. Afortunadamente, es posible guardar la huella dactilar y ejecutar más comandos con vSphere CLI sin definir una huella dactilar.
- Ve al directorio:
cd /usr/lib/vmware-vcli/apps/general/
-
/usr/lib/vmware-vcli/apps/general/credstore_admin.pl add -s servidor -t huella_digital
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
- Ahora puedes ejecutar comandos en vSphere CLI sin ingresar una huella digital cada vez:
esxcli --server 192.168.101.208 system maintenanceMode get
Sin embargo, todavía necesitas ingresar un nombre de usuario y contraseña. Sin embargo, puedes configurar vSphere CLI para ejecutar comandos sin ingresar una contraseña cada vez, como se muestra en las secciones a continuación.
Usando un archivo de sesión para conectarse a los hosts de ESXi
Usar un archivo de sesión guardado es uno de los métodos para evitar ingresar un nombre de usuario y contraseña al ejecutar un comando en un host ESXi remoto mediante vSphere CLI.
- Crear un directorio para almacenar los archivos de respaldo de configuración de ESXi, por ejemplo, /backup/
mkdir /backup
- Ir a ese directorio:
cd /usr/lib/vmware-vcli/apps/session
- Guardar la sesión autorizada de su host ESXi en el archivo usando un script Perl con el siguiente comando:
perl save_session.pl --savesessionfile /backup/192-168-101-208session --server 192.168.101.208 --username root --password TestPass_555
Donde:
––savesessionfile /backup/192-168-101-208session es el nombre del archivo de sesión creado
––server 192.168.101.208 es el nombre del host ESXi cuya sesión se guarda (este host ESXi se usa en varios ejemplos)
––username root es el nombre del usuario conectado al host ESXi
––password TestPass_555 es la contraseña del usuario conectado al host ESXi
Ahora puede ejecutar comandos sin ingresar una contraseña, pero debe ingresar 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
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 plano y hacer referencia a este archivo al ejecutar comandos ESXi en vSphere CLI.
- Crear un archivo de configuración:
vim /backup/vcli-config
- Ingresar las credenciales de la siguiente manera:
VI_USERNAME=root
VI_PASSWORD=TestPass_555
- Guardar el archivo.
- Ejecuta este comando en el servidor ESXi remoto usando vSphere CLI:
esxcli --server 192.168.101.208 --config vcli-config system maintenanceMode get
NOTA: Dado que las credenciales se guardan como texto sin formato, este método no es seguro.
Usando un almacén de credenciales para conectarse a los hosts de ESXi
A credential store is the xml file located in the user directory in the vmware subdirectory ~/.vmware/credstore/vicredentials.xml. The advantage of using the credentials store to run commands on remote ESXi hosts is that the password is not saved as plain text. As a result, this method provides higher security.
- Para agregar credenciales al almacén de credenciales, ejecuta el comando:
/usr/lib/vmware-vcli/apps/general/credstore_admin.pl add --server 192.168.101.208 --username root
- Enumera las credenciales guardadas en el almacén de credenciales para asegurarte de que las credenciales necesarias estén presentes:
/usr/lib/vmware-vcli/apps/general/credstore_admin.pl list
-
# esxcli --server 192.168.101.208 --credstore /root/.vmware/credstore/vicredentials.xml sistema mantenimientoMode obtener
Si utiliza un usuario no root, el archivo de credenciales se guarda en /home/user\_name/.vmware/credstore/vicredentials.xml
En la siguiente imagen puede ver cómo se guardan las credenciales en el archivo de la bóveda de credenciales.
Utilizando CLI de vSphere para realizar una copia de seguridad de la configuración del host ESXi
Ahora que ha configurado CLI de vSphere en la máquina Ubuntu Linux, puede ejecutar los comandos y realizar una copia de seguridad de la configuración de ESXi:
- Vaya al directorio /usr/bin/:
cd /usr/bin
- Para crear una copia de seguridad de la configuración de ESXi sin ingresar el nombre de usuario y la contraseña, use uno de los siguientes comandos.
- Para el nombre de usuario y la contraseña guardados en el almacén de credenciales, use 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, use el comando:
vicfg-cfgbackup --sessionfile /backup/192-168-101-208session -s /backup/192-168-101-208-esxi-cfg.tgz
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 al trabajar con hosts ESXi de las últimas versiones. Vea los comandos para otros métodos de copia de seguridad de la configuración de ESXi.
La desventaja de usar la opción ––sessionfile es el tiempo de espera de 30 minutos cuando está inactivo después de ejecutar el último comando en vSphere CLI. Después de eso, tendrá que autenticarse y crear nuevamente un archivo de sesión.
- Si desea crear una copia de seguridad de la configuración de ESXi mientras ingresa 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
- Para el nombre de usuario y la contraseña guardados en el almacén de credenciales, use el comando:
Cómo automatizar la copia de seguridad de la configuración de ESXi
Si tienes un entorno que cambia dinámicamente y la configuración de los hosts ESXi cambia con frecuencia, hacer una copia de seguridad manual de los hosts ESXi puede no ser práctico. En este caso, puedes automatizar la copia de seguridad de la configuración de ESXi agregando un comando de copia de seguridad o un script de copia de seguridad que contenga varios comandos al programador. Crontab es un programador en Linux.
-
crontab -e
NOTA: Si estás editando la configuración de crontab por primera vez, debes seleccionar el editor de texto predeterminado que se usará para editar la configuración de crontab. En nuestro ejemplo, usamos /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
- Agreguemos la línea siguiente a la configuración de crontab para hacer una copia de seguridad de la configuración del host ESXi cada noche a las 03:25 AM:
25 03 * * * /usr/bin/vicfg-cfgbackup ––server 192.168.101.208 ––config /backup/vcli-config -s /backup/192-168-101-208-esxi-cfg-cron.tgz
- Escriba la configuración del planificador crontab y salga del editor de texto vim (que se usa en este ejemplo):
:wq
- Esperemos hasta después de las 03:25 AM para verificar el directorio al que deben guardarse los archivos de configuración de copia de seguridad de ESXi:
ls -al
Como puede ver en la captura de pantalla a continuación, el archivo de copia de seguridad de la configuración del host ESXi se creó automáticamente a las 03:25.
Ahora se ha creado automáticamente la copia de seguridad de la configuración de ESXi, lo cual es genial, pero hay una desventaja. Cada vez que crontab ejecuta un comando programado para crear la copia de seguridad de la configuración de ESXi, el archivo tgz anterior es sobrescrito por el nuevo archivo tgz. Esto puede causar problemas si la copia de seguridad con la configuración correcta de ESXi creada anteayer es sobrescrita por un archivo creado al día siguiente que contiene la configuración incorrecta de ESXi. Para evitar este problema, debes hacer una copia de seguridad de la configuración de ESXi en archivos diferentes.
Vamos a crear un script simple para guardar la configuración de ESXi cada vez como un archivo separado con un nombre único que contenga la fecha y hora de creación del archivo de copia de seguridad de la configuración de ESXi en el nombre del archivo. Crear un script te permite agregar comandos para hacer copias de seguridad de varios hosts de ESXi ejecutando un solo script.
- Crea el archivo esxi_backup.sh en el directorio /backup/:
vim /backup/esxi_backup.sh
- Agrega líneas al archivo como sigue:
#!/bin/bash
ESXI101_208_BACKUP_NAME=”192-168-101-208-$(date +’%Y%m%d_%H%M%S’)esxi-cfg.tgz”
vicfg-cfgbackup ––servidor 192.168.101.208 ––configuración /backup/vcli-config -s /backup/$ESXI101_208_BACKUP_NAME
- Escribe los cambios en el archivo y sales del editor de texto vim:
:wq
- Haz el archivo ejecutable:
chmod +x /backup/esxi_backup.sh
- Edita la configuración del programador:
crontab -e
- Agrega la línea así:
50 06 * * * /backup/esxi_backup.sh
Esta línea de configuración nos permite establecer crontab para ejecutar el script de respaldo de configuración de ESXi a las 06:50 AM.
Deshabilita la tarea programada anterior que hayas agregado al agregar el carácter # al principio de la línea.
Guarda la configuración.
- Espera el tiempo establecido y luego verifica si se ha creado el archivo de respaldo de configuración de ESXi.
Este es un script simple que demuestra la idea de automatización. Puedes crear scripts complejos para hacer copias de seguridad de múltiples hosts ESXi.
NOTA: Después de cada reinicio de ESXi o 30 minutos de inactividad, la autenticación para la sesión de ESXi expira. Ten esto en cuenta al crear un script para la copia de seguridad automatizada de ESXi.
Cómo recuperar la configuración de ESXi en vSphere CLI
Los requisitos para restaurar la configuración de ESXi utilizando vSphere CLI son similares a los requisitos de otros métodos. Para restaurar la configuración de ESXi, asegúrate de que el acceso remoto a través de SSH esté habilitado y que se conozca la dirección IP del servidor ESXi (se recomienda usar la misma dirección IP que la del host ESXi respaldado).
Para restaurar la configuración de ESXi, ejecuta el siguiente comando:
vicfg-cfgbackup --server=dirección_IP_del_host_ESXi --username=root -l archivo_de_respaldo
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 es diferente del UUID del servidor ESXi respaldado (cuyo UUID está definido en el archivo Manifest.txt dentro del archivo de respaldo tgz), puede usar la tecla -f (force) para anular el UUID.
Puede verificar el UUID del host ESXi en ejecución con el comando, como recordará:
esxcfg-info -u
NOTA: A partir de ESXi 7.0 U2, la anulación forzada del UUID no funciona si se utiliza un TPM (Módulo de plataforma confiable) en un host ESXi.
Método 3: Uso de PowerCLI para realizar copias de seguridad de hosts ESXi
Los usuarios que prefieren Windows PowerShell pueden utilizar PowerCLI para la gestión de vSphere y para realizar copias de seguridad de configuraciones ESXi. PowerCLI es un conjunto de cmdlets de PowerShell, y algunos comandos básicos de PowerCLI se explican en esta publicación de blog.
Para utilizar PowerCLI para realizar copias de seguridad de hosts ESXi, primero debe instalar PowerCLI en su sistema operativo:
- Ejecute PowerCLI como administrador en Windows.
- Conéctese a su servidor ESXi:
Connect-VIServer dirección_IP_ESXi -usuario nombre_usuario -contraseña su_contraseña
En nuestro caso, usamos los comandos:
Connect-VIServer 192.168.101.208 -usuario root -contraseña TestPass_555
Get-VMHostFirmware -vmhost 192.168.101.208 -BackupConfiguration -DestinationPath "C:\backup ESXi host"
- Si sus hosts ESXi son administrados por vCenter Server, puede conectarse primero a vCenter y luego hacer una copia de seguridad de la configuración de ESXi en sus hosts en PowerCLI sin necesidad de autenticarse cada vez antes de hacer una copia de seguridad de cada configuración del host:
Connect-VIServer 10.10.10.16
Ingrese su nombre de usuario y contraseña administrativos para acceder al servidor vCenter. Aparece una ventana emergente para este propósito.
- Si sus hosts ESXi son administrados por vCenter Server, puede conectarse primero a vCenter y luego hacer una copia de seguridad de la configuración de ESXi en sus hosts en PowerCLI sin necesidad de autenticarse cada vez antes de hacer una copia de seguridad de cada configuración del host:
- Haga una copia de seguridad de la configuración de 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 restaurar la configuración de ESXi en PowerCLI
- Ejecute VMware PowerCLI como administrador.
- Conéctese al host de ESXi en el que desea recuperar la configuración (en nuestro ejemplo, recuperamos la configuración en el host de ESXi con la dirección IP 192.168.101.208).
- Ingrese el host de ESXi en modo de mantenimiento:
Set-VMHost -VMHost 192.168.101.208 -State Maintenance
- Asegúrese de que las VM que residen en ese host de ESXi estén apagadas o migradas a otro host de 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 de ESXi se reiniciará automáticamente.
- Restaurar la configuración con el comando
Set-VMHostFirmware restore
: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 versión, número de compilación y UUID del host ESXi en el que se recupera la configuración deben coincidir con la versión, número de compilación y UUID del host ESXi cuya copia de seguridad está utilizando para restaurar la configuración. Use la clave -force en el comando para omitir la comprobación del UUID.
Método 4: Copia de seguridad 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 copias de seguridad o restaurar la configuración de ESXi. Esto puede suceder debido a fallos de hardware o problemas de software. En este caso, es mejor saber cómo hacer copias de seguridad y recuperar una configuración de ESXi manualmente.
Como recordará de la configuración predeterminada de crontab en un host ESXi, el script /sbin/auto-backup.sh se ejecuta cada hora y cada vez que se reinicia o se apaga un host ESXi. Este script está destinado a hacer una copia de seguridad (guardar) de la configuración de ESXi almacenada en la memoria en el archivo /bootbank/state.tgz.
NOTA: El archivo /bootbank/state.tgz no debe estar encriptado para utilizar este método.
La configuración de ESXi se almacena en la RAM de la computadora cuando un servidor ESXi está en ejecución (el disco RAM adecuado se monta en el directorio /etc/). Cuando ESXi se está iniciando, 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 DVD en vivo y copiar el archivo state.tgz manualmente si su host ESXi no es arrancable (por ejemplo, debido a una falla de hardware).
Flujo de trabajo de recuperación manual
- Prepare el archivo de respaldo que hizo previamente 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 debe recuperar la configuración del sistema.
- Arranque desde el CD/DVD en vivo en la máquina donde está instalado ESXi. Puede usar el disco de instalación de Ubuntu como un CD/DVD en vivo.
- Abra la consola (terminal) en Linux.
- Lista 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.
Se mencionaron las particiones de disco de ESXi en la entrada de blog sobre Arrancar ESXi desde una unidad flash USB y Recuperación de contraseña de ESXi.
Estamos interesados en la partición /dev/sda5 en este caso.
- Crea el directorio al que se montará la partición /dev/sda5:
mkdir /mnt/sda5
- Monte la partición de disco en ese directorio:
mount /dev/sda5 /mnt/sda5
- En el directorio /mnt/sda5, puedes encontrar 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 inicia un host de ESXi.
- Copie el archivo de respaldo de la configuración de ESXi desde la memoria USB al directorio /tmp/ de 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
- Extraiga archivos del archivo de respaldo:
tar zxvf /tmp/configBundle.tgz
- Puedes ver que el archivo state.tgz se extrae del archivo:
ls -al /tmp/
- 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
- Copie el archivo state.tgz que ha extraído del archivo de copia de seguridad de configuración de ESXi (configBundle.tgz) al directorio /tmp/:
cp /tmp/state.tgz /mnt/sda5/
- Desmonte las particiones montadas:
umount /dev/sda5/
- Reinicie el servidor. Expulse el DVD Live de Ubuntu y arranque desde el disco en el que está instalado ESXi.
init 6
Ahora su configuración de ESXi debería estar restaurada.
Conclusión
Usar la interfaz de línea de comandos de ESXi es bueno porque no necesita instalar software adicional. Las ventajas de vSphere CLI son la capacidad de ejecutar comandos de forma remota utilizando máquinas Linux y la capacidad de automatizar la copia de seguridad de la configuración de ESXi. Por otro lado, los usuarios de Windows pueden apreciar PowerCLI.
Si un host de ESXi no está sano y no puede arrancar el host, puede hacer una copia de seguridad y restaurar la configuración manualmente. Tenga en cuenta que la información sobre el arranque en blanco y la información sobre las máquinas virtuales no se almacenan en el archivo de copia de seguridad de la configuración de ESXi. Después de restaurar la configuración de ESXi, es posible que necesite registrar las máquinas virtuales en su inventario.
Se recomienda hacer una copia de seguridad de sus máquinas virtuales de vSphere además de hacer una copia de seguridad de los hosts de ESXi. NAKIVO Backup & Replication es una solución de copia de seguridad universal que puede hacer una copia de seguridad de sus máquinas virtuales VMware, máquinas virtuales Hyper-V, instancias de Amazon EC2, así como servidores físicos Linux y Windows.
Source:
https://www.nakivo.com/blog/back-up-and-restore-vmware-esxi-host-configuration-guide/