Estoy buscando una solución de sistema de archivos de copia y escritura con deduplicación para datos generales del usuario, como /home
copias de seguridad de los mismos . Debe usar la deduplicación en línea / en línea / síncrona a nivel de bloque utilizando hashing seguro (para una posibilidad insignificante de colisiones) como SHA256 o TTH . Los bloques duplicados ni siquiera necesitan tocar el disco.
La idea es que debería poder copiar /home/<user>
a un HDD externo con el mismo sistema de archivos para hacer una copia de seguridad. Simple. Sin perder el tiempo con copias de seguridad incrementales donde la corrupción de cualquiera de las instantáneas casi siempre romperá todas las instantáneas posteriores, y no es necesario usar una herramienta específica para eliminar o 'retirar' una instantánea. Todo debe hacerse simplemente desde el navegador de archivos sin preocupaciones. ¿Te imaginas lo fácil que sería? ¡Nunca tendría que pensar dos veces antes de retroceder!
No me importa un golpe de rendimiento, la fiabilidad es la principal preocupación. Aunque, con implementaciones específicas de cp
, mv
y scp
, y un complemento de explorador de archivos, estas operaciones serían muy rápidas, especialmente cuando hay mucha duplicación, ya que solo tendrían que transferir los bloques ausentes. El uso accidental de herramientas de copia convencionales que no se integran con el FS simplemente llevaría más tiempo, desperdiciaría algo de ancho de banda al copiar de forma remota y desperdiciaría algo de CPU, ya que los datos duplicados se volverían a leer, se volverían a transferir y se volverían a codificar (aunque nada sería reescrito), pero absolutamente no corrompería nada. (Algunos software de intercambio de archivos también pueden beneficiarse al integrarse con el FS).
Entonces, ¿cuál es la mejor manera de hacer esto?
He visto algunas opciones:
- lessfs - Parece sin mantenimiento. ¿Ningún bien?
- Opendedup / SDFS - Java? ¿Podría usar esto en Android? ¿Qué significa SDFS ?
- Btrfs : algunos parches que flotan en los archivos de la lista de correo, pero no hay soporte real.
- ZFS : espero que algún día vuelvan a otorgar una licencia bajo una verdadera licencia compatible con GPL gratuita / de código abierto.
Además, hace 2 años probé un intento en Python usando Fuse en el nivel de archivo para usar sobre la parte superior de un FS sólido típico como EXT4, pero encontré que Fuse para Python estaba subdocumentado y no pude implementarlo todas las llamadas del sistema
Respuestas:
Esto suena muy empresarial (como caro).
datadomain ofrece desduplicación de datos y tal vez netapp con su sistema de archivos wafl. Pero a un alto costo.
Una alternativa "gratuita" podría ser zfs.
Según yo, aunque la "mejor" y más alternativa de Linuxy, aunque en un nivel de archivo en lugar de "nivel de bloque", sería rsnapshot. Utiliza rsync y enlaces duros para administrar el control de versiones.
Prefiero confiar en herramientas probadas que usar un nuevo sistema de archivos como Btrfs, que no ha existido el tiempo suficiente para que la gente descubra todo tipo de errores desagradables.
fuente
rsnapshot
No es un sistema de archivos, es más bien un truco para llevar la funcionalidad de instantánea a los sistemas de archivos heredados, no crea instantáneas 'reales' (se supone que las instantáneas son atómicas ), y es incremental (ver segundo párrafo). Prefiero usar un FS relativamente nuevo que algo que use incrementales.Estoy buscando e investigando exactamente lo mismo, podría sugerir https://attic-backup.org/quickstart.html#automating-backups por ahora, parece ser simple y bueno para las copias de seguridad de Linux.
También hay bacula con esta característica, pero el ático parece ser lo suficientemente bueno para la mayoría de los casos.
fuente