Je suis à la recherche d'une solution de système de fichiers à copie sur écriture dédupliquée pour les données utilisateur générales telles que /home
et les sauvegardes. Il doit utiliser la déduplication en ligne / en ligne / synchrone au niveau du bloc en utilisant un hachage sécurisé (pour un risque négligeable de collisions) tel que SHA256 ou TTH . Les blocs en double n'ont même pas besoin de toucher le disque.
L'idée est que je devrais pouvoir simplement copier /home/<user>
sur un disque dur externe avec le même système de fichiers pour faire une sauvegarde. Facile. Pas de problème avec les sauvegardes incrémentielles où la corruption de l'un des instantanés interrompra presque toujours tous les instantanés ultérieurs, et pas besoin d'utiliser un outil spécifique pour supprimer ou `` extraire '' un instantané. Tout doit simplement être fait à partir du navigateur de fichiers sans souci. Pouvez-vous imaginer à quel point cela serait facile? Je n'aurais plus jamais à réfléchir à la sauvegarde!
Cela ne me dérange pas un coup de performance, la fiabilité est la principale préoccupation. Bien que, avec des implémentations spécifiques de cp
, mv
et scp
, et un plugin de navigateur de fichiers, ces opérations soient très rapides, surtout lorsqu'il y a beaucoup de duplication car elles n'auraient besoin que de transférer les blocs absents. L'utilisation accidentelle d'outils de copie conventionnels qui ne s'intègrent pas avec le FS prendrait plus de temps, gaspillerait une certaine bande passante lors de la copie à distance et gaspillerait un peu de CPU, car les données en double seraient relues, retransférées et hachées (bien que rien ne soit réécrit), mais ne corromprait absolument rien. (Certains logiciels de partage de fichiers peuvent également bénéficier de l'intégration avec le FS.)
Alors, quelle est la meilleure façon de procéder?
J'ai examiné quelques options:
- lessfs - semble non entretenu. Tout est bon?
- Opendedup / SDFS - Java? Puis-je l'utiliser sur Android?! Que signifie SDFS ?
- Btrfs - Quelques correctifs flottant sur les archives de la liste de diffusion, mais aucun support réel.
- ZFS - Avec un peu de chance, ils reviendront sous licence sous une vraie licence compatible GPL gratuite / Open Source.
Aussi, il y a 2 ans, j'ai tenté une tentative en Python en utilisant Fuse au niveau du fichier pour être utilisé par-dessus un FS solide typique tel que EXT4, mais j'ai trouvé Fuse for Python sous-documenté et je n'ai pas réussi à implémenter tous les appels système.