Raid Z - Système de fichiers ZFS

Raid Z - Système de fichiers ZFS

Le Raid standard classique est une combinaison de plusieurs disques durs afin de créer un volume plus volumineux avec un niveau de sécurité basé sur les données de parité exclusivement. Il peut être tolérant à la panne d'un seul disque (Raid 5), de deux disques durs (Raid 6). Le Raid 0 n'offre aucun niveau de tolérance de panne de disque. Les écriture de données se font par bloc d'une certaine taille (Block size, Chunk) paramétrée à l'avance selon le moyen de création du Raid. Dans un Raid matériel, on peut parler des paramètres du Raid. Pour un Raid 5 par exemple, ces paramètres sont : l'ordre des disques, la taille du bloc, la synchronisation et la rotation de la parité (voir cette page). Le volume Raid ainsi créé, est vu et reconnu par l'OS comme un seul volume. On pourra alors créer des partition, et les formater avec un système de fichiers selon les besoin.


Les critiques du Raid standard sont nombreuses et peuvent concerner la sécurité des données, l'intégrité face à la corruption silencieuse, la performance, la gestion des espaces de stockage, les limites, etc. 



Pourquoi le Raid Z

Le Raid Z est un Raid non standard, utilisant exclusivement le système de fichiers ZFS. Il ne peut pas utiliser un autre système de fichier, car le volume Raid et le système de fichiers ne sont pas indépendants comme le Raid standard. Le Raid Z améliore la performance, et la sécurité des données via l'introduction de sommes de contrôle supplémentaires et l'usage de bandes passantes (taux de transfert, taille de blocs) dynamiques. Chaque bloc de données quelque soit sa taille a sa propre bande RAID-Z. Par contre, le schéma de parité est identique à celle du Raid 5.

Afin de comprendre la philosophie et la logique du fonctionnement du Raid Z, la compréhension du système de fichiers ZFS est indispensable, car les deux sont inséparables.

Système de fichiers ZFS

ZFS est un système de fichiers local (comme ext4, NTFS, exfat) et un gestionnaire de volume logique (comme LVM sous Linux) en même temps. Mis à part des propriétés communes des systèmes de fichiers connus, les principales propriétés de ce système de fichiers sont :

  • Très haute capacité de stockage. Le ZFS est un système de fichiers 128 bits.
  • Vérification de l'intégrité des données.
  • Protection contre la corruption des données.
  • Performance très élevée.
  • Création des instantanés (Snapshot) et des clones de copie sur écriture (copy-on-write COW).
  • Gestion de volumes (LVM).
Raid ZFS

Notions inhérentes au système de fichiers ZFS

Contrairement aux dispositions RAID traditionnelles, tous les RAIDz sont développées pour être utilisées avec le système de fichiers ZFS. Ce qui, d'une part, réduit la portée de ces configurations, et d'autre part, permet de créer un stockage de données plus diversifié et intéressant du point de vue des performance et fiabilité du système de stockage de données.

Copie sur écriture (copy-on-write COW) : ZFS est un système de fichiers de copie sur écriture, ce qui signifie qu'il crée une nouvelle copie d'un enregistrement de métadonnées plutôt que de modifier un enregistrement actuel. L'idée fondamentale : si de multiples appelants demandent des ressources initialement identiques, vous pouvez leur donner des pointeurs vers la même ressource. Cette fiction peut être maintenue jusqu'à ce qu'un appelant modifie sa « copie » de la ressource. À ce moment-là, une copie privée est créée. Cela évite que le changement soit visible ailleurs. Ceci se produit de manière transparente pour les appelants. L'avantage principal est que si un appelant ne fait jamais de modifications, la copie privée n'est jamais créée.
 

Redondance des métadonnées : Tous les enregistrements de métadonnées sont stockés au minimum en deux copies, quelle que soit la configuration de la matrice utilisée, ce qui entraîne à nouveau une surcharge d'espace disque par rapport à un RAID standard formaté sur un système de fichiers sans copie en écriture (comme NTFS).
 

Somme de contrôle (Checksum) des métadonnées : ZFS utilise la somme de contrôle de toutes les métadonnées par défaut, ce qui permet de détecter une corruption de données et de réparer automatiquement les métadonnées, si possible. Avec la somme de contrôle et la redondance des métadonnées, même dans les configurations non redondantes (comme le Raid 0), vous obtenez un certain niveau de protection.


 
Compression : Étant donné que le système de fichiers ZFS produit de manière intensive des enregistrements de métadonnées en raison à la fois des spécificités de la copie sur écriture et de la redondance obligatoire des métadonnées, il est également confronté à un problème de surcharge d'espace disque, qui est partiellement résolu en utilisant la compression intégrée. Quoi qu'il en soit, les baies de disques ZFS ont beaucoup plus d'espace disque que les RAID classiques.

Taille de bloc
: Alors que les RAID traditionnels fonctionnent avec une taille de bloc définie au moment de la création du RAID, les matrices RAIDz utilisent une technique de segmentation avec une taille de bloc arbitraire qui est spécifiée pour chaque ligne de blocs de données indépendamment. Plus que cela, la technique du striping (distribution) est utilisée même pour les matrices miroir qui ne sont traditionnellement pas distribuées.


Schéma de placement de bloc de données : Il n'y a pas de modèles de placement de blocs de données et de parité spécifiques dans les RAID ZFS, pas de disposition gauche et droite, pas de matrices synchrones ou synchrones comme dans les RAID5 ou RAID6 typiques. L'algorithme ZFS fonctionne au niveau de la ligne en choisissant un modèle de placement de bloc en fonction des blocs libres dans le système et de la taille des données à écrire dans une ligne particulière.
 (Gras) Colonnes : Dans les RAID traditionnels les blocs de données sont placés selon un modèle spécifique. Le nombre de colonnes étant l'un des paramètres principaux du Raid. Alors que les RAID basés sur ZFS utilisent un nombre arbitraire de colonnes, qui est défini indépendamment pour chaque ligne de données.

Raid Z imbriqués

L'environnement ZFS permet de créer presque toutes les combinaisons possibles de RAID dont beaucoup ne peuvent pas être obtenues dans une variété RAID traditionnelle. Par exemple, vous pouvez créer des miroirs à 10 voies, des RAID à triple parité ou plusieurs RAIDZ2, qui se combinent ensuite en une matrice de bandes ou de miroirs.

Complexité du Raid Z

Le principal inconvénient des configurations RAID Z est leur complexité insensée. Alors qu'avec un RAID traditionnel, vous avez une certaine configuration avec des paramètres spécifiques qui sont les mêmes pour l'ensemble de disques, avec RAID Z vous traitez une configuration spécifique, littéralement pour chaque ligne de données. Tout cela rend la récupération ZFS extrêmement complexe.

Récupération de données du Raid Z

La récupération de données du Raid Z avec le système de fichiers ZFS est extrêmement délicate et complexe. Car la réussite de la récupération de données du Raid Z repose essentiellement sur l'intégrité des Métadonnées. La compression des données anéantit tout espoir de récupération de données en vrac du Raid Z.

Share by: