Qu'est-ce que Raid-Z?

Qu'est-ce que Raid-Z?
Les systèmes de fichiers sont plus anciens que Unix lui-même. Et depuis que nous avons commencé à numériser nos vies sur les bandes, les disques et les SSD, une menace a été éminente. C'est une panne de matériel. 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 vivent aussi sans erreur que possible sur la collection de disques la moins chère. Cela fait partie d'OpenZFS. Vous pouvez comprendre les bases des OpenZFS dans ce bref article si vous n'en avez pas entendu parler auparavant. Il s'agit d'un système de fichiers de qualité d'entreprise open source disponible sur Linux, FreeBSD, Mac OS X, SmartOS, Illumos et autres grandes OSE.

Mais d'abord… qu'est-ce que Raid?

RAID signifie une gamme redondante de disques indépendants (peu coûteux). Cela fait référence à la pratique de l'industrie à stocker des données non seulement sur un disque, mais sur plusieurs disques, de sorte que même lorsqu'il y a une défaillance du disque, les données peuvent être reconstruites à partir d'autres disques. La façon dont les données sont réparties sur les disques sont différentes pour différents types de redondances en conséquence, ils sont nommés Raid 0, Raid 1, etc. Nous n'allons pas les traiter ici ici. Nous nous concentrions sur un RAIDZ qui est spécifique à OpenZFS.

RAID (et aussi RAID-Z) n'est pas la même que l'écriture de copies de données sur un disque de sauvegarde. Lorsque vous avez deux disques ou plus mis en place dans RAID, les données leur sont écrites simultanément et tous les disques sont actifs et en ligne. C'est la raison pour laquelle Raid est différent des sauvegardes et surtout pourquoi Raid ne remplace pas les sauvegardes. Si votre serveur entier s'épuise, tous les disques en ligne pourraient aller avec le serveur, mais les sauvegardes sauveront votre journée. De même, s'il y a une seule défaillance du disque et que quelque chose n'était pas sauvegardé, car vous ne pouvez pas le faire tous les jours, alors Raid peut vous aider à récupérer ces informations.

Les sauvegardes sont périodiquement prises de copies des données pertinentes et RAID est une redondance en temps réel. Il existe plusieurs façons dont les données sont stockées dans les systèmes de raid traditionnels, mais nous ne les allons pas ici. Ici, nous plongerions profondément dans Raidz qui est l'une des caractéristiques les plus cool d'OpenZFS.

Une dernière chose avant de commencer, le raid traditionnel encourage parfois l'utilisation des appareils matériels dédiés pour faire le raid. Cela laisse le système d'exploitation et le système de fichiers ignorant les mécanismes RAID qui sont en place. Mais souvent, la carte RAID (le matériel dédié) lui-même rencontre un échec, laissant l'ensemble de votre tableau de disque essentiellement inutile.

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

RAID-Z1, RAID-Z2, RAID-Z3

ZFS combine les tâches du gestionnaire de volume et des systèmes de fichiers. Cela signifie que vous pouvez spécifier les nœuds de l'appareil pour vos disques lors de la création d'un nouveau pool et ZFS les combinera en un pool logique, puis vous pouvez créer des ensembles de données pour différentes utilisations comme / maison, / usr, etc. en plus 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 de blocs de blocs, etc.

Les trois disques peuvent être combinés dans un appareil 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 VDEV avec 6 disques et ainsi de suite.

Supposons que vous ayez un fichier de 1 Go que vous souhaitez stocker sur cette piscine. 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 en trois VDEV distincts. Donc le fichier finit par prendre 1.5 Go d'espace au total.

L'avantage est cependant que, si l'un des disques échoue, disons que le premier morceau est perdu, alors le deuxième morceau et le bloc de parité peuvent être utilisés 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% de plus d'espace que nécessaire, mais vous pouvez résister à l'échec d'un disque par VDEV. C'est Raid-Z1.

Mais une piscine ZFS peut croître et finalement vous aurez 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 dans des ensembles de trois et traiter chaque nouvel ensemble comme un seul VDEV logique.

Vous pouvez maintenant tolérer une seule défaillance de disque dans ce nouveau VDEV et une seule défaillance de disque dans l'ancien. Mais si plus d'un disque échoue dans un seul VDEV, ce n'est pas récupérable. Toute votre piscine est rendue inutile même les VDEV plus sains.

C'est un modèle vraiment sur-simplifié. Les fichiers ne sont jamais divisés exactement dans les moitiés, 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 unique de données est écrit de telle sorte qu'il peut se remettre de l'échec de tout disque unique en 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 sont automatiquement réparties sur elle de la manière la plus optimale.

La tolérance de défaillance est toujours limitée à une panne de disque par VDEV. Pour aller au-delà, nous devons aller à Raid-Z2. RAID-Z2 fonctionne de manière similaire, mais il crée deux blocs de parité et deux blocs de données d'une seule information. Cela lui permet de résister à 2 échecs de disque par VDEV. Un VDEV doit également avoir au moins 4 disques s'il va mettre en œuvre une configuration RAID-Z2.

De même, RAID-Z3 nécessite au moins 5 disques par VDEV et peut résister à l'échec de 3 d'entre eux. RAID-Z3 n'est pas aussi efficace d'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 collection de ces disques peut offrir. Avec un plus grand nombre de disques, la probabilité de plusieurs disques échouant simultanément augmente également.

La meilleure façon de le contrer est d'utiliser une stratégie RAID-Z efficace qui offre une fiabilité ainsi que le meilleur coup pour votre argent. Faites-nous savoir si vous avez trouvé ce tutoriel utile ou si vous avez des questions en ce qui concerne Raid-Z!