Comment puis-je dédupliquer mes données avec BTRFS?


15

J'ai installé Lubuntu 15.04 sur mon EEE PC 701 avec le système de fichiers BTRFS. Je veux dédupliquer mes données, mais je ne sais pas comment.

Réponses:


14

Commencez par faire une sauvegarde complète afin que si quelque chose ne va pas, vous n'avez rien perdu.

Je crois que vous cherchez duperemove -d

"Duperemove est un outil simple pour trouver des extensions dupliquées et les soumettre à la déduplication. Lorsqu'on lui donne une liste de fichiers, il hache leur contenu bloc par bloc et compare ces hachages les uns aux autres, en trouvant et en catégorisant les extensions qui se correspondent. Lorsque l'option -d est donnée, duperemove soumet ces extensions pour la déduplication à l'aide de l'ioctl btrfs-extend-same.

Duperemove a deux modes de fonctionnement principaux, l'un étant un sous-ensemble de l'autre.

Mode lecture seule / sans déduplication

Lorsqu'il est exécuté sans -d (valeur par défaut), duperemove imprimera une ou plusieurs tables d'extensions correspondantes qu'il a déterminées comme étant des candidats idéaux pour la déduplication. Par conséquent, le mode lecture seule est utile pour voir ce que duperemove peut faire lorsqu'il est exécuté avec '-d'. La sortie pourrait également être utilisée par d'autres logiciels pour soumettre les extensions pour la déduplication à une date ultérieure.

Il est important de noter que ce mode n'imprimera pas toutes les instances d'extensions correspondantes, uniquement celles qu'il envisagerait pour la déduplication.

Généralement, duperemove ne se préoccupe pas de la représentation sous-jacente des étendues qu'il traite. Certains d'entre eux pourraient être compressés, subir des E / S ou même avoir déjà été dédupliqués. En mode de déduplication, le noyau gère ces détails et nous essayons donc de ne pas répliquer ce travail.

Mode de déduplication

Cela fonctionne de manière similaire au mode lecture seule, à l'exception du fait que les extensions dupliquées trouvées dans notre étape "lire, hacher et comparer" seront réellement soumises pour déduplication. Une estimation du total des données dédupliquées sera imprimée une fois l'opération terminée. Cette estimation est calculée en comparant la quantité totale d'octets partagés dans chaque fichier avant et après la déduplication.

Consultez la page de manuel duperemove pour plus de détails sur l'exécution de duperemove. "

cela ne semble pas apparaître dans le package btrfs-tools mais il y a une page git hub ici. Problèmes récents ouverts et fermés (aka pulse) disponibles ici.

Les packages pour toutes les versions actuellement prises en charge d'Ubuntu peuvent être trouvés dans ce PPA

Je dois réitérer que la sauvegarde est fortement recommandée . Voir: https://github.com/markfasheh/duperemove/issues/50

Source citée: https://github.com/markfasheh/duperemove

page de manuel: https://manpages.debian.org/testing/duperemove/duperemove.8.fr.html


Lorsque je tape duperemove -d, j'obtiens la page d'aide
wb9688

1
Qu'obtenez-vous lorsque vous tapez «man duperemove»? Je crois que vous devez désigner les fichiers pour l'exécuter. comme dansduperemove [options] files...
Elder Geek

/ moi, hier, je l'ai utilisé - FTR, la commande est duperemove -rdh path1 path2 pathn, où -rpour récursif, -dréellement dédupliquer, et -hpour les nombres lisibles par l'homme.
Hi-Angel

@ Hi-Angel mise à jour de la réponse - lien ajouté à la page de manuel
Elder Geek

3

J'ai toujours utilisé bedup . C'est très rapide et fiable. Cet outil est également mentionné sur la page officielle de btrfs . Je n'ai jamais utilisé duperemove (bedup est plus ancien).


2
À ce stade, le bedup n'est plus en développement actif et est malheureusement obsolète.
Perkins

3
@Perkins, je ne suis pas d'accord. Je viens de recevoir des commentaires sur le problème github.com/g2p/bedup/issues/75 que j'ai publié aujourd'hui et avec cette aide, je viens de "coucher" plus de 7 Go d'espace sur mon nouveau serveur 16.04.
Adam Ryczkowski

3
Peut-être que quelqu'un l'a repris à ce moment-là. J'avais abandonné après un an environ, car il était complètement incapable de rechercher correctement les doublons. Cela dit, à moins qu'ils ne l'aient mis à jour pour utiliser le nouvel ioctl, duperemove sera plus sûr car il fait la déduplication atomiquement dans kernelspace au lieu de nuking l'un des doublons et de faire une copie de reflink de l'autre. Mais alors, bedup obtiendra en fait des fichiers suffisamment petits pour être stockés dans l'arborescence, ce que duperemove ne peut actuellement pas en raison du manque de prise en charge du noyau pour cela.
Perkins
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.