Système de fichiers Linux – ZFS

Le système d’exploitation Linux est très flexible. Il peut être utilisé sur des ordinateurs de bureau ainsi que sur des serveurs. La chose principale est de choisir le système de fichiers approprié à vos besoins. Dans cet article, nous examinerons en détail le système de fichiers ZFS.

Système de fichiers Linux – ZFS

Contenu

  1. Qu'est-ce qu'un système de fichiers ZFS?
  2. Histoire de l'évolution du système de fichiers ZFS
  3. Structure du système de fichiers ZFS
  4. Les fonctionnalités du système de fichiers ZFS
  5. Les inconvénients du système de fichiers ZFS
  6. Sécurité des données dans ZFS
  7. ZFS et Mac OS
  8. Les meilleures alternatives au système de fichiers ZFS

Qu’est-ce qu’un système de fichiers ZFS?

La principale tâche des développeurs du système de fichiers ZFS était de créer un système de fichiers moderne capable de gérer d’énormes quantités de données, sans dégrader les performances, tout en offrant toutes les fonctionnalités modernes.

Sun Microsystems souhaitait créer un nouveau type de système de fichiers pour son système d’exploitation Solaris, qui serait en avance sur son temps. C’est pourquoi il a inclus de nombreuses innovations telles que la structure de disposition des données, la prise en charge du regroupement, et plus encore.

Même le concept d’un système de fichiers ZFS était innovant – ZFS devait inclure un gestionnaire de volumes logiques, offrir une gestion de volume pratique et respecter les principes de système de fichiers légers. En plus de cela, ZFS devait offrir une redondance.

En 2005, l’équipe de développement dirigée par Matthew Arena et Jeff Bonwick a introduit un système de fichiers qui répondait à toutes ces exigences.

ZFS est très rapide, technologiquement innovant et efficace. De plus, il est 128 bits au lieu des 64 bits habituels. Ainsi, les développeurs ont mis un accent énorme sur sa pertinence dans l’avenir.

ZFS a été capable de rassembler de nombreuses solutions utilisées dans d’autres systèmes de fichiers de manière isolée. Par exemple, ZFS utilise d’une certaine manière le gestionnaire de volumes logiques LVM, le RAID Linux (bien qu’un peu modifié), certaines fonctionnalités de XFS, des instantanés, et plus encore. Si vous souhaitez en savoir plus sur le RAID Linux, lisez l’article « RAID – qu’est-ce que c’est et quel type est-il préférable d’utiliser« .

La technologie LVM est décrite en détail dans l’article « LVM – qu’est-ce que c’est, avantages et inconvénients« .

Il ne faut pas oublier que le système de fichiers ZFS utilise la technologie copy-on-write. Cela signifie que lorsqu’un fichier est réécrit, il n’est pas réécrit physiquement. Au lieu de cela, un nouveau bloc est alloué et une nouvelle copie est écrite à l’intérieur. Ensuite, au lieu de supprimer les anciens fichiers, les métadonnées qui pointent vers le nouveau bloc sont mises à jour, et les informations d’origine ne seront supprimées que s’il n’y a pas suffisamment d’espace disque. Une telle solution augmente considérablement les capacités de récupération de données, car vous pouvez toujours afficher la version précédente des fichiers en cas de corruption des informations.

L’utilisation de la méthode copy-on-write vous permet de ne pas utiliser de journalisation du tout et de pouvoir récupérer des données perdues.

Tous ces avantages et le grand potentiel de ZFS sont les raisons pour lesquelles tant de personnes en parlent encore.

Histoire de l’évolution du système de fichiers ZFS

Après la sortie du système de fichiers ZFS, son code source a été intégré au noyau du système d’exploitation Solaris. La même année, le portage vers d’autres systèmes d’exploitation a commencé et d’ici 2008, ZFS avait été porté sur FreeBSD. Ensuite, le processus de portage de ZFS vers Linux a commencé. Cependant, le processus de portage a été compliqué par le changement de licence pour la CDDL (Common Development and Distribution License). Bien qu’elle soit basée sur les principes de distribution de logiciels libres, elle est incompatible avec les principes de la licence GNU/Linux. Le portage a été terminé, mais dans le système d’exploitation Linux, ZFS ne peut être utilisé que de manière très limitée. Pour résoudre ce problème, les distributions Linux modernes offrent des méthodes pour installer ZFS. C’est-à-dire que l’utilisateur installe d’abord la distribution Linux souhaitée, puis utilise la méthode suggérée pour installer le système de fichiers ZFS.

Les méthodes les plus efficaces pour installer ZFS sur Linux sont d’utiliser le module FUSE ou d’installer un module ZFS sur le noyau Linux séparé.

Peu de temps après, Oracle a acquis Sun Microsystems ainsi que toutes les licences et a fermé le code de ZFS. Ainsi, un développement libre ultérieur n’était pas possible. Cela a poussé de nombreux développeurs clés à passer à d’autres entreprises et à créer le projet OpenZFS, qui adhère au concept de développement libre.

Cependant, la licence n’a jamais été modifiée, car de nombreux développeurs de ZFS détenaient les droits d’auteur. Par conséquent, il était plus facile de laisser les choses telles qu’elles étaient et d’utiliser les méthodes proposées par les distributions Linux, plutôt que de demander l’autorisation à chacun des développeurs.

Il existe actuellement 37 versions du système de fichiers ZFS, chacune avec de nouvelles améliorations.

Il convient également de noter que le système de fichiers ZFS évolue activement. Sa perspective technique, associée à des améliorations continues des performances et des fonctionnalités, peut faire de ZFS le système numéro 1 pour les systèmes de serveur dans les années à venir.

Structure du système de fichiers ZFS

La structure du système de fichiers ZFS est organisée sous forme d’un arbre de Merkle ou d’un arbre de hachage. Il convient de noter que l’arbre de hachage est utilisé dans la blockchain de la cryptomonnaie (par exemple, dans Bitcoin ou Ethereum). En fait, le système de fichiers ZFS est un gestionnaire de disque et un LVM dans un seul package.

La structure du système de fichiers ZFS

Au niveau le plus bas, plusieurs disques physiques sont combinés en un groupe virtuel – VDEV (Virtual Device). Il peut y avoir un grand nombre de ces groupes. La redondance est également assurée à ce niveau. La parité est effectuée à l’intérieur de chaque groupe de disques. Il est possible de choisir Mirror (analogique de RAID-1) ou RAID-Z (fonctionne sur le principe de RAID-5 avec plusieurs modifications). Ce dernier type est divisé en plusieurs niveaux: RAID-Z1 – utilise deux disques pour le stockage des données et un disque pour les données de parité, RAID-Z2 – utilise deux disques pour le stockage des données et deux disques pour les données de parité, et RAID-Z3 – utilise deux disques pour les données utilisateur et trois disques pour les données de parité. Le type de RAID-Z est choisi en fonction de ce dont l’utilisateur a le plus besoin – fiabilité ou performance.

Ensuite, tous les VDEVs (groupes de disques) sont combinés en un pool commun. C’est un LVM, qui combine plusieurs arrays RAID.

En haut de cette structure se trouve le système de fichiers lui-même avec les données utilisateur.

La structure du système de fichiers ZFS permet l’ajout dynamique de nouveaux groupes de disques, et chaque groupe peut avoir sa propre configuration. Au niveau logiciel, il est traité comme un VDEV séparé indépendamment de la configuration.

Les fonctionnalités du système de fichiers ZFS

Dans cette partie de l’article, nous allons examiner les fonctionnalités les plus intéressantes du système de fichiers ZFS et expliquer pourquoi les gens l’apprécient tant.

Les développeurs ont implémenté un grand nombre de fonctionnalités utiles dans ZFS, les plus remarquables étant les suivantes:

1) La taille maximale d’un fichier pouvant être écrit a été considérablement augmentée – elle est maintenant de 16 exbibytes;

2) La taille maximale d’un volume est de 256 zebibytes, et le nombre de ces volumes peut être de n’importe quelle taille;

3) ZFS est un système de fichiers de 128 bits – en pratique, cela signifie qu’il offre la capacité de 16 millions de systèmes de 32 ou 64 bits. Ainsi, il est presque impossible de remplir un pool de 128 bits. L’un des créateurs de ZFS, Jeff Bonwick, a même plaisanté à ce sujet. Il a déclaré qu’il faut plus d’énergie pour alimenter un pool de cette taille que pour faire bouillir l’océan;

4) Les instantanés sont utilisés pour surveiller l’état du système – l’instantané enregistre l’état d’origine du système de fichiers et l’état actuel. Si un fichier est supprimé du système, il est également supprimé de l’instantané. Lors de l’écriture de nouvelles informations, de nouveaux blocs sont mis en évidence. La principale caractéristique est que vous n’avez pas besoin d’espace supplémentaire pour les instantanés;

5) Vérification de l’intégrité des données et correction automatique des données – chaque fois que de nouvelles données sont écrites, le système de fichiers crée une somme de contrôle pour celles-ci. Lorsque les données sont lues, la somme de contrôle est comparée. En cas de divergence, le système de fichiers signale l’erreur et tente automatiquement de la corriger;

6) Au moins deux copies de somme de contrôle pour les métadonnées – elles sont généralement situées à des endroits différents pour plus de sécurité;

7) Une vitesse de compression élevée en temps réel – beaucoup dépend de l’algorithme. Par exemple, si vous utilisez l’algorithme LZ4, ZFS atteindra facilement une vitesse d’écriture de 800 Mo/s par cœur, et la vitesse de lecture est d’au moins 4,5 Go/s.

8) L’atomicité – le système de fichiers ZFS est atomique grâce à l’arbre de Merkle. L’intégrité des blocs est garantie par la nature transactionnelle du système de fichiers. Cette solution vous permet de ne pas utiliser le journal WAL. L’inconvénient de cette solution est la nécessité de connaître de nombreuses commandes et utilitaires;

9) Prise en charge du regroupement – les disques peuvent être regroupés en groupes VDEV, qui peuvent à leur tour être regroupés en pools;

10) La plus haute performance – ZFS peut fonctionner avec des centaines de pools (pas de disques, mais de pools) sans perte de performance;

11) La possibilité de créer un système de fichiers léger – dans ZFS, la manipulation du système de fichiers est plus facile que dans d’autres systèmes de fichiers. Toutes les manipulations ressemblent davantage à un travail avec des répertoires qu’avec un système de fichiers;

12) Grâce à la méthode de copie sur écriture – vous ne perdrez jamais un fichier lors de son écriture sur le disque;

13) Canal de transfert de données automatiquement extensible – lorsque vous connectez des disques supplémentaires, vous devez augmenter la bande passante, sinon les performances diminueront. ZFS a pris cela en compte. Par conséquent, lorsque vous connectez de nouveaux VDEVs, le système de fichiers configure automatiquement les disques et étend le canal de données;

14) La possibilité de planifier le travail des données – cette fonctionnalité devient utile sur les serveurs, par exemple. C’est lorsque le « temps d’arrêt du processeur » peut être utilisé pour travailler avec des données. De cette manière, vous pouvez utiliser plus efficacement les ressources matérielles de votre machine.

Comme vous pouvez le constater, ZFS est un système de fichiers très puissant et nous n’avons même pas mentionné toutes les fonctionnalités qui le rendent si utile. Mais surtout – avec ZFS, vous pouvez créer un système de stockage local énorme, rapide et extensible.

Les inconvénients du système de fichiers ZFS

Dans le paragraphe précédent de cet article, nous avons examiné les principaux avantages du système de fichiers ZFS. Il est maintenant temps de parler de ses inconvénients, qui sont également assez nombreux:

  1. Pas trop rapide sur les disques durs – en raison de sa structure, ZFS nécessite un accès aléatoire rapide, que les disques durs ne peuvent pas se vanter. En conséquence, à mesure que le nombre de disques durs augmente, les performances peuvent diminuer. Il y a eu des cas où un ordinateur domestique avec un disque dur pas très rapide a vu ses performances chuter tellement bas qu’il est insupportable d’utiliser l’ordinateur. Par conséquent, vous ne pouvez obtenir le plein potentiel que sur les disques SSD;
  2. La nécessité de connaître un grand nombre de commandes et d’utilitaires – pour obtenir l’effet maximum, vous devez être capable de « communiquer » avec ce système de fichiers dans sa langue;
  3. Impossible de changer la structure du disque dans VDEV – vous ne pouvez configurer chaque groupe de disques VDEV qu’une seule fois (nombre de disques, redondance, etc.). Il n’est pas possible de faire des changements une fois que la configuration a été appliquée. Un correctif est actuellement en cours de développement pour résoudre ce problème;
  4. Besoin d’une grande quantité de RAM – bien que les exigences minimales spécifient un minimum de 4 Go de RAM, en pratique, il est préférable d’utiliser au moins 8 Go ou plus.
  5. Niveau élevé de fragmentation des données – se produit en raison des particularités du système de fichiers. Actuellement, il n’y a pas de défragmenteur normal;
  6. Impossibilité de réduire le nombre de VDEVs – une solution à ce problème est prévue prochainement;
  7. Manque d’allocation de quota entre les utilisateurs – pour le moment, ce problème est résolu en créant un système de fichiers de tailles différentes pour chaque utilisateur;
  8. Vous ne pouvez pas mélanger VDEV et ZPOOL – c’est-à-dire que vous ne pouvez pas créer un équivalent RAID 10 ou RAID 01, car la redondance ne peut être organisée qu’à un niveau inférieur, au sein de chaque groupe de disques VDEV;
  9. Dégradation importante des performances si de grandes quantités de données sont supprimées;
  10. Charge accrue sur le processeur lors de l’utilisation de RAID Z – se produit en raison de la nécessité de calculer les données de parité. C’est également la situation avec le RAID 5 logiciel. Cependant, le RAID 5 est généralement utilisé dans des stockages plus petits. Les stockages ZFS sont souvent très grands, donc le matériel doit être très puissant;

Malgré tous les inconvénients, il n’y a actuellement aucun système de fichiers qui puisse gérer de grands stockages de manière aussi efficace. Et compte tenu du développement actif de ZFS, la raison de sa popularité devient claire.

Sécurité des données dans ZFS

Le système de fichiers ZFS accorde une grande attention non seulement à la gestion de grandes quantités de données, mais également à leur sécurité. Il n’est pas agréable d’imaginer que les données d’un pool de cent disques disparaissent soudainement à cause d’une seule défaillance de disque.

Une méthode de protection des données est la mise en œuvre de RAID Z. Comme mentionné précédemment, cette technologie est basée sur RAID 5. Si un disque tombe en panne, RAID Z permet simplement de retirer le disque défectueux et d’en insérer un nouveau. L’essentiel est qu’il doit être de la même taille. Le système de fichiers s’occupera du reste. L’utilisateur ne remarquera qu’une légère baisse de performance due au recalcul de l’algorithme de restauration des données sur le nouveau disque.

Le système de fichiers ZFS analyse automatiquement son état en comparant les instantanés. S’il y a un problème, ZFS corrigera l’erreur et, si cela n’est pas possible, vous verrez un message. Dans tous les cas, vous pourrez récupérer les données. Cela est dû à la méthode « copie sur écriture » sur laquelle repose tout ZFS. Lorsque les données sont réécrites, de nouvelles données sont écrites dans un nouveau bloc sans modifier les anciennes données.

Il empêche également la perte de données due à une panne de courant pendant la modification du fichier.

SHA-256 est une autre technologie qui protège les données contre la perte. Le système de fichiers génère automatiquement une somme de contrôle lors de l’écriture du fichier et la recalcule lors de la copie du fichier. S’il y a une différence dans la comparaison, ZFS reconnaîtra immédiatement les erreurs.

L’utilisation des technologies ci-dessus réduit considérablement le risque de perte ou de corruption de données. C’est une autre raison pour laquelle de nombreux grands projets ont porté leur attention sur le système de fichiers ZFS.

ZFS et Mac OS

En 2009, Apple a annoncé qu’il portait le système de fichiers ZFS sur Mac OS. Malheureusement, le processus de portage n’a pas été achevé et, lors de la présentation de la nouvelle version de Mac OS, toutes les références à ZFS avaient été supprimées. Les raisons du rejet de ZFS n’ont pas été divulguées.

Comme Windows est de loin le système le plus populaire au monde, tôt ou tard, il devient nécessaire d’ouvrir un disque ZFS sous Windows. Il peut y avoir de nombreuses raisons à cela, allant du simple transfert de fichiers à des tâches plus spécialisées.

En tout cas, le système d’exploitation Windows ne prend pas en charge ZFS par défaut, car les systèmes de fichiers natifs de Windows sont NTFS et FAT (16, 32).

Mais que faire si vous avez besoin d’ouvrir un disque ZFS sous Windows?

Il existe plusieurs façons de le faire.

La première façon est d’utiliser RS Partition Recovery. Le programme est facile à utiliser et vous permet de travailler avec les données sur le disque ZFS immédiatement. Vous n’avez même pas besoin de redémarrer votre ordinateur.

Logo de RS Partition Recovery

Mais surtout, vous pouvez récupérer des données perdues si elles sont perdues, que la structure de fichiers du disque est endommagée ou que le disque est formaté. La fonction de récupération distingue RS Partition Recovery de la concurrence car souvent Windows ne fonctionne pas correctement avec le système de fichiers ZFS. Cela peut entraîner la perte de données importantes.

Il convient également de mentionner que RS Partition Recovery prend en charge TOUTES les systèmes de fichiers modernes, y compris Btrfs, Ext2,3,4, XFS, HFS, UFS et bien d’autres.

Toutes les fonctionnalités ci-dessus de RS Partition Recovery en font un programme « indispensable » pour chaque utilisateur.

La deuxième façon est d’installer un pilote spécial appelé ZFSin.

Logo de ZFSin

Ce pilote ajoute la prise en charge de ZFS au niveau natif. Mais les choses ne sont pas aussi roses qu’elles le paraissent à première vue.

Le fait est que très souvent, le pilote ZFSin entre en conflit avec les pilotes du système d’exploitation. Mais le plus triste, c’est que cela conduit presque toujours à un écran bleu de la mort de Windows ou à un plantage du système d’exploitation.

De plus, si votre clé USB ZFS est branchée sur le système lors d’un conflit de pilote, il y a une forte probabilité que les données ou la structure logique du disque soient corrompues.

Ainsi, au lieu de prendre en charge ZFS sous Windows, vous risquez très probablement de vous retrouver avec un système d’exploitation non fonctionnel. C’est la raison pour laquelle la première méthode est préférable à la deuxième.

Les meilleures alternatives au système de fichiers ZFS

Si après avoir analysé tous les avantages et les inconvénients, vous n’êtes pas sûr de vouloir utiliser ZFS, ou si vous ne voulez pas apprendre beaucoup de commandes, vous pouvez considérer les meilleures alternatives à ce système de fichiers.

Si nous parlons d’alternatives pour un usage domestique, la meilleure alternative est d’utiliser Ext4. Oui, il est plus lent que ZFS et n’a pas beaucoup de fonctionnalités modernes.

Mais, en même temps, il est robuste et facile à gérer et peut fournir des performances suffisantes pour la plupart des utilisateurs.

Ordinateur portable Linux

Quand il s’agit de l’utiliser sur un serveur, la meilleure alternative est le système de fichiers Btrfs. Comme ZFS, il est encore en développement intensif mais est plus facile à maintenir et assez rapide pour gérer. Les inconvénients de Btrfs sont son écosystème immature et la quantité relativement faible de données qu’il gère (comparé à ZFS).

Le choix d’un système de fichiers dépend entièrement des besoins et des compétences de l’utilisateur. Nous ne vous avons montré que les forces et les faiblesses de ZFS et espérons vous avoir aidé à faire le bon choix.

Questions fréquemment posées

ZFS peut gérer des magasins très volumineux rapidement, possède une vérification d'intégrité du système de fichiers en mode pass-through et offre une redondance au niveau logiciel. C'est un système de fichiers moderne avec une grande importance accordée à la sécurité et à la vitesse.
Pour utiliser ZFS sur Linux, utilisez les modules noyau FUSE ou ZFS on Linux. Sinon, les fonctionnalités de ZFS seront sévèrement limitées en raison des restrictions de licence.
Utilisez le programme de récupération de partition RS. Il est très pratique et vous permet de récupérer des données perdues en quelques clics, indépendamment du système de fichiers que vous utilisez.
Parmi les principaux inconvénients, on peut citer une fragmentation importante, une difficulté d'administration, des performances lentes sur les disques durs et l'incapacité de réduire le nombre de VDEVs.
Pour ouvrir une clé USB ZFS sous Windows, il est préférable d'utiliser le programme RS Partition Recovery, car l'utilisation de différents types de pilotes pour ZFS peut provoquer des plantages de Windows. RS Partition Recovery offre une opération à haute vitesse de la clé et est facile à utiliser.
laissez un commentaire

Articles connexes

Récupération de données à partir de machines virtuelles Linux KVM
Récupération de données à partir de machines virtuelles Linux KVM
Comment récupérer des données à partir de machines virtuelles Linux KVM? Si des données importantes sont stockées à l’intérieur de la machine, mais qu’elle est irréparable, comment accéder au contenu de son disque dur virtuel? Que faire si le disque … Continue reading
Synology DSM VS TrueNAS : quel système d’exploitation est le meilleur pour un NAS?
Synology DSM VS TrueNAS : quel système d’exploitation est le meilleur pour un NAS?
Le stockage et l’accès aux données sont l’un des aspects clés de la vie moderne, et le besoin de stockage fiable et efficace des données augmente chaque année. Une solution populaire dans ce domaine est les dispositifs de stockage en … Continue reading
Créer un NAS DIY ou construire un NAS avec un ancien ordinateur
Créer un NAS DIY ou construire un NAS avec un ancien ordinateur
Un des problèmes les plus pressants aujourd’hui dans le domaine de l’informatique est le stockage des données, qui implique la sécurité des informations et l’accès multi-utilisateurs. Pour résoudre ce problème, il existe des systèmes SAN et NAS. Qu’est-ce qu’un NAS, … Continue reading
Récupération des données à partir de machines virtuelles Hyper-V
Récupération des données à partir de machines virtuelles Hyper-V
Comment récupérer des données à partir de machines virtuelles Hyper-V ? La perte de données peut survenir en cas de défaillance de l’hyperviseur, de défaillance de Windows ou d’actions de l’utilisateur. Dans cet article, nous discuterons des actions à entreprendre … Continue reading
Online Chat with Recovery Software