Mira mi solución de backup hehehehe

publicado 18/08/2006, Última modificación 26/06/2013

En mi pobreza, y teniendo que respaldar 130 GB de datos, no puedo comprarme aún otro disco duro para hacer el respaldo (y cualquiera que sugiera que me compre DVDs para respaldar 130 GB de datos queda cordialmente invitado a hacer de cambiadiscos en mi casa por todo un día).

¿Qué toca?

Pues hacer un megavolumen a partir de una partición de 20 GB en un disco viejo, y una partición de 120 GB en otro disco. ¡MD (Multiple Devices) de Linux al rescate! Uno los dos discos con mdadm, y formo un solo gran volumen: /dev/md0.

Hasta ahí, todo bien. ¿Pero qué pasaría si se me chorean la computadora? ¡Pues que tendrían mis respaldos!

Entonces toca cifrar los respaldos. Linux al rescate de nuevo, con lo último en criptografía transparente: LUKS. Creo un mapeo (mapping) LUKS cifrado con Twofish (uno de los algoritmos simétricos más seguros para cifrado) encima de /dev/md0, llamado backup. Ahora tengo un volumen cifrado /dev/mapper/backup.

(Ignoremos por un momento el hecho de que perder la computadora equivale a perder no sólo los respaldos, sino también los volúmenes en vivo que uso. También ignoremos el hecho de que la llave de seguridad para LUKS está almacenada en uno de los volúmenes en vivo.)

Finalmente, utilizo el poco conocido dirvish para hacer los respaldos. Dirvish es fantástico (pero medio dificilón de configurar): el primer respaldo es un respaldo completo, mientras que cualquier respaldo subsiguiente es un respaldo estilo incremental sobre el primero.

Automatizándolo con Vixie cron, todos los días a las 3 de la mañana, tengo respaldos diarios de los últimos 7 días. Además, cron me envía gentilmente el informe del respaldo por correo electrónico, todos los días.

Resultado: respaldos seguros, hechos a dos particiones diferentes en dos discos diferentes. La única cagada monumental es que si me chorean el computador, también se llevan la llave privada para el volumen de respaldo hehehe. Y los respaldos.

Para contrarrestar esta lamentable posibilidad, lo siguiente en mi shopping list es un computador viejo con unos 300GB de capacidad total en disco, conectado via WiFi a mi computador principal, pero escondido en el clóset de mi cuarto o en el techo. Así, si la policía viene a mi casa a llevarse mis preciados MP3, no los perderé.

Este es el informe diario de cron:

Starting backup disk
Assembling linear array
mdadm: /dev/md0 has been started with 2 drives.
Opening LUKS-encrypted volume
Command successful.
key slot 0 unlocked.
Mounting backup
Expiring old backups
Backing up
04:59:03 dirvish --vault root
05:16:50 dirvish --vault home
06:45:55 done
Stopping backup disk
Unmounting media
Stopping LUKS-encrypted volume
Disassembling linear array
Syncing disks