Muchas veces me han preguntado como hacer copias de seguridad en GNU/Linux. Existen cientos de herramientas para hacer nuestros backups en función de las necesidades y de la forma de restauración que queremos. En este tutorial os enseñaré como hacer una copia completa de un sistema GNU/Linux Debian 8 con la herramienta Mondo Rescue.
Cómo hacer copias de seguridad en GNU/Linux con Mondo Rescue
⬇️ Compra en Amazon el hardware que utilizo ⬇️
- 💻 Ordenador Portátil: Descúbrelo aquí
- 🖥️🖥️ Monitores: Mis 2 súper monitores
- ⌨️ Teclado: Mini teclado + Lector DNIe
- 🖱️ Ratón: Mi ratón programable
- 🎧 Auriculares: Súper Auriculares TOP!
- 🖨️ Impresora: Mi fantástica impresora
- 🗄️ NAS Backup: Mi NAS para Backups
- 🔌 HUB USB: Mi HUB para puertos USB
- 📱 Smartphone: Mi Smartphone
- 📲 Tablet: Mi tablet para viajes
- ⌚ Smartwatch: Mi Smartwatch favorito
- 📹 Cámara deportiva: Mi cámara para deportes
Mondo Rescue es software libre de plan de recuperación ante desastres. Soporta Linux (i386, x86-64, IA-64) y FreeBSD (i386). Es empaquetado para múltiples distribuciones (Red Hat, RHEL, Fedora, CentOS, OpenSuSE, SLES, Mandriva, Debian, Ubuntu, Gentoo). También soporta cintas, discos, dispositivos USB, red y CD/DVD como medios de copias de seguridad, múltiples sistemas de archivos, LVM, software y hardware RAID. La restauración se puede realizar de unos medios físicos que incluyan soporte de cintas OBDR, o medios CD/DVD/USB, o por red a través de PXE.
Mondo usa su distribución de Linux propia llamada Mindi para proporcionar un entorno de arranque favorable para proceder a la restauración de los datos. A diferencia de otras soluciones de clonación del discos, Mondo Rescue no proporciona un CD en vivo listo para usuar, en su lugar, el paquete incluido mindi crea un conjunto de uno o más CD/DVDs utilizando el mismo kernel de Linux y configuración del sistema respaldado. En efecto, este CD/DVD de arranque es personalizado para el equipo respaldado, siendo el objetivo reducir la posibilidad de tener dispositivos faltantes o incompatibilidades en el kernel que puedan surgir por utilizar un kernel de linux genérico básico en un DVD/CD en vivo pre-generado.
Espero que os guste!
1.- ELEMENTOS UTILIZADOS EN ESTE TUTORIAL
- GNU/Linux Debian 8 64bits
2.- INSTALACIÓN DE MONDO RESCUE
Lo primero, como es habitual en todos mis tutoriales, es instalar el paquete base, en este caso será mondo.
Instalaremos el paquete con usuario root ó con un usuario con permisos de sudo. Esta vez añadiremos el Repositorio Oficial de Mondo Rescue a nuestro "sources.list" para la versión 8 de Debian y luego actualizaremos los paquetes disponibles y finalmente realizaremos la instalación. Con los siguientes 3 pasos lo tenemos todo hecho:
# wget ftp://ftp.mondorescue.org/debian/8/mondorescue.sources.list -O /etc/apt/sources.list.d/mondorescue.sources.list
# apt-get update
# apt-get install mondo
En función de la distribución que uses, el proceso de instalación cambia. Te recomiendo darte una vuelta por la web oficial de Mondo Rescue.
3.- BACKUP COMPLETO DEL SISTEMA
Para arrancar Mondo Rescue, ejecutaremos el comando "mondoarchive" y se nos abrirá una interfaz muy amigable en modo consola. En este tutorial haremos un backup completo del sistema a otro disco para posteriormente recuperar el sistema:
# mondoarchive
Mondo Rescue nos permite almacenar los backups a los siguientes medios:
- Discos CD-R
- Discos CD-RW
- Discos DVD
- USBs
- Unidades de Cinta
- Unidades de Red
- Discos Duros
Pantalla inicial de Mondo Rescue
Podemos ver que el sistema está usando aproximadamente unos 5,6GB de espacio. He conectado un nuevo disco (sdb) de 10GB donde se almacenará el Backup. Al estar haciendo todo en un entorno de virtualización, el trabajo es muy rápido y sencillo:
Estado de discos
En la siguiente pantalla, el asistente nos solicitará el destino donde queremos que se guarde el Backup del sistema. La partición /dev/sdb1 está montada en el directorio /media/BACKUPS, por lo tanto el directorio de almacenamiento del backup será /media/BACKUPS/:
Directorio de almacenamiento de backups
Para optimizar el espacio de la copia de seguridad, tenemos varios tipos de compresión: bzip2, gzip, lzo y lzma. Personalmente me quedo con bzip2 y gzip debido a su gran compatibilidad en otros sistemas, y especialmente con bzip2 debido a que es el software que mas consigue comprimir y reducir el tamaño final del backup:
Tipo de compresión
Podemos seleccionar el nivel de compresión desde máximo (9) a mínimo (0). Para un nivel de compresión de 9, el uso de CPU aumentará y el tamaño final del backup será menor. Para un nivel de compresión de 0, el uso de CPU será menor pero el tamaño final será casi idéntico al original. Seleccionaremos Máximo (9) para tener un fichero ISO de salida pequeño:
Nivel de compresión
El fichero de salida tendrá un formato ISO y puede que queramos grabarlo a CD/DVD. Podemos limitar el tamaño para que Mondo Rescue genere varios ficheros ISO y así poderlos grabar en discos ópticos. Como en este ejemplo, el tipo de almacenamiento de backup será otro disco duro con suficiente espacio, pondré un tamaño de 10.000Mb. El tamaño original son unos 5,6GB por tanto, si le añadimos la compresión bzip2, nunca va a llegar a los 10.000Mb de ocupación. Con esto logramos tener un único fichero ISO:
Tamaño máximo de fichero ISO
Escribiremos el nombre del prefijo del backup. Si se generan varios ficheros, seguirán la siguiente nomenclatura: nombre-[1-9]*.iso. Para mi ejemplo pondré un nombre sencillo: mondorescue
Prefijo del fichero
Podemos seleccionar el/los PATHs que queremos copiar. Como queremos un backup completo, lo que haremos será dejarlo por defecto y dejar la barra /. Esta barra indica que queremos un backup de todo el filesystem:
Directorios a copiar
Podemos indicar directorios que queremos excluir de la copia. Como se puede ver en el mensaje de la siguiente imagen, el directorio /tmp y /proc siempre son excluidos porque son directorio que realmente "no existen". Daremos a
Directorios a excluir de la copia
Mondo Rescue necesita un directorio temporal donde guardar información acerca del Backup y poder realizar su tarea. Por defecto usará el directorio de /tmp del filesystem. Si queremos podemos cambiarlo, yo dejaré su valor por defecto:
Directorio temporal
Se necesita también un directorio temporal llamado "scratch". Lo dejaremos por defecto:
Directorio Scratch
Los ficheros y directorios en GNU/Linux pueden tener permisos especiales parte de los de lectura/escritura/ejecución. Se recomienda copiar estos permisos adicionales si no queremos encontrarnos problemas a la hora de restaurar la copia:
Atributos especiales
Mondo Rescue usa el Kernel del sistema operativo para generar una imagen ISO autoarrancable gracias a este kernel y a la minidistribución mindi que instala en ella. En la siguiente pantalla el asistente muestra automáticamente el kernel que ha encontrado en nuestro sistema operativo. Simplemente, aceptaremos y continuamos el proceso:
Kernel
Tras la finalización de la copia, podemos hacer una verificación del archivo generado. Se recomienda hacer una verificación si queremos garantizar la integridad del fichero:
Verificación del fichero de backup
Este es el último paso antes de comenzar el backup del filesystem. Si estamos seguros de que hemos configurado todos los pasos anteriores correctamente, presionaremos en YES para continuar:
Comenzar el backup
Lo primero que hace el asistente es generar un catálogo con todos los directorios y ficheros del sistema para posteriormente comenzar a realizar la copia de seguridad. Este paso es bastante rápido y apenas se demora unos 3-4 minutos en función del tamaño del filesystem:
Catálogo de ficheros y directorios
Tras la generación del catálogo de ficheros y directorios, comienza el proceso real de copia del sistema:
Copia real del sistema
El paso anterior es el paso que más tarda de todo el proceso. Una vez que ha finalizado, si hemos marcado YES para la verificación del fichero generado, comenzará la verificación una vez que ha terminado la generación del fichero (ó los ficheros) ISOS del backup:
Verificación del backup
Por último, tras verificar el fichero, el proceso acaba y obtenemos el siguiente mensaje. Aceptaremos y el asistente nos devolverá a nuestro Shell:
Backup finalizado
4.- RESTAURACIÓN DEL SISTEMA
Para restaurar el equipo, podemos grabar en un CD/DVD/USB la imagen autoarrancable y arrancar como hacemos habitualmente con cualquier ISO de un sistema operativo. En mi caso es una máquina virtual, por tanto, crearé una nueva máquina virtual con un disco exactamente igual al de la máquina original y arrancaré desde el fichero ISO que previamente he copiar a mi sistema base donde tengo VMWARE WORSATION 11.
Pantalla de arranque de Mindi
Seleccionaremos nuke o presionaremos enter y el proceso de restauración comenzará a realizarnos una serie de preguntas básicas. Tenemos 20 segundos para cancelar el proceso, el asistente nos avisa que TODO el contenido será borrado:
Aviso de borrado de datos
El asistente comienza a crear las particiones necesarias para la recuperación del sistema:
Particionado
El proceso automático ha fallado. Podemos hacerlo de forma manual. Para ello aceptaremos y pulsaremos YES en el mensaje. Si a ti te ha funcionado, sigue para adelante:
Modo interactivo de particiones
El problema radica en la partición SWAP que no es capaz de formatearla. Sencillamente la eliminamos y una vez restaurado el sistema podremos crearla desde 0:
Eliminación de partición SWAP
Tras eliminar la partición SWAP, ya podemos continuar y Mondo nos avisa si queremos restaurar todos los datos. Obviamente daremos YES:
Restaurar todos los datos
Este proceso es largo y tarda un rato en descomprimir los datos del interior de la ISO y guardarlos al filesystem. Tómate tu tiempo y ten paciencia:
Restaurando ficheros
Inicializaremos el cargador de arranque, en este caso GRUB. Si hacemos click en NO, el sistema no arrancará:
Boot Loader
Si hemos realizado cambios especiales o manuales en el fichero fstab, debemos editarlo. Si no hemos realizado cambios simplemente le diremos que NO:
Puntos de montaje fstab
Para que el sistema reconozca e identifique las particiones correctamente, debemos marcar YES en el siguiente punto. Si ponemos NO posiblemente no arranque tras la carga de GRUB:
Label de particiones
Este es el último paso de la restauración. El asistente nos avisa de que ha finalizado y debemos reiniciar el sistema:
Salir del asistente
El asistente nos devuelve al shell y para reiniciar escribiremos exit y pulsaremos enter:
Reboot
5.- ARRANQUE DEL SISTEMA RESTAURADO
La máquina restaurada al arrancaremos de la forma habitual, no hay que tener en cuenta absolutamente nada, es una copia de la máquina original. En la siguiente imagen podemos ver como el GRUB arranca correctamente:
GRUB
En la siguiente imagen podemos ver como la máquina arranca correctamente y el estado del filesystem. Tenemos que recordar que en el asistente de backup, falló la parte de la partición de SWAP. Simplemente tenemos que crear la partición de SWAP en el espacio disponible del disco y activarla con swapon (busca manuales en internet):
Máquina restaurada
ENJOY!