Le RAID 6, comme le RAID 5, a également été développé dans les années 1980. Une matrice RAID 6 construite avec un contrôleur matériel est souvent utilisée comme un bon compromis entre la redondance et la vitesse. Une matrice RAID 6 nécessite au moins quatre disques et offre des vitesses de lecture accrues avec un impact minimal sur les performances d'écriture. Ce niveau RAID peut tolérer deux défaillances de disque.
Le RAID 6 est similaire au RAID 5 dans la mesure où les deux matrices utilisent la parité et les bandes (striping) des données. La différence est que le RAID 5 a une instance de parité, alors que le RAID 6 a deux bandes de parité. Cela permet à une matrice RAID 6 de résister à deux pannes de disque au lieu d'une seule. Dans la plupart des configurations RAID 6, les données contenues dans la première bande de parité sont un XOR des données des autres bandes, la deuxième bande de parité étant généralement un algorithme propriétaire.
Les matrices RAID 6 devront consacrer deux disques de données à la parité. Cela signifie qu'une matrice RAID 6 est toujours moins chère à mettre en œuvre qu'une matrice RAID 10 de même taille, car seuls deux disques sont alloués à la parité. Le RAID 6 permet également une plus grande flexibilité et des volumes plus importants que le RAID 1.
Dans l'exemple ci-dessus, nous avons une matrice RAID 6 à cinq disques, comme celle que l'on trouve dans un serveur Dell PowerEdge. Le premier bloc de parité (Parité 1) situé sur le disque 4 pour la première bande est le XOR des données des blocs nommés Données 1 (Disque 1), Données 2 (Disque 2) et Données 3 (Disque 3).
Le deuxième bloc de parité (Parité 2), situé sur le Données 5 pour la première bande, est une combinaison des données des blocs Données 1, Données 2, Données 3 et peut inclure la Parité 1 en fonction du fabricant et du contrôleur. Ces calculs de parité sont répétés sur toutes les bandes de données en utilisant différentes combinaisons de lecteurs.
La parité est une fonction mathématique qui offre une protection supplémentaire car elle permet de reconstruire les données perdues. La présence d'un bloc de parité dans chaque bande de données permet au système de se reconstruire en cas de défaillance ou de mise hors ligne d'un ou de plusieurs disques. Le contrôleur RAID ou le logiciel RAID peut virtuellement reconstruire tout segment de données manquant en utilisant la parité.
Dans l'exemple ci-dessous, nous voyons que le disque 2 est tombé en panne :
En cas de perte d'un disque, la matrice passe en mode dégradé. En mode dégradé, le contrôleur RAID combine les bandes de données avec la parité si nécessaire pour présenter des données correctes au système d'exploitation. Dans notre exemple, le contrôleur combinera les Données 1, les Données 3 et la Parité 1 pour la première bande afin de remplacer les données manquantes des Données 2. Dans la deuxième bande, les Données 4, 6 et la Parité 1 sont utilisées pour remplacer les Données 5. Dans les troisième et quatrième bandes, aucune parité n'est nécessaire puisque tous les disques de données sont présents.
Avec deux blocs de parité par bande, le RAID 6 permet à deux disques de tomber en panne. Dans l'exemple ci-dessous, nous voyons que les Disques 2 et 4 sont tombés en panne :
En cas de perte de deux disques, le contrôleur utilise les bandes de données combinées aux blocs de Parité 1 et 2 pour recréer les données manquantes. Dans notre exemple, le contrôleur combinera les Données 1, les Données 3 et la Parité 2 pour la première bande afin de remplacer les données manquantes dans les Données 2. Dans la deuxième bande, les Données 4, 6 et la Parité 1 sont utilisées pour remplacer les Données 5. Dans la troisième bande, les Données 7, les Données 9 et la Parité 2 sont utilisées pour remplacer les Données 8.
Un disque de secours (Hot Spare, en anglais) est un ou plusieurs disques supplémentaires qui peuvent être ajoutés à une matrice RAID 6 pour permettre une récupération rapide en cas de défaillance d'un disque. Dans l'exemple ci-dessus, nous voyons une matrice RAID 6 saine à laquelle a été ajouté un seul disque de secours. Notez que le disque de secours ne contient aucune donnée jusqu'à ce qu'une panne survienne et que le disque soit nécessaire.
Si le système dispose d'un disque de secours, en cas de panne, le contrôleur commencera automatiquement à reconstruire les données manquantes du disque défaillant sur le disque de secours.
Plusieurs raisons peuvent expliquer la défaillance d'une matrice RAID 6. Voici quelques-unes des principales causes que nous voyons chez Ontrack :
La récupération des données à partir d’une matrice RAID 6 est possible. Bien qu’elle puisse s’avérer complexe et plus exigeante qu’avec d’autres configurations, elle aboutit généralement à un résultat positif. La principale difficulté réside souvent dans l’algorithme propriétaire utilisé pour générer le second bloc de parité : chaque fabricant l’implémente différemment, ce qui nécessite souvent un développement spécifique pour concevoir et ajuster les outils adaptés.
Les causes de perte de données sont multiples, et l’effort de récupération varie selon chacune d’elles. Voici quelques exemples :
Comme pour une matrice RAID 5, si un disque tombe en panne dans une matrice, la parité peut être utilisée pour reconstruire les données manquantes. Dans ce scénario, Ontrack est généralement en mesure de récupérer 100 % des données. Dès réception d'une matrice non fonctionnelle, tous les disques de la matrice sont imagés dans la salle blanche (y compris le disque défectueux si possible). La matrice est ensuite virtuellement reconstruite à l'aide de ces images. Une fois le RAID assemblé, le système de fichiers ou le volume est analysé à la recherche de corruption, réparé virtuellement et les données sont extraites. Le disque défaillant n'est souvent pas nécessaire car les bandes de données manquantes peuvent être reconstruites à partir de la parité.
Contrairement à une matrice RAID 5, qui tolère la panne d’un seul disque, la matrice RAID 6 est conçue pour supporter la défaillance de deux disques simultanément sans perte de données. Le processus de récupération, même en cas de plusieurs disques défectueux, reste similaire à celui d’une panne unique.
Dès réception d’une matrice hors service, tous les disques — y compris ceux endommagés — sont clonés en salle blanche. Si les données présentes sur les disques sont intactes, il est parfois possible de restaurer la matrice sans utiliser les disques défectueux. La reconstruction s’effectue ensuite virtuellement à partir de ces images.
Dans l'exemple ci-dessus, les Données 1, 3 et la Parité 2 de la bande 1 sont utilisées pour reconstruire les Données 2. Les Données 4, la Parité 1 et les Données 6 sont utilisées pour reconstruire les Données 5 de la deuxième bande. Les Données 7, la Parité 2 et les Données 9 sont utilisées pour reconstruire les Données 8 de la troisième bande.
Une fois que la matrice RAID est virtuellement réassemblée, le système de fichiers ou le volume est analysé à la recherche d'une corruption. Outre la corruption du système de fichiers, les ingénieurs recherchent également des données incohérentes ou périmées. Cela se produit lorsqu'il y a un intervalle de temps entre les pannes de disque et que l'un des disques est dégradé. Les ingénieurs en récupération de données doivent avoir l'expérience nécessaire pour reconnaître ce type de dommage afin de pouvoir réparer virtuellement le volume et extraire les bonnes données de fichier.
Il est possible d'obtenir une récupération complète à partir d'une matrice RAID 6 même s'il y a plus de deux disques défectueux.
Dans l'exemple ci-dessus, nous avons une matrice RAID 6 dont les cinq disques sont endommagés à certains endroits. S'il n'y a pas plus de deux blocs défectueux par bande, il est possible de reconstruire les données manquantes. Ontrack va imager la plus grande partie possible de chaque disque.
La matrice est ensuite virtuellement reconstruite à l'aide de ces images. Dans l'exemple ci-dessus, les Données 1, 3 et la Parité 2 de la bande 1 sont utilisées pour reconstruire les Données 2. Aucune parité n'est nécessaire pour la bande 2 car les Données 4, 5 et 6 sont toutes intactes. Les Données 7, la Parité 2 et les Données 8 sont utilisées pour reconstruire les Données 9 de la troisième bande.
Une fois la matrice RAID virtuellement réassemblée, le système de fichiers ou le volume est analysé pour détecter toute corruption. Les données récupérables sont extraites de la matrice virtuellement reconstruite sur de nouveaux supports pour être remises en production.