Seafile almacena los archivos en bloques ya que emplea la deduplicación de datos para ahorrar almacenamiento. Esto significa ahorro sí, pero también presenta los siguientes inconvenientes:
- No se dispone de acceso directo a los archivos; las copias de seguridad deben realizarse sobre su propia estructuram, por lo que la restauración parcial se complica mucho (o directamente se hace imposible).
- Existe un programa de reparación de archivos, dado que éstos van por un lado y la base de datos que los sustenta y relaciona va por otro (hum … un punto débil).
- Debido a la deduplicación no todos los bloques son borrados inmediatamente y a veces también hay que efectuar una recolección de basura (otro punto débil que complica más la administración).
Así que el proceso de restauración de una instalación consiste en:
- Recuperar el árbol de bloques que componen los archivos.
- Restaurar las tres bases de datos:
- seafile-db con los metadatos de los archivos
- seahub.db para el frontal web de administración
- ccnet-db que contiene usuarios y grupos.
- Verificar la integridad de los dos anteriores: archivos y bases de datos.
Al menos sólo hay un par de puntos del sistema de archivos donde se almacena la aplicación: el programa y la configuración por una parte, y los archivos por otra, aunque esta última también puede ir dentro de la anterior como un directorio.
Existe otra alternativa que tampoco es que mejore mucho la situación pero que puede ser complementaria a una copia completa: webdav. Si se configura se puede montar localmente el directorio por cada usuario (ojo con ésto porque sigue sin haber un punto central) y emplear cualquier herramienta de copias para realizar una sobre ello. Es lento y consume recursos pero si se requiere rapidez en la restauración de datos es lo más limpio.
Voy a seguir probando el programa desde otros dispositivos pero ya adelanto que en Linux (Debian Wheezy) funciona muy bien.