GNU/Linux >> Tutoriels Linux >  >> Linux

Comment créer un système de fichiers ZFS avec compression de fichiers sous Linux

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.


Linux
  1. Comment créer un système de fichiers sur une partition ou un volume logique Linux

  2. Comment créer un fichier ZIP protégé par mot de passe sous Linux

  3. Comment créer un swap sous Linux

  4. Comment créer un fichier avec une taille donnée sous Linux ?

  5. Comment écrire un fichier avec C sous Linux ?

Comment créer des répertoires à partir d'un fichier texte sous Linux

Comment créer un groupe de volumes sous Linux avec LVM

Comment créer un gros fichier de 1 Go ou 10 Go sous Linux

Comment créer et utiliser un fichier d'échange sous Linux

Comment gérer les noms de fichiers avec des espaces sous Linux

Comment créer un système de fichiers XFS