Cómo crear un plan de respaldo automatizado para máquinas virtuales en VirtualBox
Tu centro de datos podría depender de máquinas virtuales (VM) y podrías utilizar VirtualBox para algunas de esas VM. Si ese es el caso, ¿qué haces cuando ocurre un desastre? ¿Ya tienes un plan establecido para ese tipo de eventualidades? Deberías tenerlo. De hecho, debes tenerlo.
Cuando algo sale mal, quieres tener un respaldo sólido disponible. Por supuesto, VirtualBox tiene una excelente herramienta de instantáneas y siempre puedes utilizar eso. ¿Pero qué haces si quieres crear un sistema de respaldo completamente automatizado que exporte tus VM regularmente a archivos .ova?
Vamos a hacer que eso suceda.
Lo que necesitarás
Para completar esto, necesitarás una instancia en ejecución de VirtualBox con al menos una VM disponible para hacer respaldo. También necesitarás una unidad con suficiente espacio para respaldar esa VM.
Cómo crear el respaldo
Este respaldo se realizará mediante un script bash. Es mucho más fácil de lo que piensas. Lo primero que necesitamos saber es el nombre de la VM que se respaldará. Para encontrar los nombres de todas tus VM actuales, ejecuta el siguiente comando:
vboxmanage list vms
En esa lista, encontrarás la VM que deseas respaldar. El nombre estará entre comillas, como "Ubuntu Server 20.04" o "Web01". Supongamos que deseas respaldar Web01 en un archivo .ova alojado en una unidad externa montada en /data. El comando sería:
VBoxManage export "Web01" -o /data
Dependiendo del tamaño de la VM, el comando podría llevar algún tiempo en ejecutarse. Cuando termine, deberías ver el archivo /data/Web01.ova listo para usar.
Antes de ejecutar el comando, la máquina debe estar apagada. La mejor manera de hacerlo es apagar la VM desde el sistema operativo invitado. Usar el comando VBoxManage poweroff podría causar pérdida de datos, algo que queremos evitar a toda costa.
¿Cómo lo haces? Debes hacerlo a través de una sesión SSH de la siguiente manera:
ssh -t USUARIO@HOST sudo poweroff
Donde USUARIO es el nombre del usuario administrador remoto y HOST es la dirección IP de la VM de VirtualBox invitada. Por supuesto, para que esto funcione mediante un script, deberás configurar la autenticación de clave SSH. Asegúrate de copiar tu clave SSH del host a la invitada con el comando:
ssh-copy-id USUARIO@HOST
Una vez que hayas realizado eso, podrás ejecutar el comando poweroff como se mencionó anteriormente y luego exportar la VM al archivo .ova.
Cómo automatizar esto
Aquí es donde se vuelve un poco complicado porque en la automatización debes crear tres scripts bash:
Uno para apagar la máquina
Uno para exportar la VM
Los diferentes tipos de buses en los dispositivos electrónicosUno para iniciar la máquina
El primer script apagará la máquina. Crea el nuevo script con el comando:
nano vm-stop.sh
En ese archivo, pega lo siguiente:
#!/bin/bash
ssh -t USUARIO@HOST sudo poweroff
Cómo entrar al programa de configuración del BIOS en tu computadoraDonde USUARIO es el nombre del usuario administrador remoto y HOST es la dirección IP de la VM de VirtualBox.
Guarda y cierra el archivo.
A continuación, crearemos el script para exportar la VM con el comando:
nano vm-export.sh
En ese archivo, pega lo siguiente:
#!/bin/bash
today=$(date +"%Y-%m-%d")
VBoxManage export "Web01" -o /data/Web01-${today}.ova
No olvides cambiar los detalles para que se ajusten a tus necesidades. Guarda y cierra el archivo. El archivo anterior agregará la fecha de hoy al nombre del archivo, para que no sobrescribas tus OVAs exportados anteriormente.
Finalmente, crearemos un script para iniciar la máquina virtual con el comando:
nano vm-start.sh
En ese archivo, pega el siguiente contenido (ajustando según tus necesidades):
#!/bin/bash
VBoxManage startvm "Web01" --type headless
Guarda y cierra el archivo.
Da permisos de ejecución a cada uno de estos archivos con los siguientes comandos:
chmod u+x vm-stop.sh
chmod u+x vm-export.sh
chmod u+x vm-start.sh
Mueve tus scripts a un directorio de tu elección y luego crea tareas cron para cada uno. Asegúrate de separarlos con suficiente tiempo para que cada uno se ejecute correctamente. Por ejemplo, podrías ejecutar el script de apagado a las 10 p.m., el script de exportación a la medianoche y el script de inicio a las 2 a.m. Esas tareas cron se verían así:
0 22 * * * /ruta/hasta/vm-stop.sh >/dev/null 2>&1
0 0 * * * /ruta/hasta/vm-export.sh >/dev/null 2>&1
0 2 * * * /ruta/hasta/vm-start.sh >/dev/null 2>&1
Con esas tareas cron en su lugar, el respaldo se ejecutará todas las noches. Lo único que debes asegurarte es de que tu unidad externa no se llene de archivos OVA. Una vez al mes (aproximadamente), asegúrate de eliminar los archivos antiguos de esa unidad.
En caso de desastre, siempre puedes importar el último respaldo exitoso de Web01 con un comando como el siguiente:
VBoxManage import /data/Web01-2021-4-6.ova
Y eso es todo lo que necesitas para crear una estrategia de respaldo útil y automatizada para tus VM de VirtualBox.
Suscríbete a How To Make Tech Work de Newsmatic en YouTube para obtener los últimos consejos tecnológicos para profesionales de empresas de Jack Wallen.
Cómo diagnosticar y reemplazar una fuente de alimentación defectuosa en tu PCEn Newsmatic nos especializamos en tecnología de vanguardia, contamos con los artículos mas novedosos sobre Centros de Datos, allí encontraras muchos artículos similares a Cómo crear un plan de respaldo automatizado para máquinas virtuales en VirtualBox , tenemos lo ultimo en tecnología 2023.
Artículos Relacionados