En todos los proyectos hay distintas etapas. Primero te das cuenta de que la forma de realizar los backups es poco óptima y segura y decides que sería mejor tener
un raid 1 para protegerte de los fallos en disco. Un tiempo después empiezas a pensar que eso está muy bien, pero qué ocurre si te roban el ordenador (con sus 2 discos del raid), se incendia, inunda o viene un tornado y te quedas sin casa. Pues que has perdido todos tus preciados datos. En ese momento piensas en un
backup off-site, es decir, fuera de tu casa. Hay muchos servicios online, pero cuando tienes cientos de gigas de información que almacenar, pueden suponer muchos euros al mes.
Al final, una solución puede ser hacer el backup a un disco externo y llevar ese disco a otro sitio: la oficina, la casa de tus padres,... y cada cierto tiempo traerlo a casa, sincronizar los datos pendientes y volverlo a llevar. Pero, ¿qué ocurre si ese disco externo se pierde o roban en casa de tus padres?, que todo el mundo vería tu información. La solución para esto, el
cifrado.
Así es cómo lo voy a hacer. Tengo un disco duro de 120 GB que usaba antes de
ampliar el raid y que ahora tengo en una caja externa usb. Para el cifrado, utilizo
Truecrypt, del que ya he hablado varias veces y que me parece una solución estupenda.
Creamos el dispositivo cifrado. En lugar de crear un archivo .tc voy a cifrar toda la partición. Nos pedirá que seleccionemos los algoritmos, que introduzcamos una clave y que "aporreemos" el teclado para generar las claves con cierta aleatoriedad. No elegimos sistema de archivos puesto que sólo podemos escoger FAT y nosotros formatearemos posteriormente a ext3. Este proceso puede durar mucho tiempo en función del tamaño del disco, en mi caso fueron unas dos horas.shian:~# truecrypt -c /dev/sda1
Una vez finalizado el proceso, montamos el volumen cifrado indicando que no tiene filesystem.
shian:~# truecrypt --filesystem=none /dev/sda1 /mnt/ext_backup
Vemos dónde se ha mapeado el dispositivo y lo formateamos. Ojo no hay que elegir /dev/sda1 puesto que sino sobreescribiríamos el volumen cifrado y tendríamos que empezar de nuevo.shian:~# truecrypt -l
1: /dev/sda1 /dev/mapper/truecrypt1
shian:~# mkfs.ext3 /dev/mapper/truecrypt1
Desmontamos el volumen y lo montamos en su ubicación definitiva con el sistema de archivos ya creado. Ahora ya podríamos empezar a copiar todos nuestros datos en él.
shian:~# truecrypt -d /dev/sda1
shian:~# trucrypt /dev/sda1 /mnt/ext_backup
shian:~# df -h
S.ficheros Tamaño Usado Disp Uso% Montado en
/dev/mapper/truecrypt1 113G 17G 91G 16% /mnt/ext_backup
Para la sincronización he hecho un script muy sencillo con rsync que copia los datos de la partición del raid donde los deja el proceso de backup al volumen cifrado. Sólo muestro dos directorios, pero el comando es el mismo para todos.#!/bin/bash
echo "Asegurate de que esté montado el volumen cifrado!!!!"
echo "CTRL+C para cancelar"
read
DATA_HOME=/mnt/raid/datos/doraemon/current
BACKUP_DST=/mnt/ext_backup
LOG_FILE=/root/log_externalBackup/$(date +%Y%m%d_%H%M)_externalBackup.log
FINAL_LOG_DST=/mnt/ext_backup/logs
rsync -avpz --stats "$DATA_HOME/media/sda2/Fotos" $BACKUP_DST > $LOG_FILE
rsync -avpz --stats "$DATA_HOME/media/sda2/Musica" $BACKUP_DST >> $LOG_FILE
cp $LOG_FILE $FILE_LOG_DST/
Y listo, con esto estaría todo terminado. Ya sólo hay que lanzar el script y esperar a la sincronización. La primera vez tardará varias horas en función del volumen de datos, pero posteriormente la copia no debería tardar demasiado.
Tal vez esta solución no sea la más limpia y elegante, puesto que los datos no están al día, hay que acordarse de traer y llevar el disco externo (con un par de notas en Google Calendar se soluciona), pero sin duda es más barata y tienes más control de tus datos :-P
6 comentarios:
Interesante y útil, yo también tengo una cosa similar sincronizando por ssh varios pcs. En mi caso es fundamental "tener red" por eso me toca hacer:
#lets take a nap until we have network ;-)
while [ "$CONDITION" != "bytes" ]; do
echo "probando..."
sleep 1
CONDITION=$(ping -c 1 myserver.fr | grep "bytes from" | awk '{print $2}')
done
Muy bueno. Tengo q ver si existe el truecrypt para Opensolaris.
Una duda, ¿que hace falta para leer/montar el disco? (claves,...). De eso ultimo, como/donde haces el backup? un pendrive q dejas en casa de otro familiar?
Muy buen artículo, como siempre.
Yo tengo algo parecido, pero usando ccrypt fichero a fichero
Una pregunta: ¿te fías de que la copia al hdd externo es correcta? (personalmente, yo le paso un md5sum al origen y vuelvo a pasarselo al destino, pero no sé si me paso de paranoico...)
Hola,
[Dani]: Muy útil el truquillo para esperar a tener red, me lo apunto para futuros usos, gracias!.
[Alex]: Creo que no hay binarios para OpenSolaris, pero siempre puedes intentar compilar el fuente, a lo mejor es fácil y no da mucha guerra.
En la propia web de truecrypt desaconsejan totalmente usarlo en OpenSolaris.
Por si no lo sabes, también puedes crear un archivo del tamaño que quieras y utilizarlo como disco duro virtual cifrado. Incluso hay una versión portable para llevar en el pendrive, muy práctico.
Respondiendo a tu pregunta, para montarlo necesitas una clave y/o un archivo de clave.
De momento el volumen va cifrado con una clave, no con archivo y todavía está en mi cajón :-P, pero lo llevaré a casa de mis padres o a la oficina.
[patata]: También uso truecrypt con ficheros, pero para tamaños más pequeños. Por ejemplo, en el pendrive llevo un archivo de 4GB con la información sensible.
No me queda más remedio que fiarme, al fin y al cabo es el comando cp "de toda la vida". Podría pasar un md5sum, pero entonces la copia se eternizaría demasiado tiempo.
Saludos y gracias por vuestros comentarios, Iván.
muy interesante.
Lo provaré
Hola Xavier Gómez,
si tienes cualquier problema no dudes en preguntar.
Saludos, Iván.
Publicar un comentario