Le système de fichiers ZFS est de plus en plus reconnu sous Linux.
Dans ZFS, vous pouvez activer la compression au niveau du système de fichiers. Cela stockera les données dans un format compressé, ce qui économisera beaucoup d'espace disque.
Dans cet article, nous expliquerons comment créer le système de fichiers à partir du pool de stockage ZFS et activer la compression sur ZFS.
Ceci est le 2e article de la série de systèmes de fichiers ZFS.
Dans la première partie de cette série, nous avons expliqué les principes fondamentaux de ZFS et comment installer ZFS sur Linux. Nous avons également créé un pool ZFS.
Créer un système de fichiers ZFS
Tout d'abord, affichez tous les systèmes de fichiers ZFS actuels à l'aide de la commande zfs list comme indiqué ci-dessous. Dans cet exemple, nous avons actuellement un système de fichiers ZFS.
# zfs list NAME USED AVAIL REFER MOUNTPOINT mypool 296K 5.84G 30K /mypool
Maintenant, créez un nouveau système de fichiers ZFS à l'aide de la commande zfs create.
# zfs create mypool/fs1
Comme nous le voyons ci-dessous, le nouveau système de fichiers ZFS est maintenant créé avec succès.
# zfs list NAME USED AVAIL REFER MOUNTPOINT mypool 170K 5.84G 30K /mypool mypool/fs1 30K 5.84G 30K /mypool/fs1
Définir le devis et la réservation ZFS
Lorsque vous créez un système de fichiers ZFS, il consomme par défaut tout l'espace du pool. Vous devez donc spécifier un quota et une réservation pour le système de fichiers.
Pour définir un devis, utilisez la commande zfs set comme indiqué ci-dessous. Ici, nous spécifions le quota à 1 Go pour ce système de fichiers.
# zfs set quota=1G mypool/fs1
Ensuite, définissez la réservation pour le système de fichiers. Dans cet exemple, fs1 est réservé 256M sur 5,59G afin que personne ne puisse utiliser cet espace et il peut également s'étendre jusqu'à 1G en fonction du quota que nous avons défini s'il y a de l'espace libre disponible.
# zfs set reservation=256M mypool/fs1 # zfs list NAME USED AVAIL REFER MOUNTPOINT mypool 256M 5.59G 32.5K /mypool mypool/fs1 30K 1024M 30K /mypool/fs1
Créer un autre point de montage ZFS
Au lieu de le monter en utilisant le nom "mypool/fs1", vous pouvez également définir un autre point de montage avec le nom que vous souhaitez pour un système de fichiers.
Par exemple, la commande suivante définira le point de montage sur "/testmnt", au lieu de "mypool/fs1".
# zfs set mountpoint=/testmnt mypool/fs1
Comme nous le voyons dans la sortie suivante, la première colonne NAME indique le vrai nom du système de fichiers ZFS. La dernière colonne MOUNTPOINT indique le point de montage alternatif que nous avons créé ci-dessus.
# zfs list NAME USED AVAIL REFER MOUNTPOINT mypool 256M 5.59G 32.5K /mypool mypool/fs1 30K 1024M 30K /testmnt
Lorsque vous exécutez la commande df, vous verrez le point de montage alternatif comme indiqué ci-dessous.
# df -h Filesystem Size Used Avail Use% Mounted on .. mypool 5.6G 128K 5.6G 1% /mypool mypool/fs1 1.0G 128K 1.0G 1% /testmnt
Activer la compression sur le système de fichiers ZFS
Pour définir la compression sur un jeu de données ZFS, vous pouvez définir la propriété de compression comme indiqué ci-dessous. Une fois cette propriété définie, tous les fichiers volumineux stockés sur ce système de fichiers ZFS seront compressés.
# zfs set compression=lzjb mypool/fs1
Voici les propriétés de compression valides :
- sur
- désactivé
- lzjb
- gzip
- gzip[1-9]
- zle
Vous pouvez également activer la compression sur un système de fichiers existant. Dans ce cas, la compression ne sera appliquée qu'aux données nouvelles et modifiées ; et toutes les données existantes resteront non compressées.
Vérifier la compression ZFS
Dans l'exemple suivant, nous avons copié le fichier tar 61M dans le système de fichiers ZFS mypool/fs1 monté sous /testmnt.
# ls -lh /testmnt/test.tar -rw-r--r--. 1 root root 61M Nov 11 09:44 /testmnt/test.tar
Si vous regardez la taille totale de l'espace UTILISÉ à partir de la commande zfs list, vous verrez que seulement 20,9 Mo d'espace sont consommés, ce qui indique que la compression est activée et fonctionne.
# zfs list NAME USED AVAIL REFER MOUNTPOINT mypool 256M 5.59G 32.5K /mypool mypool/fs1 20.9M 1003M 20.9M /testmnt
Vous pouvez également obtenir le taux de compression à l'aide de la commande suivante.
# zfs get compressratio mypool/fs1 NAME PROPERTY VALUE SOURCE mypool/fs1 compressratio 2.90x -
Outre la compression, le système de fichiers ZFS possède plusieurs fonctionnalités avancées. Dans le prochain article de la série ZFS, nous discuterons de la façon de prendre des clones et des instantanés ZFS.