Vous êtes sur la page 1sur 4

L'erasure coding plus efficace que le RAID pour la

redondance du stockage
lemondeinformatique.fr/actualites/lire-l-erasure-coding-plus-efficace-que-le-raid-pour-la-redondance-du-stockage-
91350.html

Serge Leblal, Serge Leblal 10 janvier 2030

Une technologie de correction d'erreur directe (FEC) utilisée de diverses manières depuis
des décennies s'impose aujourd'hui sur les systèmes de stockage haute capacité. Il s'agit
de l'erasure coding qui répond efficacement aux limites du RAID, notamment dans le
cloud.

L’algorithme d’erasure coding le plus courant exploite une formule


mathématique avancée, Reed-Salomon, utilisée pour permettre la
régénération des données manquantes à partir de morceaux de données
connues, appelés blocs de parité.

Le RAID n’a jamais été conçu pour protéger les données sur des lecteurs (disques durs
ou SSD) de plusieurs dizaines de téraoctets, car il a été inventé avant même que les
disques durs de 1 Go ne soient disponibles. L’idée de base était de répartir les données
sur des disques durs plus petits afin qu’une seule panne n’entraîne pas nécessairement
une perte de données. La protection des données est devenue plus complexe avec les
lecteurs haute densité actuels. Les baies de stockage sont aujourd'hui livrées avec des
disques durs accueillant jusqu'à 28 To (HDD) et des cartes flash de 72 To (chez Pure
Storage par exemple). De plus, le coût de cette capacité de stockage est devenu
incroyablement abordable : un SSD 4 To NVMe coûte environ 200 euros HT et un disque
dur 14 To SATA se négocie à environ 220 euros HT.

Un tel rapport coût/capacité offert par ces lecteurs haute densité permet de stocker
d’énormes quantités de données à un prix beaucoup plus attractif qu’auparavant. Alors,
quel est le problème avec la conservation d’une grande quantité de données – plusieurs

1/4
pétaoctets et au-delà – sur ces lecteurs à haute densité ? Avec la trentaine de To actuels
(disques durs et SSD), le RAID présente une vulnérabilité importante à la perte de
données, car le processus de reconstruction est long, une journée ou plus dans certaines
implémentations. Il se prolonge encore davantage si la tâche est définie avec une faible
priorité afin de préserver les performances d’E/S normales.

La course au To handicape le RAID


Qui plus est, il n’est pas déraisonnable de penser que ce que ces délais de
reconstruction s’étendent sur plusieurs semaines à mesure que la densité des lecteurs
augmente : 64 To annoncés chez Phison pour les SSD et 50 To pour les disques durs
chez Seagate, également en 2025. À mesure que le nombre de ces lecteurs
augmente, la reconstruction RAID est permanente, si on se base des taux de défaillance
annuels (AFR ou Annual Failure Rate) pour les disques durs de l’ordre de 1,45 % selon
les chiffres remontés par Backblaze. Il est moins élevé pour les SSD (0,98% seulement)
toujours selon Backblaze.

L’idée d’ajouter un deuxième niveau de protection au RAID-5 sous la forme de ce que


l’on appelle communément RAID-6 est née pour protéger les données contre deux
pannes simultanées de lecteurs plutôt que contre une seule panne de disque dur ou de
SSD. Une réponse à des densités de lecteurs atteignant des dizaines de To. La panne
d’un deuxième lecteur (dans un groupe RAID-5) ou d’un troisième (dans un groupe RAID-
6) devient plus probable lorsqu’on multiplie les unités de stockage, en particulier lors de
longues reconstructions. De plus, si le système rencontre une erreur de lecture
irrécupérable (URE) lors durant le processus, il peut perdre des données. La perte de six
lecteurs ou plus, chacun contenant plusieurs téraoctets de données, se révélerait
catastrophique pour certaines entreprises.

Entrer dans l’erasure coding


En revanche, l’erasure coding (code d'effacement) répartit les données dans plusieurs
paquets codés avec des bits d’informations supplémentaires, envoyés à un récepteur,
puis décodées et réassemblées en réception sous la forme des données d’origine.
L’essentiel est que le récepteur puisse réassemble les données même si certains
paquets sont perdus durant la transmission (c’est-à-dire que le récepteur dispose d’un
sous-ensemble des paquets d’origine).

L’idée d’utiliser l’erasure coding pour les supports de stockage est née avec l’avènement
des CD, DVD et Blu-ray, des sources multimédia qui devraient être lisibles même avec
des rayures ou des dommages à la surface d’enregistrement. Les algorithmes les plus
courants pour l’erasure coding dans ces applications reposent sur le code de correction
Reed-Solomon (RS), développé dans les laboratoires Lincoln du MIT dans les années
1960. L’utilisation d’algorithmes d’erasure coding apporte une protection supérieure à la
perte de deux lecteurs tolérés avec le RAID-6. Certaines implémentations résultent
en plusieurs niveaux de protection des données contre les pannes, et quelques-unes
permettent même à l’utilisateur (ou à l’administrateur de stockage) de spécifier le niveau

2/4
de protection désiré sous forme de politique. Par exemple, l’administrateur optera
pour une stratégie de survie des données après 4 pannes sur 16 lecteurs, ou 6 sur 16
lecteurs ou encore 10 sur 30 lecteurs. Il peut même demander à résister à
l'indisponibilité de sites entiers (« survivre à une panne d’un datacenter sur trois »). Cela
élimine un problème clé du RAID traditionnel, à savoir la tolérance à plus de deux
pannes.

Découper les fichiers


La durabilité du stockage peut être obtenue par une combinaison d’erasure coding et de
distribution des données codées. Les données entrantes (fichiers, vidéos ou images par
exemple) sont d’abord décomposées en une série de blocs. Le mécanisme d’erasure
coding leur applique sa transformation et génère un ensemble plus large de blocs de
parité. Il répartit ensuite ces derniers sur plusieurs lecteurs du système de stockage, de
sorte que la perte d’un ou plusieurs blocs de contrôle en raison de pannes de lecteur ou
de composant permet cependant toujours de récupérer et de décoder avec succès les
blocs de données d’origine, et ainsi de reconstituer les données.

Plusieurs systèmes de stockage (Hadoop, Raid-6 sous Linux, Microsoft Azure, Facebook
cold storage, et Backblaze Vaults) sont aujourd’hui commercialisés avec des techniques
traditionnelles d’erasure coding, et certaines variantes plus récentes telles que le code
Tornado, du projet Mojette Transform du laboratoire IVC de l'IRCCyN à Nantes porté
dans le passé par Rozo Systems ou encore celui de Memoscale, que Per Simonsen a
commencé à développer lors de ses études à NTNU (Norwegian University of Science
and Technology. Chacun présente des avantages en matière de protection des données
contre les pannes multiples de composants, les erreurs de lecture irrécupérables et la
pourriture des bits. Et beaucoup le proposent dans des systèmes qui réparent
automatiquement les données en cas de panne de composants. Certains fournissent des
niveaux extrêmement élevés de durabilité de stockage, du niveau des « 10 neuf ».

Un usage intéressant dans le cloud


Un mécanisme courant dans les environnements de stockage cloud actuels consiste à
conserver plusieurs copies de fichiers (notez la prévalence des offres de services de
stockage de type « trois copies dans le cloud »). Le cloud offre des niveaux élevés de
durabilité du stockage, mais triple toutes les ressources sous-jacentes et les coûts
opérationnels (disques, alimentation, espace de refroidissement et investissements).
Même si cela ne pose pas de problème avec 300 téraoctets, cela peut devenir un facteur
limitant lorsque 100 pétaoctets de capacité utilisable nécessitent 300 pétaoctets de
capacité brute pour assurer la durabilité. Cette surcharge est en effet plus élevée qu’un
ensemble RAID-6 en miroir (200 % de surcharge de stockage pour trois copies contre
150 % de surcharge pour un RAID-6 en miroir).

Grâce aux techniques d’erasure coding, des niveaux élevés de durabilité du stockage
peuvent être obtenus avec une surcharge de stockage relativement faible. Dans une
implémentation, une politique visant à protéger les données contre quatre pannes sur 16

3/4
lecteurs nécessite une surcharge de 60 %. En d’autres termes, chaque pétaoctet de
capacité utilisable nécessiterait 1,6 pétaoctet de capacité brute. Cela peut permettre de
réaliser d’importantes économies sur les coûts opérationnels par rapport aux approches
alternatives. Les systèmes de stockage qui utilisent des codes d’effacement ont donc la
possibilité d’exploiter les lecteurs haute densité pour stocker les données de manière plus
économique et avec une fiabilité et une durabilité de stockage optimales.

Une erreur dans l'article? Proposez-nous une correction

Article rédigé par

Serge Leblal
Directeur des rédactions d'IT News Info

4/4

Vous aimerez peut-être aussi