Comment configurer ZFS pour rdiff-backup ?

ZFS est un système de fichiers relativement nouveau disponible pour la plateforme Linux. Il gagne constamment en popularité grâce à sa grande flexibilité de gestion et à sa capacité de résilience. Pour en apprendre plus sur les avantages de ZFS, consultez notre article précédent.

Alors que nous abordions dans un autre article les avantages de ZFS pour rdiff-backup, voici ici des informations plus techniques afin de vous expliquer les bonnes pratiques de configuration de ZFS lorsque nous l’utilisons avec rdiff-backup.

Pour commencer

Il est fortement recommandé de créer un dataset spécifique pour le stockage des dépôts rdiff-backup. Il vous sera alors possible d’ajuster les paramètres de configuration de ce dataset sans affecter la configuration du reste du système.

Pour créer un nouveau dataset, exécutez la commande suivante où rpool est votre zfspool.

sudo zfs create rpool/backups

Ceci permettra de créer un dataset avec les paramètres de configuration par défaut que vous pourrez ajuster par la suite.

Activer la compression

Comme il est mentionné dans notre article précédent, l’un des grands avantages de ZFS est sa capacité à compresser directement les données. D’abord, vous serez surpris de constater que la compression lz4 permet d’améliorer la performance en lecture et écriture1 2.

Pour activer la compression, vous devez modifier la propriété compression.

zfs set compression=lz4 rpool/backups

Assurez-vous d’utiliser le mode de compression lz4 pour bénéficier d’un gain de performance, car les autres modes de compression sont plus gourmands en ressources CPU.

Une fois activée, les nouvelles données qui seront écrites sur le disque seront alors compressées. Les données existantes sur le disque conserveront leur mode de compression original.

Pour laisser ZFS faire tout le travail de compression, il est recommandé de désactiver la compression de rdiff-backup en modifiant votre ligne de commande comme suit :

rdiff-backup --no-compression ...

La mise en place de cette stratégie peut être complexe, car il vous sera nécessaire de modifier la commande du côté client ou du côté serveur selon votre mode d’opération. Si vous avez des questions à ce sujet, laissez un commentaire.

Si vous utilisez Minarca, la mise en place de cette stratégie s’accomplit facilement en modifiant le paramètre de configuration RDIFFBACKUP_ARGS=--no-compression dans /etc/minarca/minarca-shell.conf.

primarycache & secondarycache

ZFS est réputé pour son système de mise en cache très performant appelé Adaptive Replacement Cache (ARC). Ce système apporte une grande flexibilité qui permet de s’ajuster aux différents besoins de déploiement. Dans le cadre de rdiff-backup, il s’avère qu’il est préférable de configurer la cache de ZFS pour stocker seulement les métadonnées. Pour activer rapidement cette fonctionnalité, il faut modifier la valeur de primarycache et secondarycache comme suit :

sudo zfs set primarycache=metadata rpool/backups
sudo zfs set secondarycache=metadata rpool/backups

Déduplication

ZFS permet aussi d’activer une fonctionnalité intéressante de déduplication de données. En effet, si deux blocs de données sont identiques, ZFS a la capacité de stocker ce même bloc de données une seule fois sur le disque, évitant ainsi plusieurs stockages des mêmes données. Cette fonctionnalité est particulièrement intéressante si vous sauvegardez les fichiers système de plusieurs machines avec des système d’exploitation similaire.

En contrepartie, ZFS utilise beaucoup plus de mémoire vive. Il est sage de mesurer l’impact réel de cette fonctionnalité en laboratoire pour votre type de sauvegarde de données.

sudo zfs set dedup=on rpool/backups

utf8only

Bien que rdiff-backup supporte très bien les systèmes de fichier avec une restriction à l’utilisation du code de caractères UTF-8 seulement, il est fortement recommandé pour des fins de compatibilité d’activer le support des caractères non UTF-8 dans ZFS. Ceci vous permettra de copier vos données depuis un autre système de fichier sans encombre. En plus, cette fonctionnalité ne peut pas être modifiée après la création du dataset. Lorsque vous aurez besoin de copier des fichiers avec un code de caractères non UTF-8, il sera trop tard pour modifier cette option.

sudo zfs create -o utf8only=off rpool/backups

Conclusion

ZFS est définitivement un système de fichier avec lequel vous devez vous familiariser si vous êtes un gestionnaire de plateforme Linux. Il changera assurément votre méthodologie de gestion. Toutefois, il est à noter que FreeBSD offre aussi des avantages par rapport à la version ZFS On Linux. Nous vous invitons donc à vous informer à ce sujet !


1 ZFS Compression – A Win-Win, https://blogs.oracle.com/solaris/zfs-compression-a-win-win-v2

2 The Case for Using ZFS Compression, https://www.servethehome.com/the-case-for-using-zfs-compression/

Catégorie : rdiff-backup • Par Patrik Dufresne • 2020-07-22
Partager cette publication

S'inscrire à la Newsletter

Inscrivez-vous pour recevoir des annonce à propos de minarca!

S'inscrire