Cómo hacer una copia de seguridad y restaurar la configuración del host VMware ESXi: Una guía paso a paso
On diciembre 3, 2021 by adminLa copia de seguridad es una de las acciones más importantes para el funcionamiento continuo de cualquier infraestructura de TI. Ejecutar servidores como máquinas virtuales (VM) en hosts ESXi en vSphere le proporciona mayores ventajas a la hora de realizar copias de seguridad de los datos de las VM. La copia de seguridad a nivel de host le permite utilizar funciones útiles como la copia de seguridad sin agente, la copia de seguridad completa de la VM (datos de la VM + configuración de la VM), las instantáneas para hacer copias de seguridad de las VM en ejecución y la baja carga del servidor. Tener hosts ESXi sanos es la clave del éxito cuando se ejecutan máquinas virtuales. Por eso es mejor hacer copias de seguridad de la configuración de ESXi. Así, si algo va mal con un host ESXi, su configuración puede ser restaurada en pocos minutos sin tener que gastar mucho tiempo en configurar un servidor ESXi desde cero. La entrada del blog de hoy cubre la configuración de la copia de seguridad de ESXi y explora cómo hacer una copia de seguridad del host ESXi utilizando diferentes métodos.
Usar la línea de comandos de ESXi para hacer una copia de seguridad del host ESXi
Usar la línea de comandos de ESXi es el método más asequible para hacer una copia de seguridad de la configuración del host ESXi. No es necesario instalar ningún software adicional para utilizar la línea de comandos de ESXi. Tienes que habilitar el shell de ESXi y el acceso remoto SSH a un host ESXi. Este proceso se explica en la entrada del blog sobre ESXCLI. 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 confirmar que todos los cambios realizados en la configuración de ESXi desde el último autoguardado se guardan:
vim-cmd hostsvc/firmware/sync_config
Reservar la configuración de ESXi:
vim-cmd hostsvc/firmware/backup_config
Como resultado, recibirá un enlace para descargar el archivo configBundle.tgz del host ESXi. Deberá sustituir el asterisco por la dirección IP de su host ESXi. El archivo que contiene la copia de seguridad de la configuración de ESXi se guarda en el directorio /scratch/downloads durante un breve periodo de tiempo (unos minutos). La partición scratch se mencionó en la entrada del blog sobre la instalación de ESXi en una unidad flash USB.
La dirección IP de su host ESXi se puede comprobar en la interfaz de consola directa de ESXi o utilizando el siguiente comando:
esxcli network ip interface ipv4 get
La dirección IP del host ESXi utilizado en el ejemplo actual es 192.168.101.208.
Descargue el archivo de copia de seguridad de ESXi tan pronto como sea posible y guárdelo en un lugar seguro.
Cómo automatizar la copia de seguridad 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 posibilidad de automatizar tareas que proporciona; La copia de seguridad de la configuración de ESXi no es una excepción. Repasemos cómo hacerlo:
1. Cree un directorio para almacenar los archivos de copia de seguridad en su datastore ESXi.
mkdir /vmfs/volumes/datastore1/ESXi_backup
2. Cree un script para realizar la copia de seguridad de la configuración de ESXi:
vi /vmfs/volumes/datastore1/ESXi_backup/esxi_backup.sh
3. Añada 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 \N:
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 de copia de seguridad. Esto le ayudará a evitar confusiones cuando utilice varios hosts ESXi.
5. Haga 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. Ejecutar el script:
./esxi_backup.sh
8. Verificar que se ha creado un archivo de copia de seguridad:
ls -al
9. Asegurémonos de que el script de copia de seguridad del host ESXi se ejecuta de forma programada (automáticamente). Edite la configuración del programador para este propósito:
vi /var/spool/cron/crontabs/root
10. Añada la siguiente cadena para realizar la copia de seguridad 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. Guardar 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
Después de esto, la configuración de ESXi se respaldará automáticamente a las 02:10 AM cada noche en el archivo llamado ESXi_config_bakup_date_time.tgz
Cómo recuperar la configuración de ESXi en la línea de comandos de ESXi
Debe tener instalado ESXi de la misma versión y número de compilación en la máquina donde 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 el host ESXi que está instalado desde cero (claramente instalado), necesita establecer la dirección IP para la interfaz de red utilizada para la red de gestión de ESXi y habilitar el acceso SSH. La configuración inicial de ESXi se explica en esta entrada del blog. 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 debe restaurar la configuración. A continuación, en esta sección, lea lo que debe hacer si los valores UUID son diferentes.
Una vez que haya preparado su host ESXi recién instalado para restaurar la configuración de ESXi a partir de una copia de seguridad, conéctese al host ESXi a través de SSH y entre en el host al modo de mantenimiento.
esxcli system maintenanceMode set -enable yes
o
vim-cmd hostsvc/maintenance_mode_enter
Copiemos el archivo que contiene la copia de seguridad de la configuración de ESXi a algún directorio de un host ESXi utilizando un cliente SCP, por ejemplo WinSCP. Copiemos el archivo configBundle-xxxx.tgz desde un equipo local al directorio /tmp/ en el servidor ESXi de destino.
Nombre el archivo configBundle-xxxx.tgz a configBundle.tgz antes de introducir un comando para restaurar la configuración de ESXi. De lo contrario, recibirá un 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 por SSH:
mv /tmp/configBundle-esxi6-7b.localdomain.tgz /tmp/configBundle.tgz
Restaurar la configuración de ESXi:
vim-cmd hostsvc/firmware/restore_config /tmp/configBundle.tgz
Después de ejecutar este comando, un host ESXi se reiniciará automáticamente.
Después de reiniciar el servidor ESXi, deberá salir 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
El UUID del servidor ESXi se puede comprobar en la interfaz de línea de comandos de ESXi con el comando:
esxcfg-info -u
El valor del UUID del host ESXi respaldado se menciona en el archivo Manifest.txt dentro del archivo de copia de seguridad configBundle.tgz que ha hecho con los comandos explicados anteriormente.
No puede cambiar el UUID del servidor ESXi ya que el identificador se genera dependiendo del hardware. Sin embargo, puede 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 copia de seguridad de configuración configBundle.tgz ESXi.
Exploremos el algoritmo que se puede utilizar para cambiar el UUID para aplicar la configuración respaldada en otro servidor físico. El servidor A es un servidor cuya configuración está respaldada y el servidor B es un servidor al que se debe aplicar la configuración.
Etapa 1
Compruebe el UUID en el host ESXi al que desea aplicar la configuración respaldada (servidor B). Esto se puede hacer con al menos dos métodos, pero el segundo método también permite comprobar la versión de ESXi.
1. Ejecute el esxcfg-info -u
2.1 Haga una copia de seguridad de la configuración del servidor ESXi B
vim-cmd hostsvc/firmware/sync_config
vim-cmd hostsvc/firmware/backup_config
2.2 Copie el archivo de copia de seguridad en el directorio temporal y vaya a ese directorio
cp /scratch/downloads/_hash_value_/configBundle-localhost.localdomain.tgz /tmp
cd /tmp/
2.3 Extraiga los ficheros del archivo
tar zxvf configBundle.tgz
2.4 Abra el fichero 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
2.5 Puede eliminar los archivos temporales del directorio /tmp/:
rm configBundle-localhost.localdomain.tgz Manifest.txt state.tgz
Etapa 2
1. Copiar el archivo de copia de seguridad de configuración configBundle.tgz del servidor ESXi A en el servidor B, por ejemplo, en el directorio /tmp/ e ir a ese directorio.
2. Extraer los archivos del archivo configBundle.tgz archive
tar zxvf configBundle.tgz
3. Abrir el archivo Manifest.txt con vi y actualizar el valor UUID del servidor A al UUID del servidor B.
vi Manifest.txt
En nuestro caso, debemos cambiar 9EA94D56-7E39-96A8-AB45-DF31EF0971EC por 1E9E4D56-B724-DFBE-D19D-4C2D827E0188.
Guarda el archivo y sal del editor de texto :wq
4. Cambia el nombre de tu archivo fuente configBundle.tgz a configBundle1.tgz, por ejemplo (si el nombre de su archivo de copia de seguridad de la 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 a un nuevo archivo configBundle.tgz:
tar zcvf configBundle.tgz Manifest.txt state.tgz jumpstrt.gz
6. Poner el host ESXi en modo de mantenimiento y restaurar la configuración
esxcli system maintenanceMode set -enable yes
vim-cmd hostsvc/firmware/restore_config /tmp/configBundle.tgz
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 los hosts ESXi es vSphere CLI (no confundir con VMware PowerCLI). Debe instalar vSphere CLI en una máquina que ejecute Linux o Windows para gestionar los hosts ESXi de forma remota. Se requiere Perl para instalar vSphere CLI. La ventaja de usar vSphere CLI es su capacidad de usar la comodidad y el poder de bash en Linux. En los ejemplos de hoy se utiliza Ubuntu Linux.
Instalación y configuración de vCLI
Descargue vSphere CLI del sitio web de VMware.
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
Instalar los paquetes necesarios:
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
Vaya al directorio donde se encuentran los archivos extraídos y ejecute el instalador:
./vmware-install.pl
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.
Algunos módulos deben ser instalados manualmente en nuestro caso. Se pueden instalar utilizando el shell interactivo de Perl.
Entre en el shell interactivo de Perl:
perl -MCPAN -e shell
Ejecute el comando para instalar el módulo de Perl requerido:
instalar Devel::StackTrace
De la misma manera instale 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 comando en la consola de Ubuntu:
apt-get install libcrypt-ssleay-perl
Después de instalar los módulos de Perl, ejecute el instalador VMware vSphere CLI de nuevo.
La instalación se ha completado con éxito y se puede ver la siguiente pantalla en este caso:
Ahora vamos a intentar utilizar vSphere CLI e introducir un comando en la consola de Linux para ver una 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 thumbprint 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 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.
Trate de no utilizar comandos en los que el nombre de usuario y la contraseña se escriban en texto plano como este:
Esto se debe a 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 al ejecutar los comandos. Guardar las sesiones es seguro, a diferencia de introducir una contraseña como texto plano en el comando. Guardar sesiones se explica a continuación en esta entrada del blog.
Guardar una huella digital para conectarse a los hosts ESXi
Ingresar una huella digital de ESXi cada vez para ejecutar un comando no es conveniente. Afortunadamente, es posible guardar el thumbprint y ejecutar más comandos con vSphere CLI sin definir un thumbprint.
Vaya al directorio:
cd /usr/lib/vmware-vcli/apps/general/
Debe ejecutar 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
Ahora puedes ejecutar comandos en vSphere CLI sin tener que introducir una huella cada vez.
esxcli -server 192.168.101.208 system maintenanceMode get
Sin embargo, la necesidad de introducir un nombre de usuario y una contraseña no ha desaparecido: sigue siendo necesario introducir el nombre de usuario/contraseña. ¿Cómo se puede configurar vSphere CLI para que ejecute los comandos sin tener que introducir la contraseña cada vez? La respuesta a esta pregunta aparece en las secciones siguientes.
Utilizar un archivo de sesión para conectarse a los hosts ESXi
Utilizar un archivo de sesión guardado es uno de los métodos para evitar introducir un nombre de usuario y una contraseña cuando se ejecuta un comando en un host ESXi remoto utilizando vSphere CLI.
Primero, cree un directorio para almacenar los archivos de copia de seguridad de la configuración de ESXi, por ejemplo, /backup/.
mkdir /backup
Vaya a ese directorio:
cd /usr/lib/vmware-vcli/apps/session
Guarde su sesión autorizada del host ESXi en el archivo utilizando un script Perl con el comando:
perl save_session.pl -savesessionfile /backup/192-168-101-208session -server 192.168.101.208 -nombre de usuario root -contraseña TestPass_555
Donde:
-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 múltiples ejemplos)
-nombre de usuario root es el nombre del usuario que está conectado al host ESXi
-contraseña 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 del archivo de sesión. Por ejemplo:
esxcli -sessionfile /backup/192-168-101-208session system maintenanceMode get
Usar un archivo de configuración para conectarse a los hosts de ESXi
La idea detrás de este método es guardar las credenciales en el archivo de configuración como un texto sin formato y hacer referencia a este archivo cuando se ejecutan los comandos de ESXi en vSphere CLI. En primer lugar, cree un archivo de configuración:
vim /backup/vcli-config
Ingrese las credenciales en el formato siguiente:
VI_USERNAME=root
VI_PASSWORD=TestPass_555
Guarde el archivo.
Ejecute un comando en un servidor ESXi remoto utilizando vSphere CLI:
esxcli -server 192.168.101.208 -config vcli-config system maintenanceMode get
Como las credenciales se guardan como texto plano, este método no es seguro.
Usar un almacén de credenciales para conectarse a los 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 una contraseña no se guarda como texto plano, por lo tanto, este método proporciona una mayor seguridad.
Para agregar 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
Lista de credenciales guardadas en el almacén de credenciales para asegurarse de que las credenciales necesarias están presentes:
/usr/lib/vmware-vcli/apps/general/credstore_admin.pl list
Ejecuta 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 que no es root, el archivo de credenciales se guarda en /home/nombre_del_usuario/.vmware/credstore/vicredentials.xml
En la captura de pantalla siguiente, puede ver cómo se guardan las credenciales en el archivo de almacén de credenciales.
Usando vSphere CLI para respaldar la configuración del host ESXi
Ahora que ha configurado vSphere CLI en la máquina Ubuntu Linux, puede ejecutar los comandos y respaldar la configuración de ESXi.
Vaya al directorio /usr/bin/
cd /usr/bin
Ahora puede hacer una copia de seguridad de la configuración de ESXi sin introducir un nombre de usuario y contraseña después de guardar las credenciales en el almacén de credenciales:
O después de guardar una sesión en el archivo de sesiones:
vicfg-cfgbackup -sessionfile /backup/192-168-101-208session -s /backup/192-168-101-208-esxi-cfg.tgz
Nota: los comandos vicfg- están obsoletos. Es mejor utilizar los comandos equivalentes de ESXCLI en la interfaz de línea de comandos cuando se trabaja con los hosts de ESXi.
Nota: La desventaja de utilizar la opción -sessionfile es el tiempo de espera de 30 minutos en reposo después de ejecutar el último comando en vSphere CLI. Después de eso, usted tiene que autenticar y crear un archivo de sesión de nuevo.
Si desea crear una copia de seguridad de la configuración de ESXi, mientras que la introducción de 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 que la copia de seguridad de la configuración de ESXi esté automatizada
Si tiene un entorno que cambia dinámicamente y la configuración de los hosts ESXi cambia a menudo, la copia de seguridad manual de los hosts ESXi puede no ser racional. En este caso, puede automatizar la configuración de ESXi de copia de seguridad mediante la adición de un comando de copia de seguridad o una secuencia de comandos de copia de seguridad que contiene varios comandos para el planificador.
Crontab es un planificador en Linux. Edite la configuración del planificador en Linux para ejecutar el comando de copia de seguridad de la 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 debe utilizarse 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 del crontab es el siguiente:
minutos horas día_del_mes mes día_de_la_semana comando
Hagamos 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
Escribimos la configuración del programador crontab y salimos del editor de texto vim.
:wq
Esperemos a las 03:25 AM para comprobar el directorio en el que se deben guardar los archivos de configuración de las copias de seguridad de ESXi.
ls -al
Como se ve en la captura de pantalla de abajo, el archivo de copia de seguridad de la configuración del host ESXi se creó a las 03:25 automáticamente.
Ahora la copia de seguridad de la configuración de ESXi se ha hecho automáticamente, lo cual es genial, pero hay una desventaja. Cada vez que crontab ejecuta un comando programado para hacer la copia de seguridad de la configuración de ESXi, el archivo tgz anterior se sobrescribe con el nuevo archivo tgz. Esta situación puede causarle problemas si la copia de seguridad con la configuración correcta de ESXi hecha ayer es sobrescrita por un archivo creado hoy que contiene la configuración incorrecta de ESXi. La forma correcta de evitar este tipo de problemas es hacer una copia de seguridad de la configuración de ESXi en diferentes archivos.
Creemos un sencillo script para guardar la configuración de ESXi cada vez como un archivo separado con un nombre de archivo único que contenga la fecha y la hora de la creación del archivo de copia de seguridad de la configuración de ESXi en el nombre del archivo. La creación de un script permite añadir comandos para realizar copias de seguridad 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 líneas al archivo como las siguientes:
#!/bin/bash
ESXI101_208_BACKUP_NAME=»192-168-101-208-$(date +’%Y%m%d_%H%M%S’)esxi-cfg.tgz»
vicfg-cfgbackup -server 192.168.101.208 -config /backup/vcli-config -s /backup/$ESXI101_208_BACKUP_NAME
3. Escribir los cambios en el archivo y salir del editor de texto vim.
:wq
4. Hacer ejecutable el archivo:
chmod +x /backup/esxi_backup.sh
5. Editar la configuración del planificador:
crontab -e
6. Añadir la línea como esta:
50 06 * * * /backup/esxi_backup.sh
Establecemos crontab para ejecutar el script de copia de seguridad de la configuración de ESXi a las 06:50 AM. Desactiva la tarea programada anterior que has añadido antes añadiendo el carácter # al principio de la línea.
7. Espera a la hora establecida y luego comprueba si se ha creado el archivo de copia de seguridad de la configuración de ESXi.
Este es un sencillo script que demuestra la idea de automatización. Puede crear scripts complejos para realizar copias de seguridad de varios hosts ESXi.
Nota: Después de cada reinicio de ESXi o de 30 minutos de inactividad, la sesión de ESXi pasa a no estar autenticada. Tenga en cuenta esta característica cuando cree 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 mediante vSphere CLI son similares a los requisitos existentes para 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 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 respaldado) y, a continuación, ejecute el comando como:
vicfg-cfgbackup -servidor=dirección_IP_del_host_ESXi -nombre_de_usuario=root -l archivo_de_seguridad
En nuestro ejemplo particular, el comando es:
vicfg-cfgbackup -servidor=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 se desea restaurar la configuración tiene un UUID diferente del UUID del servidor ESXi del que se ha hecho la copia de seguridad (cuyo UUID está definido en el archivo Manifest.txt dentro del archivo de copia de seguridad tgz), se puede utilizar la clave -f (forzar) para anular el UUID.
Puede comprobar el UUID del host ESXi en ejecución con el comando, como recuerda:
esxcfg-info -u
Usando Power CLI para respaldar el host ESXi
Los usuarios a los que les gusta Windows pueden usar PowerCLI, que es un conjunto de cmdlets de PowerShell para respaldar la configuración de ESXi. En esta entrada del blog se explican algunos comandos básicos de PowerCLI. Primero tienes que instalar PowerCLI en tu sistema operativo. El algoritmo es el siguiente:
1. Ejecuta PowerCLI como administrador en Windows.
2. Conéctate a tu 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 -pass_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 a vCenter primero 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 la configuración de cada host.
Connect-VIServer 10.10.10.16
Ingrese su nombre de usuario y contraseña administrativos para acceder a vCenter Server. Aparecerá una ventana emergente para ello.
Haga una copia de seguridad de la configuración de ESXi de cada host:
Get-VMHostFirmware -vmhost 10.10.10.61 -BackupConfiguration -DestinationPath «C:\Nbackup 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 a un host ESXi en el que desee recuperar la configuración (en nuestro ejemplo recuperaremos la configuración en el host ESXi cuya dirección IP es 192.168.101.208). A continuación, ponga el host en modo de mantenimiento:
Set-VMHost -VMHost 192.168.101.208 -State Maintenance
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. Restaure 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, el número de compilación y el UUID de un 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 de un host ESXi cuya copia de seguridad está utilizando para restaurar la configuración. Utilice la clave -force en el comando para omitir la comprobación del UUID.
Copia de seguridad manual y restauración 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 una copia de seguridad o restaurar la configuración de ESXi. Esto puede ocurrir debido a un fallo de hardware o a problemas de software. En este caso, es mejor saber cómo hacer una copia de seguridad y recuperar la configuración de ESXi manualmente.
Nota: Como se recuerda de la configuración de crontab por defecto en un host ESXi, el script /sbin/auto-backup.sh se ejecuta cada hora y cuando un host ESXi se reinicia o se apaga. 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.
La configuración de ESXi se almacena en la memoria RAM del equipo cuando un servidor ESXi está en funcionamiento (el disco RAM apropiado está montado 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á funcionando utilizando un cliente SCP como WinSCP (el acceso SSH remoto debe estar habilitado). Como alternativa, puede arrancar desde el DVD Live y copiar el archivo state.tgz manualmente si su host ESXi no puede arrancar (por ejemplo, debido a un fallo de hardware).
Flujo de trabajo de la recuperación manual
1. Prepare el archivo de copia de seguridad que hizo anteriormente con ESXi shell, vSphere CLI o PowerCLI. El nombre de dicho archivo es configBundle-192-168-101-208.tgz en nuestro caso. Se puede copiar el archivo en un pendrive, por ejemplo, e insertar ese pendrive en un puerto USB del servidor ESXi en el que se tiene que recuperar la configuración del sistema.
2. Arrancar desde el CD/DVD live en la máquina donde está instalado ESXi. Puede utilizar el disco de instalación de Ubuntu como CD/DVD en vivo.
3. Abra la consola (terminal) en Linux
4. Enumere 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 de 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.
Nos interesa la partición /dev/sda5 en este caso.
5. Crear el directorio en el que se montará la partición /dev/sda5:
mkdir /mnt/sda5
6. Montar 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 copia de seguridad de la configuración de ESXi desde una unidad flash USB al directorio /tmp de Ubuntu cargado desde un DVD Live. En nuestro ejemplo, copiamos:
cp /media/Ubuntu/Ubuntu\ 18.0/backup_ESXi_host/configBundle-192-168-101-208.tgz /tmp/configBundle.tgz
9. Extraiga los archivos del archivo de copia de seguridad:
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 las particiones montadas
montar /dev/sda5/
14. Reiniciar el servidor. Expulse el Live DVD de Ubuntu y arranque desde el disco en el que está instalado ESXi.
init 6
15. Ahora su configuración de ESXi debería estar restaurada.
Conclusión
La entrada de hoy en el blog ha cubierto cuatro métodos para respaldar y restaurar la configuración de ESXi. 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 capacidad de ejecutar comandos de forma remota mediante el uso de máquinas Linux y la capacidad de hacer la copia de seguridad de la configuración de ESXi automatizada; PowerCLI puede ser apreciado por los usuarios de Windows. Si su host ESXi no está sano y no puede arrancar el host, existe la posibilidad de hacer una copia de seguridad y restaurar la configuración manualmente. Tenga en cuenta que la información de bootblank y la información sobre las máquinas virtuales no se almacena 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 tenga que registrar las máquinas virtuales en su inventario.
Ahora ya sabe cómo hacer una copia de seguridad del host ESXi, pero no se olvide de hacer una copia de seguridad de las máquinas virtuales. NAKIVO Backup & Replicación es una solución de copia de seguridad universal que puede hacer una copia de seguridad de sus máquinas virtuales VMware, Hyper-V VM, instancias de Amazon EC2, así como servidores físicos Linux y Windows. Descargue la versión de prueba gratuita con todas las funciones para comprobar lo fiable que puede ser la copia de seguridad en su entorno.
Deja una respuesta