Le codage d'effacement (EC) est l'une des méthodes les plus connues pour la protection des données, notamment en raison de son efficacité, puisqu'une plus grande partie du disque est disponible pour les données par rapport aux stratégies RAID et de mise en miroir.
Qu'est-ce que l'erasure coding et comment se compare-t-il aux systèmes de protection des données RAID et de mise en miroir ? Quels sont les avantages et les inconvénients de l'erasure coding par rapport à d'autres méthodes de protection des données, telles que les bandes RAID et la mise en miroir ? Cet article de blog répondra à ces questions et expliquera comment Qumulo exploite l'erasure coding dans ses instances de stockage sur site pour maximiser les performances et l'efficacité tout en protégeant contre les défaillances matérielles.
Qu'est-ce que le codage par effacement ?
Le codage par effacement est une méthode de protection des données de stockage qui s'appuie sur des mathématiques avancées pour permettre à un système de stockage de régénérer les blocs de données perdus en comparant les blocs de données survivants avec les blocs de parité qui les accompagnent. n.
Codage par effacement ou RAID : avantages et inconvénients
Pour expliquer en quoi le codage par effacement est supérieur aux autres méthodes de protection des données, il est utile de comprendre les différentes formes de protection des données existantes, ainsi que leurs avantages et leurs inconvénients.
Réseau redondant de disques peu coûteux (RAID)
Le RAID existe depuis longtemps. La configuration de protection des données la plus élémentaire est le RAID1, également appelé mise en miroir. Comme son nom l'indique, la mise en miroir consiste à écrire toutes les données simultanément sur deux disques (ou plus), ce qui permet d'obtenir deux copies identiques.
Si l'un des disques d'une configuration RAID1 en miroir tombe en panne, les données perdues peuvent être récupérées à partir de l'"image miroir", puisque chaque copie réside sur son propre disque indépendant. La mise en miroir est simple à mettre en œuvre, mais elle présente certains inconvénients. Comme elle nécessite au moins une copie redondante de l'ensemble des données, elle représente un gaspillage en termes d'espace requis pour la protection des données. En outre, la mise en miroir ne peut gérer qu'une seule défaillance de disque à la fois, ce qui n'est généralement pas une protection suffisante pour la plupart des scénarios de défaillance, en particulier lorsque la taille des grappes augmente.
Outre l'option de mise en miroir du RAID1, le standard RAID offre d'autres configurations permettant d'optimiser les performances, la protection ou les deux. Les options incluent le RAID5, dans lequel un groupe de disques durs (généralement entre 5 et 10) sont liés ensemble dans une seule matrice, avec un disque dans l'ensemble utilisé pour les données de parité. Une autre approche, appelée RAID6, utilise la même approche de base, mais consacre deux disques distincts de l'ensemble au stockage des données de parité. Une autre configuration, RAID10, met en miroir l'ensemble des disques sur un ensemble de disques identiques.
Chacune de ces options s'accompagne de ses propres compromis. RAID5 et RAID6 offrent tous deux d'excellentes performances en lecture, mais les performances en écriture sont plus lentes car chaque opération d'écriture nécessite le calcul d'un ou deux blocs de parité. En outre, ces configurations RAID plus avancées peuvent devenir extrêmement complexes et difficiles à gérer et à entretenir. Enfin, en cas de défaillance d'un composant, les temps de reconstruction avec le RAID peuvent être excessivement lents, ce qui affecte considérablement les performances pour les utilisateurs.
Codage par effacement
La pile de stockage sur site de Qumulo comprend le logiciel Qumulo Magasin de blocs évolutif (SBS) qui est la couche de base permettant une protection efficace des données par bloc en utilisant le codage par effacement plutôt que le RAID.
Contrairement au striping ou au mirroring RAID, l'erasure coding fournit une protection évolutive pour le stockage de données massives. Le codage par effacement offre de meilleures performances, une plus grande flexibilité et une plus grande efficacité, permettant une croissance illimitée tout en maintenant une protection totale des données et une réactivité dans un cluster Qumulo sur site.
L'algorithme de codage par effacement de Qumulo est basé sur Reed-Solomon des principes de correction d'erreurs, maximisant la performance et l'efficacité en utilisant les meilleures pratiques établies. En outre, le système Qumulo Protection adaptative des données signifie que le cadre de codage par effacement de votre cluster Qumulo peut s'ajuster pour une plus grande efficacité au fur et à mesure de la croissance de votre cluster.
Le codage par effacement expliqué (exemples)
Le codage par effacement est plus facile à comprendre avec des exemples. Voici un exemple de notre algorithme de codage 3,2 :
Dans un codage 3,2, trois blocs (m = 3) sont répartis sur trois dispositifs physiques distincts. Les blocs 1 et 2 contiennent les données de l'utilisateur que nous voulons protéger (n = 2), et le troisième bloc contient les données de parité. Le contenu du bloc de parité est calculé à l'aide de l'algorithme de codage par effacement.
Comme chaque bloc est écrit sur un disque distinct, n'importe lequel des trois disques peut tomber en panne et les informations stockées dans les blocs 1 et 2 sont toujours en sécurité car elles peuvent être recréées à partir du bloc de parité.
Comment fonctionne le codage par effacement
Voici comment cela fonctionne. Si le bloc de données 1 est disponible, le système le lit simplement. Il en va de même pour le bloc de données 2. Toutefois, si le bloc de données 1 est manquant, le système de codage par effacement lit le bloc de données 2, plus le bloc de parité, et reconstruit la valeur du bloc de données 1.
De même, si le bloc de données 2 se trouve sur le disque défaillant, le système lit le bloc de données 1 et le bloc de parité. SBS s'assure toujours que les blocs se trouvent sur des broches différentes afin que le système puisse lire les blocs simultanément.
Un codage 3,2 a une efficacité de 2 / 3 (n/m), soit 67%. Bien qu'il soit meilleur que l'efficacité de 50 % de la mise en miroir, le codage 3,2 ne peut encore protéger que contre une seule défaillance de disque.
Le codage par effacement assure une protection configurable des données
Le codage par effacement peut être configuré pour optimiser les performances, le temps de récupération en cas de défaillance du support ou la résilience (jusqu'à quatre disques défaillants ou quatre nœuds défaillants à la fois). En général, l'augmentation de la protection se fait au détriment de la capacité utilisable.
Au minimum, Qumulo utilise l'encodage 6,4, qui stocke un tiers de données utilisateur en plus dans la même quantité d'espace que l'écriture miroir, et a la capacité de tolérer deux pannes de disque au lieu d'une seule, comme le font l'écriture miroir ou le 3,2. Dans une configuration 6,4, même si deux blocs contenant des données utilisateur sont indisponibles, le système n'a qu'à lire les deux blocs de données restants et les deux blocs de parité pour récupérer les données manquantes.
Qu'est-ce que cela signifie ?
Travaillant au niveau du bloc plutôt qu'au niveau du fichier comme les autres plateformes de fichiers, l'utilisation unique du codage par effacement de Qumulo permet non seulement de protéger efficacement les données sans avoir à créer une copie 1:1 de l'ensemble du volume de données, mais elle signifie également que la taille des fichiers n'a pas d'impact sur les temps d'encodage et de récupération. Que les fichiers soient de taille gigantesque ou minuscule, les performances d'encodage et de récupération ne sont pas seulement rapides, elles sont aussi fiables.
D'autres systèmes peuvent prendre des heures ou des jours, voire plus, pour se remettre d'un événement en fonction de la taille des fichiers stockés sur le cluster. Qumulo récupère rapidement et de manière fiable sans impact sur les performances, quel que soit le mélange de données de fichiers stockées. Cela permet également aux clients de Qumulo d'exploiter sans risque les disques les plus grands et les plus économiques du marché.
Protection des données sur les instances cloud-natives de Qumulo !
Le Scalable Block Store gère le codage par effacement sur les clusters Qumulo physiques (sur site) uniquement. Les instances Qumulo natives dans le nuage, telles que Azure Native Qumulo (ANQ), sont construits sur les propres services de données persistantes du fournisseur de cloud, par exemple Azure Blob Storage.
Note de l'éditeur : initialement publié le 3 novembre 2021, ce billet a depuis été mis à jour pour en assurer l'exactitude et l'exhaustivité.