Linux

Cómo crear una copia de seguridad de una máquina virtual de VirtualBox en un host Linux

Su centro de datos puede depender de máquinas virtuales (VM) y es posible que esté utilizando VirtualBox para algunas de ellas. Si es así, ¿qué hará cuando ocurra un desastre? ¿Ha hecho planes para esta posibilidad? debería. De hecho, debes hacerlo.

Desea copias de seguridad confiables cuando algo sale mal. Por supuesto, VirtualBox tiene una excelente herramienta de instantáneas que siempre puede usar. ¿Qué pasaría si quisiera crear un sistema de respaldo completamente automatizado para exportar sus máquinas virtuales (a archivos .ova) de manera regular?

Vamos a hacerlo.

La situación de cada persona es diferente, por lo que su millaje puede variar en consecuencia. No obstante, lo que voy a mostrarle le dará un buen comienzo para crear su propio plan de copia de seguridad de VirtualBox VM.

Mirar: Prácticas recomendadas de MSP: lista de comprobación de implementación de servidores (República Tecnológica Premium)

que necesitas

Para solucionar esto, necesita una instancia de VirtualBox en ejecución con al menos una VM disponible para la copia de seguridad. También necesita una unidad con suficiente espacio para admitir la máquina virtual.

Cómo crear una copia de seguridad

Esta copia de seguridad se realizará a través de un script bash. Es más fácil de lo que piensas. Lo primero que debemos saber es el nombre de la máquina virtual que se va a respaldar. Para averiguar los nombres de todas las máquinas virtuales actuales, emita el siguiente comando:

LEER  ¿Cómo... envuelvo el texto alrededor de una imagen en Scribus?

vboxmanage list vms

En esa lista, encontrará la máquina virtual de la que desea realizar una copia de seguridad. El nombre estará entre comillas, como «Ubuntu Server 20.04» o «Web01». Suponga que desea hacer una copia de seguridad de Web01 en un archivo .ova en una unidad externa montada en /data. El comando será:

VBoxManage export "Web01" -o /data

Según el tamaño de la máquina virtual, este comando puede tardar un tiempo en ejecutarse. Cuando termine, debería ver el archivo /data/Web01.ova listo.

La máquina debe estar apagada antes de emitir el comando. La mejor manera es apagar la VM desde dentro del invitado.usar Apagado de VBoxManage Los comandos pueden provocar la pérdida de datos y queremos evitarlo a toda costa.

¿Cómo haces esto? Debe hacer esto a través de una sesión SSH como esta:

ssh -t USER@HOST sudo poweroff

donde USUARIO es el nombre del usuario administrador remoto y HOST es la dirección IP de la VM invitada de VirtualBox. Por supuesto, para hacer esto desde un script, deberá configurar la autenticación de clave SSH. Asegúrese de copiar la clave SSH del host al invitado con el siguiente comando:

ssh-copy-id USER@HOST

Una vez que lo haya solucionado, puede emitir cerrar Los comandos enumerados anteriormente, luego exportan la VM a un archivo .ova.

Cómo automatizar esto

Aquí es donde se complica un poco, porque en la automatización tienes que crear tres scripts de bash:

El primer script apagará la máquina. Cree un nuevo script con el siguiente comando:

nano vm-stop.sh

En ese archivo, pega lo siguiente:

#!/bin/bash

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 invitada de VirtualBox.

Guarde y cierre el archivo.

A continuación, crearemos el script para exportar la VM con el siguiente comando:

nano vm-export.sh

En ese archivo, pegue lo siguiente

#!/bin/bash

Hoy=$(fecha+»%Y-%m-%d»)
Exportación de VBoxManage «Web01» -o /data/Web01-${today}.ova

Recuerde cambiar los detalles para adaptarlos a sus necesidades. Guarde y cierre el archivo. El archivo anterior agregará la fecha de hoy al archivo, por lo que no sobrescribirá el OVA que exportó anteriormente.

Finalmente, crearemos un script para iniciar la máquina virtual con el siguiente comando:

nano vm-start.sh

En ese archivo, pegue lo siguiente (cambie el contenido según sus necesidades):

#!/bin/bash

VBoxManage startvm «Web01» –tipo sin cabeza

Guarde y cierre el archivo.

Otorgue permiso ejecutable a cada archivo con el siguiente comando:

chmod u+x vm-stop.sh
chmod u+x vm-export.sh
chmod u+x vm-start.sh

Mueva sus scripts a un directorio de su elección y cree trabajos cron para cada script. Debe asegurarse de mantenerlos separados y dejar suficiente tiempo para que se ejecuten correctamente. Por ejemplo, puede ejecutar una secuencia de comandos de parada a las 10 p. m., una secuencia de comandos de exportación a la medianoche y una secuencia de comandos de inicio a las 2 a. m. Estos trabajos cron se parecen a:

0 22 * * * /path/to/vm-stop.sh >/dev/null 2>&1
0 0 * * * /path/to/vm-export.sh >/dev/null 2>&1
0 2 * * * /path/to/vm-stop.sh >/dev/null 2>&1

Con estos trabajos cron, las copias de seguridad se ejecutarán todas las noches. Una cosa que debe asegurarse es que su disco externo no se esté llenando de archivos OVA. Una vez al mes (más o menos), asegúrese de eliminar los archivos antiguos de esta unidad.

En caso de desastre, siempre puede importar la última exportación exitosa de Web01 con:

VBoxManage import /data/Web01-2023-4-6.ova

Eso es todo lo que hay que hacer para crear una conveniente estrategia de copia de seguridad automatizada para sus máquinas virtuales VirtualBox.

Suscríbase a Cómo hacer que la tecnología funcione de Tecnopedia en YouTube Obtenga los últimos consejos técnicos para profesionales de negocios de Jack Wallen.

Imagen: Jack Warren

LEER  Por qué ralentizar el desarrollo de nuevas funciones puede ser la mejor manera de mantener los proyectos de código abierto

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba