Cómo almacenar sus fotografías de una manera segura con un servidor Ubuntu casero

Cómo hago yo para almacenar mis fotos?

Ya he discutido este tema tantas veces en Facebook, que decidí mejor escribirlo en el blog para todo el que quiera usarlo de referencia. Yo soy uno al que le gusta conservar las fotos digitales. Del celular, informales de la cámara, formales de la cámara… si creo que vale la pena, me la dejo. Y quiero que esa foto dure por lo menos hasta que la humanidad encuentre una manera infalible de almacenar datos electrónicos. No quiero que dentro de 5 años tenga que decirle a alguien “es que yo tenía muchas fotos de eso, pero en uno de tantos fallos de la computadora, se me perdieron”.

Desafortunadamente, en la época actual es demasiado fácil perder datos. El comercio nos ha vendido un montón de soluciones para almacenar datos, que están completamente sujetas a fallos. En cualquier momento, cualquiera de esos medios falla y se pierde todo lo que contiene. Vivimos con un falso sentido de seguridad, creemos que nuestra información está bien, y la realidad es otra completamente.

Después de muchos años, creo tener desarrollada una manera bastante sólida de almacenar y conservar fotos digitales. No es perfecta, pero protege la información de los peligros que medios típicos no pueden soportar.

Empecemos por hablar de los medios más populares de almacenar información, y sus problemas:

  • Computadoras con discos duros. Las computadoras con discos duros, que tenemos todos en el escritorio, son el medio preferido de la gente para almacenar cosas. Problemas? Infinitos. Las computadoras están conectadas a internet, lo cual significa que están sujetas a cuanta cosa pueda descargarse, que les pueda hacer daño. Están sujetas a que un usuario travieso borre accidentalmente una carpeta, y se acabaron las fotos. Y si es una computadora portátil, está sujeta al muy común riesgo de quedar mal puesta, y que se la roben.
  • Discos duros USB: los discos USB son otro medio preferido de la gente para tener datos. Son muy populares porque son baratos, fáciles de usar, y proveen cantidades inmensas de almacenamiento en un aparato muy pequeño. Pero tienen un problema fundamental. Igual que los discos duros de computadora, están sujetos a fallos. Aún más incluso porque la gente los está conectando y desconectando a cada rato, aparte de que soportan a cada rato golpes, vibraciones, cambios de temperatura, y por supuesto, amenaza de robo. Los discos duros USB también tienen la desventaja de que no suelen avisar cuando están fallando. Generalmente el fallo de uno de estos discos consiste en que se conectan, arrancan, y se mueren. No hay advertencia previa. Y hasta ahí llegó la información.
  • CDs y DVDs: este tipo de almacenamiento puede ser muy bueno. Yo tengo discos grabados hace 10 años, que todavía funcionan perfectamente. El problema es que son tediosos de grabar, tediosos de estar renovando (es buena idea reemplazarlos cada 2 o 3 años), y tediosos de almacenar y buscar. Intenten buscar un archivo en una colección de 30 DVDs de fotos… no es fácil.
  • Almacenamiento en la nube: muy popular, muy estable si usan los proveedores grandes, pero exageradamente caro. Un disco duro convencional para PC les cuesta unos $0.015 por Gb por año actualmente. Un almacenamiento en la nube cuesta unas 8 veces eso. Por ejemplo, Dropbox les cuesta $0.12 por Gb por año, en su plan más barato. Puede que encuentren servicios de nube más baratos, pero generalmente esas historias terminan mal. Unos años después la compañía quiebra, o tiene un accidente en su datacenter, y nadie los volvió a ver. Créanme, que ya lo he visto.
  • Discos duros de red: algunos los venden como unidades NAS, otros los venden como discos duros. Son discos duros USB, que tienen un conector de red. Se conectan a la red de la casa, y quedan como una computadora más a la que se le pueden copiar datos. Mi experiencia con estas unidades no ha sido buena, en realidad (pueden ver acá mi relato). He tenido incluso unidades con RAID que supuestamente son infalibles. La realidad? Son discos duros normales. Son lentos, pierden la conexión y hay que resetearlos, y siempre se descomponen al cabo de un tiempo. Y desafortunadamente, el controlador que traen suele ser tan tonto, que una vez que se produce el fallo, no hay forma de saber qué está fallando ni en qué condición están los datos. Estos discos duros de red son un caja negra. Pueden meter sus datos, pero nadie les garantiza que puedan sacarlos al final de la historia.
Entonces, cuál es la solución? Bueno, mi solución particular es usar una combinación de los anteriores. Ningún medio de almacenar fotos va a estar libre de fallos, pero si se usan varios al mismo tiempo, se minimiza la posibilidad de perder información. Con este fin en mente, decidí armarme hace unos años un servidor casero, compacto, que mantuviera seguros mis datos. 

Mi servidor NAS casero

No voy a entrar en demasiado detalle acerca de cómo construirlo (tranquilos, apenas tenga tiempo hago otro post con todo el proceso :). En resumen, el servidor es una computadora Intel Atom, 1 GB de RAM, con dos discos duros SATA de 2 TB trabajando independientemente (nada de RAIDs). Actualmente corre Ubuntu Server 14, y está configurada con varias rutinas automáticas de respaldo y monitoreo que garantizan la seguridad de los datos que almacena. 

Al ser un Atom, el consumo de energía es muy bajo, y no ocupa ventilador el CPU. Eso ayuda a que no haga mucho ruido, y además permite meterlo dentro de un chasis compacto. El chasis compacto en mi caso es muy importante, porque no quería tener otro CPU inmenso en la casa. Todo lo compré nuevo: no quise meterme en esa caja de Pandora que es reciclar hardware.

El sistema funciona así: normalmente, funciona como un disco de red convencional. Vía la red, le puedo copiar datos y accesar los datos que contiene. Esos van a dar al primer disco duro de 2 TB. Ese disco es el que se mantiene en operación constante.

Cada 3 días, se activa el segundo disco duro, y se hace una copia de respaldo del primero. Concluida la copia de respaldo, se desactiva automáticamente el segundo disco duro. De esta forma, siempre va a haber una copia de respaldo de toda la información. Pero además, como el disco duro de respaldo se desactiva concluida la copia, no existe posibilidad de accesarlo. Eso significa que cualquier torta o cualquier virus, no tiene acceso al respaldo. Y además, el estar desactivado reduce el desgaste del disco de respaldo, y se evita que los dos discos fallen por viejos al mismo tiempo. Generalmente el disco primario siempre va a fallar de primero, y en ese momento, hay un respaldo disponible en el segundo para recuperar todo.

Cada 7 días, se corre manualmente una rutina de respaldo hacia un disco duro USB externo. Ese disco luego se desconecta, y se almacena en un lugar totalmente aparte del CPU. Eso maximiza las posibilidades de que pueda sobrevivir en caso de una catástrofe… llámese una gotera, un incendio, o un robo.

Todo el sistema en Ubuntu está programado para manejar automáticamente los respaldos, y para verificar constantemente el SMART de los discos duros. En el momento en que no se corre un respaldo a tiempo, o si llegara a haber una alerta de fallo en los discos duros, el servidor empieza a quejarse con uno por correo electrónico.

Entonces ante un fallo del disco primario, la recuperación es muy simple. Se saca el disco malo, se reemplaza, y se copian los datos del disco secundario. Y el sistema sigue adelante como si nada. Si por algún motivo (por ejemplo un incendio) se perdieran ambos discos, siempre hay una copia en disco USB que como máximo tiene 1 semana de vieja.

Y de la información más crítica, hay un respaldo adicional que se hace en discos DVD. Ese abarca solo un pequeño segmento de los datos del servidor, pero es una línea más de defensa contra fallos.

Resultados?

Los resultados de este proyecto han sido muy buenos, realmente. No puedo quejarme. El servidor funciona de maravilla, y las veces que ha experimentado fallos, la recuperación la he podido hacer sin ningún problema. De todos los métodos que he probado para almacenar datos, con este me quedo por el momento.

Considero que esta es la mejor solución para almacenar datos a largo plazo. Un servidor en la casa, con respaldo automático, y que corra Linux. Con un disco duro de respaldo y un disco USB externo para respaldo, se garantiza uno (si le da el mantenimiento adecuado!) que se está protegido contra fallos. Y eso significa que las fotos, y cualquier otra información que tenga uno ahí, estarán con uno por muchos años más, y uno no tendrá que lamentarse pérdidas al final de la historia.