Les Raisons Pour lesquelles le Système de Fichiers ZFS est un Choix Idéal pour Linux Ubuntu
Système de fichiers ZFS sous Linux Ubuntu: Quelles sont les particules de sa structure, ses avantages et ses inconvénients? Explorons-le dans l’article d’aujourd’hui et découvrons-le.
- Avantages de ZFS
- Limites de ZFS
- Installer ZFS sur Ubuntu
- Comment créer une RAIDz
- Comment créer, restaurer et supprimer des snapshots ZFS
- Envoyer et recevoir ZFS
- Compression des données ZFS
- Conclusion
- Questions et réponses
- Commentaires
ZFS ou Zettabyte File System est un système de fichiers spécial créé à l’origine par Sun Microsystems pour le système d’exploitation appelé Solaris. Il prend en charge d’énormes quantités de données, combine les concepts de système de fichiers, de disque physique et de gestionnaire de volumes, et propose des méthodes simples de gestion des volumes de stockage.
Il s’agit d’un système de fichiers de nouvelle génération initialement conçu pour les solutions NAS avec une sécurité, une fiabilité et des performances améliorées. Contrairement à de nombreux autres systèmes, ZFS est un système de fichiers 128 bits offrant une capacité pratiquement illimitée. ZFS est un projet open source sous licence CDDL (Common Development and Distribution License).
Caractéristique | Description |
---|---|
Support des grands volumes de données | ZFS prend en charge des volumes de données extrêmement grands, permettant de stocker jusqu’à des exabytes d’informations. |
Intégration du système de fichiers et de la gestion des volumes | Combine le système de fichiers et le gestionnaire de volumes, offrant une gestion simplifiée de l’espace disque. |
Snapshots instantanés | Permet de créer des snapshots du système de fichiers pour une récupération rapide des données sans surcharge de ressources significative. |
Protection contre la corruption des données | Mécanismes intégrés de vérification de l’intégrité des données utilisant des sommes de contrôle pour prévenir la corruption. |
Redondance des données (RAID-Z) | Fournit divers niveaux de protection des données grâce à des fonctions RAID-Z intégrées pour protéger contre la perte. |
Compression des données | Offre une compression efficace des données, aidant à économiser de l’espace disque. |
Clonage de systèmes de fichiers | Permet de créer des copies clonées directement à partir des snapshots pour des tests ou du développement. |
Chiffrement | Prend en charge le chiffrement des données pour protéger les informations sensibles. |
Si vous souhaitez utiliser ZFS “prêt à l’emploi”, vous devrez installer soit FreeBSD ou un système d’exploitation utilisant le noyau illumos (illumos est un fork du noyau OpenSolaris).
Si vous souhaitez utiliser ZFS sur Ubuntu, vous devez ajouter les fonctionnalités de support manuellement – mais c’est une chose assez simple à faire et cela implique d’exécuter quelques commandes. Nous l’explorerons en détail un peu plus tard, mais parlons maintenant des avantages et des inconvénients de ce système de fichiers.
Avantages de ZFS
En parlant des avantages de ZFS, on peut distinguer les suivants:
Avantages. Son modèle d’administration est simplifié.
Il combine la gestion des volumes, des matrices RAID et du système de fichiers. Tout ce dont vous avez besoin pour gérer les volumes, les niveaux de redondance, les systèmes de fichiers, les taux de compression et les points de montage, ce sont quelques commandes.
Cette approche simplifie également la surveillance car il y a moins de niveaux à prendre en compte.
Avantages. Un autre avantage est lié à la garantie de l’intégrité des données.
Pendant que certaines données sont écrites, leur somme de contrôle est également calculée et écrite. Plus tard, lorsque les données sont lues, la somme de contrôle est à nouveau vérifiée. Si la somme de contrôle ne correspond pas aux données lues, ZFS identifie une erreur. Après cela, le système de fichiers tente de réparer automatiquement une telle erreur.
De plus, ZFS est parfaitement évolutif avec la possibilité d’ajouter de nouveaux périphériques de stockage, des options de gestion du cache, etc.
Avantages. La fonction de copie sur écriture.
Dans la plupart des systèmes de fichiers, les données sont perdues pour toujours lorsqu’elles sont écrasées. D’un autre côté, dans ZFS, les nouvelles informations sont écrites dans un bloc différent.
Une fois l’opération d’écriture terminée, les métadonnées du système de fichiers sont mises à jour pour pointer vers les nouvelles informations. Cela permet de préserver les anciennes données en cas de panne du système (ou si un autre événement malheureux se produit).
Avantages. Ce système de fichiers comporte des options de stockage intégrées
Réplication – le processus de création de copies de quelque chose.
-
Déduplication – une technique permettant d’éliminer les copies en double de données répétitives et de réduire la charge de stockage.
La compression est l’option qui permet d’économiser de l’espace disque et d’augmenter la vitesse, car le nombre de bits requis pour représenter les données est réduit.
-
Les Snapshots sont des reflets cohérents de l’ensemble des données représentant la forme sous laquelle elles existaient à un moment donné.
-
Les clones sont des copies identiques de quelque chose.
Limites de ZFS
Cependant, comme tout autre système de fichiers, ZFS présente quelques inconvénients.
Limites. Lorsque sa capacité de stockage est utilisée à 80% ou plus, les performances de ZFS ont tendance à se dégrader fortement.
Il s’agit d’un problème courant pour de nombreux systèmes de fichiers. Lorsque le pool actuel consomme 80% du stockage disponible, vous devez soit étendre le groupe, soit le migrer vers un système de stockage avec une plus grande capacité.
Limites. Aucune possibilité de réduire le groupe de stockage.
Vous ne pouvez pas supprimer des périphériques ou des vdevs (qui signifie périphériques virtuels) du groupe après leur ajout.
Limites. Il existe également des limites à la modification du type de redondance.
À l’exception du basculement d’un groupe sur disque unique vers un groupe de mise en miroir, vous ne pouvez pas modifier le type de redondance. Après avoir choisi le type de redondance, la seule solution est de la détruire et d’en créer une nouvelle, tout en restaurant les données à partir de sauvegardes ou d’un autre emplacement.
Installer ZFS sur Ubuntu
Voyons maintenant comment installer ZFS sur un système d’exploitation Linux, avec l’exemple d’Ubuntu version 20.04.
Vous aurez besoin du terminal pour l’installation, alors appuyez sur le raccourci clavier Ctrl + Alt + T pour l’ouvrir.
Exécutez ensuite cette commande:
$ sudo apt update
pour vérifier les mises à jour de l'application. Lorsque la commande est saisie, le système vous demandera le mot de passe root; tapez-le et appuyez sur Enter.
Et celui-ci, pour l'installation:
$ sudo apt install zfsutils-linux
Tapez y pour confirmer la commande d'installation et appuyez sur Enter. Il démarre le processus d'installation du logiciel.
Pour vérifier l'installation de ZFS, utilisez cette commande:
$ zfs –version
As a result, the program's version will be displayed. Now you can create a storage pool with a vdev, a virtual device.
Un groupe de stockage est un ensemble comprenant un ou plusieurs périphériques virtuels sur lesquels des données peuvent être stockées. Un groupe ZFS, également connu sous le nom de Zpool, est un conteneur de données de niveau supérieur dans ce système de fichiers. Il permet de créer un ou plusieurs systèmes de fichiers (ensembles de données) ou de bloquer des périphériques (volumes). Ces systèmes de fichiers et périphériques de bloc sont alors capables d'utiliser le rythme restant des groupes. Toutes les opérations de partitionnement et de formatage seront effectuées par ZFS.
Un périphérique virtuel (vdev) peut être constitué d'un ou plusieurs périphériques physiques. Il peut s'agir d'un groupe ou d'une partie de celui-ci, et il peut avoir différents niveaux de redondance: miroir, miroir à trois voies, RAIDZ, RAIDZ-2 ou RAIDZ-3.
RAID-Z est une implémentation d'une RAID-5 modifiée. Dans ZFS, il est conçu pour surmonter l'erreur de trou d'écriture, qui affecte souvent les systèmes RAID-5 conventionnels. RAID-Z1 nécessite au moins trois disques: deux pour le stockage des données et un pour la parité.
RAID-Z2 doit avoir au moins quatre disques – deux pour le stockage et deux pour la parité.
Enfin, pour RAID-Z3, vous avez besoin d'au moins deux disques pour le stockage et trois disques pour la parité.
Comment créer une RAIDz
Voyons maintenant comment créer un système RAID-Z avec plusieurs disques. Tout d’abord, décidons quels lecteurs doivent être inclus.
Utilisez l'utilitaire fdisk pour voir quels lecteurs sont connectés et lesquels d'entre eux conviennent à vos besoins. Exécutez cette commande pour lister les lecteurs:
$ sudo fdisk -l
En conséquence, vous verrez une liste de lecteurs avec des informations détaillées sur chacun.
À des fins d'illustration, je vais vous montrer comment construire une RAID-Z1 - c'est un équivalent du RAID 5 avec un seul disque de parité. Sa conception vous permet d'utiliser la matrice et de conserver vos données intactes même en cas de panne de l'un des disques.
J'ai trois disques durs répertoriés comme /dev/sdd, /dev/sde et /dev/sdf. Je vais créer un pool avec le nom «zdata». Voici la commande à utiliser :
$ sudo zpool create ith2-zfs-raid-1p zdata /dev/sdd /dev/sde /dev/sdf
$ sudo zpool create zdata raidz /dev/sdd /dev/sde /dev/sdf
S'il y a une erreur, vous pouvez exécuter cette commande en ajoutant -f après «zpool create» - cela force la commande.
$ sudo zpool create -f ith2-zfs-raid-1p zdata /dev/sdd /dev/sde /dev/sdf
Pour trouver le point de montage, exécutez la commande df -h après la création du groupe:
$ df –h
Le groupe est monté dans /zdata. Pour modifier le point de montage de votre groupe, utilisez la syntaxe suivante:
$ sudo zfs set mountpoint =<path> <pool_name>
Dans cet exemple, j'ai utilisé /var/pool comme nouveau point de montage.
$ sudo zfs set mountpoint=/var/pool zdata
Vérifions le nouveau point:
$ df –h
Vous pouvez créer des répertoires dans le groupe de stockage. Par exemple, créons un répertoire avec le nom mydata.
$ sudo zfs create zdata/mydata
Pour afficher tous les pools de stockage ZFS de ce système, exécutez la commande suivante:
$ zpool list
Pour voir la configuration et l'état de chaque périphérique du pool ZFS, utilisez la commande status.
$ zpool status
Pour afficher les événements et éliminer les problèmes, il existe une commande supplémentaire:
$ sudo zpool events zdata –v
Si vous devez ajouter un disque dur supplémentaire au groupe de stockage ZFS, vous devez exécuter cette commande avec le nom du disque à ajouter.
$ sudo zpool add zdata /dev/sdb
Une fois le disque ajouté, regardons l'état du groupe:
$ zpool status
Enfin, la dernière commande pouvant être utilisée pour supprimer un groupe de stockage ZFS.
$ sudo zpool destroy zdata
Comment créer, restaurer et supprimer des snapshots ZFS
Ce système de fichiers vous permet de créer des snapshots de votre groupe.
Un snapshot est une copie ponctuelle en lecture seule du système de fichiers créé à un moment donné. Vous pouvez créer des snapshots d’ensembles de données ou de groupes entiers. Un snapshot inclut une version originale du système de fichiers ainsi que toutes les modifications apportées après la création de ce snapshot. En d’autres termes, il s’agit d’une copie en lecture seule des différences.
Pour créer des snapshots, utilisez la commande - zfs snapshot, suivie du nom de snapshot. Dans cet exemple, j'ai utilisé zdata/mydata pour créer un snapshot.
$ sudo zfs snapshot zdata/mydata@snap1
Utilisez la commande suivante pour vérifier le snapshot:
$ zfs list -t snapshot
Le snapshot peut être renommé si nécessaire:
sudo zfs rename zdata/mydata@snap1 zdata/mydata@snap2
Vous pouvez annuler les modifications en annulant le snapshot. Cependant, cela signifie que vous perdrez toutes les modifications apportées après la création de snapshot.
Pour revenir à un certain snapshot, exécutez la commande zfs rollback avec le nom d'un certain snapshot. Cela annulera toutes les actions effectuées dans ce répertoire après la création de snapshot.
$ sudo zfs rollback test-pool/mydata@snap1
Cette commande ramènera le système à une certaine date.
Une fois l'opération de restauration terminée, vous pouvez vérifier dans le répertoire la disponibilité des fichiers qui ont été supprimés après la création de snapshot.
Envoyer et recevoir ZFS
Les snapshots peuvent être enregistrés dans un fichier puis récupérés, ce qui est parfait pour créer des sauvegardes ou pour envoyer des copies sur le réseau (par exemple, avec SSH) pour copier le système de fichiers.
La commande «envoyer» envoie un snapshot du système de fichiers qui peut être redirigé vers un fichier ou vers une autre machine du flux. La commande «recevoir» reçoit ce flux et réécrit une copie de snapshot sur le système de fichiers ZFS.
Par exemple, créons un snapshot supplémentaire et enregistrons-le dans un fichier à l'aide de cette commande:
sudo zfs snapshot -r zdata/mydata@snap3
sudo zfs send zdata/mydata@snap2> ~/mydata-snap.zfs
Et puis restaurons-le avec une autre commande:
sudo zfs receive -F zdata/mydata-copy < ~/mydata-snap.zfs
À l'aide de scripts supplémentaires, vous pouvez configurer le système de fichiers pour créer automatiquement des snapshots et les envoyer à un serveur avec le protocole SSH.
Compression des données ZFS
Comme je l'ai mentionné précédemment, ZFS vous permet de compresser automatiquement les données. Compte tenu de la puissance de calcul des processeurs actuels, cette option est très utile, car le volume réduit de données signifie qu'il y a moins de données à lire et à écrire physiquement, ce qui se traduit par des opérations d'entrée/sortie plus rapides. ZFS propose une large gamme de méthodes de compression. L'option par défaut est lz4 (un substitut hautes performances à lzjb) qui permet une compression et une extraction plus rapides par rapport à lzjb, tout en utilisant un taux de compression légèrement plus élevé. Pour modifier le taux de compression, utilisez cette commande:
sudo zfs set compression=gzip-9 zdata
Ou même changer le type de compression avec une autre commande:
sudo zfs set compression=lz4 zdata
Vous pouvez vérifier le taux de compression actuellement utilisé avec cette commande:
sudo zfs get compressratio
Le choix le plus sûr est le lz4, car il est beaucoup plus rapide que les autres options, tout en conservant un très bon niveau de performances.
Conclusion
Tout bien considéré, ZFS est évidemment le système de fichiers qui vous offre un large éventail de possibilités. Non seulement il vous permet de gérer vos données d'une manière très efficace et innovante, mais il peut également récupérer des données sans interrompre votre travail, en cas d'urgence. De plus, en cas d'erreur ou de panne du système, l'ensemble du système peut être facilement restauré grâce à la fonction d'instantané, de sorte que vous reviendrez simplement à l'état dans lequel il se trouvait à un moment donné.
Si vous rencontrez des problèmes de perte de données depuis ZFS et RAID-Z, essayez Hetman RAID Recovery. Cela vous aidera certainement à récupérer des fichiers supprimés accidentellement du système de fichiers ZFS ou à accéder aux données stockées dans une matrice RAID-Z endommagée. Ce programme s'avérera utile si vos informations disparaissent à la suite d'erreurs, de formatage, d'écrasement ou d'autres scénarios courants de perte de données.
Caractéristique | Description |
---|---|
Support des ensembles RAID | Le programme prend en charge divers types de configurations RAID, y compris RAID 0, RAID 1, RAID 5, RAID 10, et des configurations personnalisées. |
Détection automatique des paramètres | Détecte automatiquement les paramètres de l’ensemble tels que la taille de bloc, l'ordre des disques et autres caractéristiques clés. |
Récupération de données | Capacité de récupérer des données à partir de configurations RAID endommagées ou supprimées, ainsi que des pannes de configuration. |
Aperçu des fichiers | Permet de prévisualiser les fichiers avant la récupération pour évaluer la qualité et vérifier les données. |
Compatibilité des systèmes de fichiers | Prend en charge les systèmes de fichiers FAT, NTFS, ReFS, HFS+, Ext2/3/4, XFS, ZFS et autres. |
Interface conviviale | Interface facile à utiliser avec un assistant pas à pas pour la récupération de données. |