Recuperación de un sistema completo: Mondo y Bacula
A pesar de que en anteriores recetas explicamos cómo realizar y recuperar backups en bacula, esto no es suficiente en el caso de querer recuperar un sistema completo. En caso de desastre total deberíamos volver a crear particiones, instalar un sistema base en el que recuperar los backups y, si no hicimos backup de la configuración del sistema, tendríamos que volver a configurarlo todo. Deberíamos separar backups del sistema y backups de los datos del sistema. Así podremos encontrar un método mejor para realizar nuestros respaldos.
Backup de los datos
Bien... hay mucho que explicar... pero está todo en las recetas sobre bácula: Lo único que debemos saber es qué es lo que vamos a almacenar. Esto es fácil: /var/ (no todo... las bases de datos, páginas web, repositorios, etc.) y /home. Como seréis buenos usuarios, no usaréis root para nada, por tanto ese no hace falta salvar. Ahora sólo nos queda salvar el sistema...Backup del sistema
Para hacer backup del sistema hay que tener en cuenta un par de cosas: qué ficheros salvar, sus enlaces, atributos, particiones, sector de arranque, etc. y lo que es más importante: en caso de que nos quedemos sin sistema... ¿cómo lo podemos recuperar? ¿una live? como véis no es tan trivial como puede parecer en un principio... necesitamos un método para hacer todo esto de una forma fácil y rápida: mondo.Instalar mondo
Para los debianitas y similares:Restaurar el sistema
Bien... hemos creado las imágenes con mondo y justo después se nos ha reventado el sistema :jawdrop:. No pasa nada! Tanto si perdimos algunos ficheros como el sistema entero... reiniciamos el PC con el primer DVD insertado. El DVD arranca y nos aparece otra gui con varias opciones: testear backup, restauración manual y restauración automática. Realizamos una restauración automática, nos irá pidiendo los DVD's y extraerá los ficheros y tal. Una vez hayamos terminado reiniciaremos el PC ya sin los DVD's y arrancará nuestro sistema. Como nuestro sistema ya tenía bácula restauraremos los datos de /home desde las cintas (siguiendo las recetas).Apéndice A: automondo
El uso del gui en mondo tiene un problema: exige interacción con el usuario. Puede ser que necesitemos poder crear imágenes sin que un usuario lo exija (cron). Además puede ser necesario almacenar alguna configuración en algún sitio. Para estas cosas he creado un pequeño y tonto script que he llamado automondo. El script lo copiaremos en /usr/sbin, lo llamaremos automondo y le daremos permisos de ejecución. El script es el siguiente:#!/bin/bash # Cargamos la configuracion (si existe) # CONFIG_FILE=/etc/mondo/automondo.conf if [ -e $CONFIG_FILE ] then . $CONFIG_FILE fi # Cargamos valores por defecto (en caso de que no exista CFG o falten parametros) if [ -z "$IMG_DESTINATION" ] then IMG_DESTINATION=/root/images/mondo fi if [ -z "$IMG_PREFIX" ] then IMG_PREFIX=`hostname` fi if [ -z "$IMG_SIZE" ] then IMG_SIZE=4200m fi if [ -z "$BCK_EXCLUDE" ] then BCK_EXCLUDE="/tmp /lost+found" fi if [ -z "$TMP_DIR" ] then TMP_DIR="/tmp" fi # Creamos el destino si no existe if [ ! -d $IMG_DESTINATION ] then mkdir $IMG_DESTINATION fi # Creamos el temporal si no existe if [ ! -d $TMP_DIR ] then mkdir $TMP_DIR fi # Invocamos el asunto... /usr/sbin/mondoarchive -O -d $IMG_DESTINATION -p $IMG_PREFIX -i -E "$BCK_EXCLUDE" -N -s $IMG_SIZE -9 -T "$TMP_DIR" -S "$TMP_DIR"Y ahora creamos el archivo /etc/mondo/automondo.conf con el siguiente contenido:
# Destino para las imagenes # IMG_DESTINATION=/root/mondo/images # Prefijo en el nombre de las imagenes # IMG_PREFIX=`hostname` # Tamaño de los iso # IMG_SIZE=4200m # Directorios a excluir (proc y tal lo excluye mondo automáticamente) # BCK_EXCLUDE="/var/tmp /var/run /home /root/mondo" # Directorio temporal # TMP_DIR="/root/mondo/temp"Si ahora ejecutamos automondo se nos crearán automáticamente las imágenes del sistema ;).
Nota: Existe un "pequeño" problema que no se muy bien como arreglar. Resulta que aunque las imágenes las crea bien y funcionan (doy fe) da un "error" al final del proceso y pide la pulsación de intro para continuar. Cleto me ha sugerido el siguiente cambio en la última línea del script:echo -e \n | /usr/sbin/mondoarchive -O -d $IMG_DESTINATION -p $IMG_PREFIX -i -E "$BCK_EXCLUDE" -N -s $IMG_SIZE -9 -T "$TMP_DIR" -S "$TMP_DIR"Es pasar un intro al programa para que se pulse... pero no termina de convencerme el asunto... ¿qué opináis?
Enlaces
Las recetas sobre bácula que menciono al principio. Mondo Rescue Home Page. [ show comments ]
blog comments powered by Disqus