BitTorrent Sync, Raspberry Pi y Synology DS212j: backups sin intermediarios

BitTorrent Sync, Raspberry Pi y Synology DS212j: backups sin intermediarios
btsync-2
btsync-2

Lo prometido es deuda. Hace casi un año me puse a buscar soluciones de backup en la nube. Me tocaba bastante los cataplines tener que depender de un tercero para guardar allí algunos datos que considero especialmente sensibles, así que las alternativas no me motivaban demasiado. De todas ellas, Crashplan y su opción para realizar el backup en otro ordenador remoto (el de tu padre o el de un amigo) parecía la más interesante, pero al final no me acabé decidiendo por ninguna.

Y entonces llegó BitTorrent Sync, un servicio que aplica la filosofía P2P a las copias de seguridad: nada se almacena en la nube, todo se cifra durante la transferencia, y el usuario controla qué sincronizar y qué no fácilmente. A todo ello se suma algo especialmente importante: la conexión entre carpetas remotas es automática y transparente gracias a un código secreto alfanumérico que se puede usar tanto en modo lectura como en lectura/escritura. Eso es crítico porque no hay que preocuparse de tener IPs fijas (o algún servicio tipo DynDNS) funcionando: las carpetas saben cómo hablar entre ellas gracias a la arquitectura P2P del sistema.

La ocasión la pintan calva, me dije. Yo ya tenía mi parte resuelta: mi Synology DS212j (con el cliente BTSync disponible e instalado) es ya de por sí un centro de copias de seguridad locales, pero la idea era mandarlos a otro sitio. En este caso, a casa de mi madre, que eso sí, no tenía cacharritos que pudieran solucionarme el problema. Así que hace cosa  de un mes hice varios pedidos para conseguir todos los ingredientes:

  • Raspberry Pi
  • HUB alimentado, Belkin Hi-Speed USB 2.0 4-Port Hub
  • Cable HDMI de Amazon Basics
  • Cable USB en Y con conector USB y micro-USB
  • Disco duro WD Elements de 500 GB con conector micro-USB
  • Teclado con trackball de Globlink

Por supuesto, no todo esto es esencial para la función principal, pero aprovechando el tema de la RPi, instalé una Xbian con XBMC y la conecté a la tele para que aparte de los backups de cosas importantes, mi madre pudiera además disfrutar de algún que otro vídeo o fotos vía XBMC, controlando todo con el teclado, que además viene bien en caso de querer hacer más cosas con el cacharrín.

Como era de esperar, el montaje no es especialmente chulo: mucho cablecito y ese acabado "garaje de Silicon Valley" que impone el uso del Raspberry Pi. El hub alimentado es absolutamente necesario para poder utilizar un disco duro externo, ya que la alimentación del RPi no da para tanto. Por eso el cable USB en Y (del hub al disco duro por micro-USB, y también al RPi por USB), algo de lo que me di cuenta cuando la conexión por USB normal hacía imposible que Xbian detectase la unidad. Cuando utilicé el nuevo cablecito y el lsusb por fin dio la salida esperada respiré tranquilo.

A partir de ahí todo es coser y cantar. Existe una guía muy sencillita que permite instalar BTsync en el RPi, a partir de lo cual el servicio se inicia como cualquier otro y tenemos nuestro panel de administración web en http://localhost:8888 con el que poder establecer los directorios a compartir. Todo el proceso es bastante mecánico (creas un directorio, eso genera una clave secreta, y esa clave secreta es la que hay que utilizar en la otra carpeta a configurar en el otro extremo de este sencillo sistema).

Por supuesto, los backups llevan tiempo, y todo depende del canal de subida que tengas en el origen del backup. En mi caso mi línea ADSL2+ da unas tasas de 16 Mbps en bajada y 1,5 Mbps en subida aproximadamente, así que es obligatorio ser pacientes... o sincronizar mientras dormimos. Por supuesto casi todo el backup ya estaba hecho en local (de mi ordenador al disco duro) para ahorrarme todo ese tiempo, pero a partir de aquí los backups y la sincronización irán a esa velocidad.

Este pasado fin de semana lo puse por fin todo en marcha en mi casa y en la de mi madre, y hoy --una cosa es sincronizar datos, y otra agendas, je-- he hecho la primera prueba real de transferencia. Un vídeo familiar de 93 MB que ha tardado unos 7 minutos en llegar de un lado a otro a una tasa sostenida de unos 230 kBps. No es que sea un tiempo de récord, pero es perfectamente asumible cuando como digo la idea es hacer backups nocturnos desde el NAS al RPi. Puede ser una solución algo rebuscada y un poco friki, pero funciona, y me siento lo suficientemente tranquilo como para poder decirles a los chicos de la NSA algo tipo "Que os j****".

Bueno, la cosa quizá no llegue a tanto. Pero mola. :)