ZFS

Qu'est-ce que le RAID-Z?

Qu'est-ce que le RAID-Z?
Les systèmes de fichiers sont plus anciens qu'UNIX lui-même. Et depuis que nous avons commencé à numériser nos vies sur des bandes, des disques et des SSD, une menace a été éminente. C'est une panne matérielle. Les données stockées sur les disques sont souvent plus chères que les disques eux-mêmes et ces données ont besoin de toute la redondance que nous pouvons rassembler.

RAID-Z est l'un des meilleurs outils qui garantirait que vos données soient aussi exemptes d'erreurs que possible, même sur la collection de disques la moins chère. Cela fait partie d'OpenZFS. Vous pouvez comprendre les bases d'OpenZFS dans ce bref article si vous n'en avez jamais entendu parler auparavant. Il s'agit d'un système de fichiers open source de qualité entreprise disponible sur Linux, FreeBSD, Mac OS X, SmartOS, Illumos et d'autres systèmes d'exploitation majeurs.

Mais d'abord… qu'est-ce que le RAID?

RAID signifie Redundant Array of Independent (Inexpensive) Disks. Cela fait référence à la pratique à l'échelle de l'industrie consistant à stocker les données non seulement sur un disque, mais sur plusieurs disques afin que même en cas de panne de disque, les données puissent être reconstruites à partir d'autres disques. La façon dont les données sont réparties sur les disques est différente pour différents types de redondance, elles sont donc nommées RAID 0, RAID 1, etc. Nous n'allons pas les traiter ici. On se focaliserait sur un RAIDZ qui est spécifique à OpenZFS.

RAID (et aussi RAID-Z) n'est pas la même chose que l'écriture de copies de données sur un disque de sauvegarde. Lorsque vous avez configuré deux disques ou plus en RAID, les données y sont écrites simultanément et tous les disques sont actifs et en ligne. C'est la raison pour laquelle le RAID est différent des sauvegardes et, plus important encore, pourquoi Le RAID ne remplace pas les sauvegardes. Si l'intégralité de votre serveur est en panne, tous les disques en ligne pourraient aller avec le serveur, mais les sauvegardes vous sauveront la journée. De même, s'il y a une panne de disque unique et que quelque chose n'a pas été sauvegardé, parce que vous ne pouvez pas le faire tous les jours, alors RAID peut vous aider à récupérer ces informations.

Les sauvegardes sont périodiquement des copies des données pertinentes et le RAID est une redondance en temps réel. Il existe plusieurs manières de stocker les données dans les systèmes RAID traditionnels, mais nous ne les aborderons pas ici. Ici, nous plongerions profondément dans RAIDZ qui est l'une des fonctionnalités les plus intéressantes d'OpenZFS.

Une dernière chose avant de commencer, le RAID traditionnel encourage parfois l'utilisation de périphériques matériels dédiés pour faire le RAID. Cela laisse le système d'exploitation et le système de fichiers inconscients des mécanismes RAID en place. Mais souvent, la carte RAID (le matériel dédié) elle-même rencontre une défaillance, laissant l'ensemble de votre matrice de disques essentiellement inutile.

Pour éviter cela, vous devez toujours essayer d'utiliser OpenZFS sans aucun contrôleur RAID matériel.

RAID-Z1, RAID-Z2, RAID-Z3

ZFS combine les tâches du gestionnaire de volumes et des systèmes de fichiers. Cela signifie que vous pouvez spécifier les nœuds de périphérique pour vos disques lors de la création d'un nouveau pool et que ZFS les combinera en un seul pool logique, puis vous pourrez créer des ensembles de données pour différentes utilisations telles que /home, /usr, etc. au-dessus de ce volume.

La configuration de RAID-Z nécessiterait au moins 3 disques ou plus. Vous ne pouvez pas utiliser moins de trois disques. Le fournisseur de stockage peut être autre chose que le stockage connecté au réseau, le périphérique de bloc virtuel, etc., mais restons-en à trois disques de tailles égales comme exemple simple.

Les trois disques peuvent être combinés en un périphérique virtuel (vdev). C'est le bloc de construction d'un zpool. Si vous commencez avec seulement 3 disques, vous avez 1 vdev dans votre zpool. Vous pouvez avoir 2 vdevs avec 6 disques et ainsi de suite.

Supposons que vous ayez un fichier de 1 Go que vous souhaitez stocker sur ce pool. RAID-Z le divise en deux morceaux égaux de 512 Mo, puis effectue une opération mathématique entre eux qui génère un troisième morceau de 512 Mo (appelé le bloc de parité). Les trois morceaux sont ensuite écrits dans trois vdev distincts. Donc le fichier finit par prendre 1.5 Go d'espace au total.

L'avantage cependant est que, si l'un des disques tombe en panne, disons que le premier morceau est perdu, alors le deuxième morceau et le bloc de parité peuvent être utilisés pour recréer le premier. De même, si le deuxième morceau est perdu, le premier et le troisième peuvent être utilisés pour recréer le deuxième.

Vos fichiers utilisent 50% plus d'espace que nécessaire mais vous pouvez supporter la panne d'un disque par vdev. C'est RAID-Z1.

Mais un pool ZFS peut s'agrandir et vous aurez éventuellement besoin de plus d'espace. Eh bien, vous ne pouvez pas ajouter plus de disques directement à un vdev (cette fonctionnalité est proposée et pourrait très bien être en cours de développement en ce moment). Cependant, vous pouvez ajouter un vdev. Cela signifie que vous pouvez ajouter des disques par ensemble de trois et traiter chaque nouvel ensemble comme un seul vdev logique.

Vous pouvez désormais tolérer une seule panne de disque dans ce nouveau vdev et une seule panne de disque dans l'ancien. Mais si plusieurs disques tombent en panne dans un même vdev, ce n'est pas récupérable. Votre pool entier est rendu inutile, même les vdevs les plus sains.

C'est un modèle vraiment trop simplifié. Les fichiers ne sont jamais divisés exactement en deux, mais les données sont traitées comme des blocs de longueurs fixes. De plus, vous pouvez utiliser plus de 3 disques (mais 3 est le minimum) par vdev et RAID-Z1 garantira que chaque bloc de données unique est écrit de sorte qu'il puisse récupérer de la défaillance de n'importe quel disque par vdev. Heureusement, vous n'avez pas à vous soucier de ces détails internes. C'est la responsabilité de ZFS. Une fois le pool configuré, les données y sont automatiquement réparties de la manière la plus optimale.

La tolérance aux pannes est toujours limitée à une panne de disque par vdev. Pour aller au-delà, nous devons passer au RAID-Z2. RAID-Z2 fonctionne de manière similaire mais il crée deux blocs de parité et deux blocs de données à partir d'une seule information. Cela lui permet de supporter jusqu'à 2 pannes de disque par vdev. De plus, un vdev doit avoir au moins 4 disques s'il doit implémenter une configuration RAID-Z2.

De même, RAID-Z3 nécessite au moins 5 disques par vdev et peut résister à la panne de 3 d'entre eux. RAID-Z3 n'est pas aussi économe en espace que RAID-Z2 qui n'est pas aussi efficace en termes d'espace que RAID-Z1.

Conclusion

Avec RAID-Z, nous voyons un compromis entre l'espace utilisable offert par les disques individuels et la fiabilité que la collecte de ces disques peut offrir. Avec un plus grand nombre de disques, la probabilité que plusieurs disques tombent en panne simultanément augmente également.

La meilleure façon de le contrer est d'utiliser une stratégie RAID-Z efficace qui offre la fiabilité ainsi que le meilleur rapport qualité-prix. Faites-nous savoir si vous avez trouvé ce tutoriel utile ou si vous avez des questions concernant RAID-Z!

Top 10 des jeux à jouer sur Ubuntu
La plate-forme Windows a été l'une des plates-formes dominantes pour les jeux en raison du pourcentage énorme de jeux qui se développent aujourd'hui p...
5 meilleurs jeux d'arcade pour Linux
De nos jours, les ordinateurs sont des machines sérieuses utilisées pour les jeux. Si vous ne pouvez pas obtenir le nouveau score élevé, vous saurez c...
Bataille pour Wesnoth 1.13.6 Développement publié
Bataille pour Wesnoth 1.13.6 publiée le mois dernier, est la sixième version de développement de la 1.13.x series et il apporte un certain nombre d'am...