J'expérimente l'utilisation de ZFS pour dédupliquer une grande bibliothèque de fichiers FLAC. L'objectif de cette opération est double :
- Réduire l'utilisation du stockage
- Réduire la bande passante nécessaire à la synchronisation de la bibliothèque avec le stockage en nuage.
Un grand nombre de ces fichiers sont constitués des mêmes morceaux de musique mais proviennent de supports physiques différents. Cela signifie que, pour la plupart, ils sont identiques et généralement proches de la même taille, ce qui me fait penser qu'ils devraient bénéficier de la déduplication au niveau des blocs.
Cependant, lors de mes essais, je n'ai pas obtenu de bons résultats. Lorsque je crée un pool et que j'ajoute trois de ces morceaux (des chansons identiques provenant de médias sources différents), zpool list rapporte une déduplication de 1,00. Si je copie tous les fichiers (en faisant des duplications exactes des trois), la déduplication augmente, donc je sais qu'elle est activée et qu'elle fonctionne, mais elle ne trouve aucune duplication dans la collection originale de fichiers.
J'ai d'abord pensé que certaines des données d'en-tête variables (balises de métadonnées, etc.) pouvaient désaligner le gros des données de ces fichiers (les trames audio), mais le fait de rendre les données d'en-tête cohérentes dans les trois fichiers ne semble pas avoir d'impact sur la déduplication.
J'envisage d'emprunter d'autres voies (en testant d'autres systèmes de fichiers de déduplication ainsi qu'un code personnalisé), mais comme nous utilisons déjà ZFS et que j'aime les options de réplication de ZFS, je préférerais utiliser la déduplication ZFS pour ce projet ; mais peut-être n'est-il tout simplement pas capable de bien fonctionner avec ce type de données.
Tout retour d'information concernant les réglages susceptibles d'améliorer les performances de la déduplication pour ce type de données, ou toute confirmation que la déduplication ZFS n'est pas l'outil approprié pour ce travail, sera apprécié.