Je n'ai aucune expérience avec btrfs, mais il est annoncé pour pouvoir dé-dupliquer des fichiers.
Dans mon application, je devrais dupliquer des arborescences de répertoires entières.
D'après ce que j'ai appris, btrfs ne dédoublonne que dans certains post-scan, pas immédiatement. Même une simple utilisation cp
ne semble pas déclencher de déduplication (au moins, df
montre une utilisation accrue du disque dans la taille des fichiers copiés).
Puis-je éviter de déplacer complètement les données et dire btrfs
directement de dupliquer un fichier à un autre emplacement, essentiellement en clonant simplement ses métadonnées?
Essentiellement, semblable à un lien physique, mais avec des métadonnées indépendantes (autorisations, heures de modification, ...).
la source
cp --reflink=always
.cp --reflink=always
, le résultat du point de vue de l'utilisateur sera deux fichiers complètement indépendants dans tous les sens. Le fait que le système de fichiers sous-jacent en déduit que via la copie sur écriture n'est qu'un détail d'implémentation. Vous n'obtenez pas "un lien dur, mais avec des métadonnées indépendantes". À ma connaissance, btrfs ne fait pas encore de déduplication automatique. Je pense que c'est un plan futur, mais je ne suis pas positif à ce sujet.Réponses:
Il y a deux options:
cp --reflink=always
cp --reflink=auto
Le second est presque toujours préférable au premier. En utilisant
auto
signifie que cela reviendra à faire une copie vraie si le système de fichiers ne prend pas en charge la réflexion (par exemple, ext4 ou la copie sur un partage NFS). Avec la première option, je suis presque sûr qu'elle échouera et cessera de copier.Si vous l'utilisez dans le cadre d'un script qui doit être robuste face à des conditions non idéales,
auto
cela vous servira mieux.la source
eestrada
que quelqu'un me pose cette question.