Qu'est-ce que ZFS? Et pourquoi les gens sont-ils fous d'elle?

Nous allons maintenant discuter de ZFS, un système de fichiers avancé. Nous verrons comment il est apparu, ce qu'il est et pourquoi il est si populaire dans les cercles techniques et les entreprises.

Bien que je sois des États-Unis, je préfère prononcer ZedFS au lieu de ZeeFS car cela semble plus cool. Vous pouvez choisir vous-même l'option de prononciation.

Remarque: Dans cet article, vous verrez que ZFS est répété plusieurs fois. Quand je parle de fonctionnalités et d'installation, je veux dire OpenZFS. Les chemins de ZFS (développé par Oracle) et d'OpenZFS ont divergé depuis qu'Oracle a fermé le projet OpenSolaris. (En savoir plus dans l'article.)

Histoire de ZFS


Le système de fichiers Z (ZFS) a été créé par Matthew Aren et Jeff Bonwick en 2001. ZFS a été développé pour devenir la prochaine génération de systèmes de fichiers Sun Microsystems OpenSolaris. En 2008, ZFS a été porté sur FreeBSD. La même année, le portage de ZFS sur Linux a commencé. Cependant, depuis que ZFS a commencé à être publié sous la licence CDDL, qui est incompatible avec la GNU GPL, il ne peut pas être ajouté au noyau Linux. Pour contourner cette limitation, la plupart des distributions proposent des méthodes d'installation ZFS.

Peu de temps après qu'Oracle a acheté Sun Microsystems, le code OpenSolaris est devenu fermé. Tout développement ultérieur de ZFS est également devenu clos. Un grand nombre de développeurs ZFS ont été déçus de ces changements. Les deux tiers des développeurs ZFS importants, dont Arens et Bonwick, ont quitté Oracle suite à cette décision. Ils ont rejoint d'autres sociétés et créé le projet OpenZFS en septembre 2013. Le projet a dirigé le développement open source de ZFS.

Revenons au problème des licences mentionné ci-dessus. A partir du moment où OpenZFS s'est détaché d'Oracle, quelqu'un pourrait se demander pourquoi il n'a pas changé la licence compatible GPL pour inclure le système de fichiers dans le noyau Linux. Selon le site Web OpenZFS, un changement de licence implique le contact des développeurs qui ont apporté des modifications à la version OpenZFS (y compris ceux qui ont démarré ce projet et le code ZFS avant OpenSolaris) et obtiennent leur autorisation. C'est presque impossible (peut-être que certains d'entre eux sont déjà morts ou qu'ils ne sont pas si faciles à trouver), ils ont décidé de tout laisser tel quel.

Qu'est-ce que ZFS? En quoi est-il spécial?


image

Comme je l'ai dit plus tôt, ZFS est un système de fichiers avancé. En tant que tel, il présente des fonctionnalités intéressantes. Tels que:

  • Stockage groupé
  • Copie sur écriture
  • Instantanés
  • Contrôle d'intégrité et réparation automatique
  • RAID-Z
  • La taille maximale du fichier est de 16 exaoctets ( Note du traducteur: 10 ^ 18 octets )
  • La taille de stockage maximale est de 256 quadrillions de zettaoctets ( Traducteur de la note: Quadrillion - million ^ 4; Zettabyte - 10 ^ 21 octets)

Nous allons en traiter avec certains d'entre eux.

Stockage fédéré


Contrairement à d'autres systèmes de fichiers, ZFS combine les capacités d'un système de fichiers et d'un gestionnaire de disques. Cela signifie que ZFS peut créer un système de fichiers couvrant tous les disques. Mais non seulement cela, vous pouvez également ajouter du stockage au système de disque. ZFS fera le partitionnement et le formatage des disques.

image

Copie sur écriture


La copie sur écriture est une autre fonctionnalité intéressante. Mais la plupart des systèmes de fichiers, si les informations sont écrasées, sont perdus à jamais. Dans ZFS, les nouvelles informations sont écrites dans un bloc séparé. Une fois l'enregistrement terminé, les métadonnées du système de fichiers sont mises à jour au point de nouvelles informations. Cela garantit que si le système de fichiers se casse (ou quelque chose de similaire se produit) pendant l'enregistrement, les anciennes informations seront corrigées. Cela signifie que le système n'a pas besoin d'exécuter fsck après un crash.

Instantanés


La copie sur écriture mène à une autre chose intéressante dans ZFS: les instantanés. ZFS utilise des instantanés pour suivre les changements dans le système de fichiers. L'instantané stocke la version d'origine du système de fichiers et l'actuelle, dans laquelle toutes les modifications depuis le moment où l'instantané a été créé. Aucun espace supplémentaire n'est utilisé. Dès que de nouvelles informations sont écrites dans le système de fichiers actuel, de nouveaux blocs sont alloués pour son stockage. Si le fichier a été supprimé, sa mention sur l'image disparaît. Les instantanés sont conçus pour suivre les modifications, mais ne sont pas complémentaires et ne créent pas de fichiers.

Les instantanés peuvent être montés au format en lecture seule pour restaurer une ancienne version d'un fichier. Vous pouvez également restaurer le système à l'image précédente. Toutes les modifications apportées après la photo seront perdues.

Contrôle d'intégrité et réparation automatique


Chaque fois que de nouvelles informations sont écrites dans ZFS, une somme de contrôle (checksum) est créée pour ces informations. Lorsque les informations sont lues, le montant du chèque est confirmé. Si les montants des chèques ne correspondent pas, ZFS remarque l'erreur et essaie de la corriger.

RAID-Z


ZFS peut augmenter le RAID sans logiciel auxiliaire. Sans surprise, ZFS fournit son implémentation RAID: RAID-Z. RAID-Z est essentiellement une variante de RAID-5. Cependant, RAID-Z est conçu pour surpasser RAID-5 en termes d'erreur: "Toutes les données et informations de parité deviennent incompatibles après un redémarrage inattendu." Pour utiliser le niveau de base (RAID-Z1), vous avez besoin d'au moins deux disques pour le stockage et un pour la parité. RAID-Z2 a besoin d'au moins deux disques pour le stockage et deux pour la parité. RAID-Z3 nécessite deux disques pour le stockage et trois pour la parité. Une fois les disques ajoutés aux groupes RAID-Z, ils doivent être un multiple de deux.

D'énormes capacités de stockage


Lorsque ZFS a été créé, il a été conçu pour être le meilleur du genre. À une époque où la plupart des systèmes de fichiers étaient en 64 bits, les créateurs de ZFS ont décidé de le faire en 128 bits, pour une confirmation future de cela. Cela signifie que ZFS offre la capacité de 16 millions de systèmes 32 ou 64 bits. En outre, Jeff Bonwick (l'un des créateurs) a déclaré qu'alimenter un pool de mémoire 128 bits entièrement peuplé nécessiterait littéralement plus d'énergie que de faire bouillir les océans.

Comment installer ZFS


Si vous souhaitez utiliser ZFS prêt à l'emploi, vous devez installer FreeBSD ou un système d'exploitation qui utilise le noyau illumos. Illumos est un fork du noyau OpenSolaris.

En fait, la prise en charge de ZFS pour ZFS est l'aspect principal pour lequel certains utilisateurs Linux expérimentés optent pour BSD.

Si vous souhaitez utiliser ZFS sous Linux, vous pouvez l'utiliser comme système de fichiers pour le stockage uniquement. Pour autant que je sache, aucune des distributions ne permet d'installer ZFS, de sorte qu'il fonctionne immédiatement. Si vous êtes intéressé et souhaitez essayer, il existe un projet ZFS sur Linux qui propose plusieurs tutoriels.

En fin de compte


Dans cet article, j'ai parlé des avantages de ZFS. Et maintenant sur un petit problème. L'utilisation de RAID-Z peut être coûteuse en raison du nombre de disques nécessaires.

Avez-vous déjà utilisé ZFS? Et comment va-t-elle pour toi? Dites-le nous dans les commentaires.

Postface du traducteur


Merci d'avoir lu. Bonne chance

Source: https://habr.com/ru/post/fr424651/


All Articles