Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cet article explique les options de résilience disponibles et décrit les exigences de mise à l’échelle, l’efficacité du stockage et les avantages généraux et les compromis de chacun d’eux.
Overview
Les espaces de stockage direct offrent une tolérance de panne, souvent appelée « résilience », pour vos données. Son implémentation est similaire à RAID, sauf distribuée entre les serveurs et implémentée dans les logiciels.
Comme avec RAID, il existe plusieurs façons pour les Espaces de stockage de réaliser cela, ce qui implique différents compromis entre tolérance aux pannes, efficacité du stockage et complexité du calcul. Elles appartiennent généralement à une des deux catégories suivantes : « mise en miroir » et « parité » (parfois appelée « codage d’effacement »).
Mirroring
La mise en miroir offre une tolérance de panne en conservant plusieurs copies de toutes les données. Cela ressemble le plus étroitement à RAID-1. La façon dont ces données sont rayées et placées n’est pas triviale (consultez ce blog pour en savoir plus), mais il est absolument vrai de dire que toutes les données stockées à l’aide de la mise en miroir sont écrites, dans son intégralité, plusieurs fois. Chaque copie est écrite dans un matériel physique différent (lecteurs différents dans différents serveurs) qui sont supposés échouer indépendamment.
Vous pouvez choisir entre deux types de mise en miroir : « bidirectionnelle » et « tridirectionnelle ».
Miroir bidirectionnel
La mise en miroir bidirectionnelle écrit deux copies de tout. Son efficacité de stockage est de 50 % : pour écrire 1 To de données, vous avez besoin d’au moins 2 To de capacité de stockage physique. De même, vous avez besoin d’au moins deux « domaines d’erreur » matériels – avec Storage Spaces Direct, cela signifie deux serveurs.
Warning
Si vous avez plus de deux serveurs, nous vous recommandons d’utiliser la mise en miroir tridirectionnel à la place.
Miroir tridirectionnel
La mise en miroir tridirectionnelle écrit trois copies de tout. Son efficacité de stockage est de 33,3 % pour écrire 1 To de données, vous avez besoin d’au moins 3 To de capacité de stockage physique. De même, vous avez besoin d’au moins trois domaines de défaillance matériel : avec Espaces de Stockage Direct, cela signifie trois serveurs.
La mise en miroir tridirectionnelle peut tolérer sans problème au moins deux problèmes matériels (lecteur ou serveur) à la fois. Par exemple, si vous redémarrez un serveur quand un autre lecteur ou serveur échoue soudainement, toutes les données restent sécurisées et accessibles en permanence.
Parity
L’encodage de parité, souvent appelé « codage d’effacement », fournit une tolérance de panne à l’aide de l’arithmétique au niveau du bit, ce qui peut être remarquablement compliqué. La façon dont cela fonctionne est moins évidente que la mise en miroir, et il existe de nombreuses ressources en ligne intéressantes (par exemple, ce Guide tiers pour les Nuls sur le codage d’effacement) qui peuvent vous aider à comprendre le concept. Il suffit de dire qu'il offre une meilleure efficacité du stockage sans compromettre la tolérance de panne.
Les espaces de stockage offrent deux saveurs de parité : la parité « unique » et la parité « double », ce dernier utilisant une technique avancée appelée « codes de reconstruction locale » à plus grande échelle.
Important
Nous vous recommandons d’utiliser la mise en miroir pour la plupart des charges de travail sensibles aux performances. Pour en savoir plus sur la façon d’équilibrer les performances et la capacité en fonction de votre charge de travail, consultez Planifier les volumes.
Parité unique
La parité unique ne conserve qu’un seul symbole de parité sous forme binaire, ce qui offre une capacité de tolérance aux pannes pour une seule défaillance à la fois. Il ressemble le plus étroitement à RAID-5. Pour utiliser une simple parité, vous avez besoin d’au moins trois domaines de défaillance matériel – avec Storage Spaces Direct, ce qui signifie trois serveurs. Étant donné que la mise en miroir tridirectionnelle offre une tolérance de panne plus grande à la même échelle, nous vous déconseillons d’utiliser une parité simple. Mais c'est disponible si vous insistez pour l'utiliser, et il est entièrement pris en charge.
Warning
Nous déconseillons d’utiliser une parité unique, car elle ne peut tolérer qu’une défaillance matérielle à la fois : si vous redémarrez un serveur quand un autre lecteur ou serveur échoue soudainement, vous rencontrerez un temps d’arrêt. Si vous n’avez que trois serveurs, nous vous recommandons d’utiliser la mise en miroir tridirectionnel. Si vous avez quatre ou plus, consultez la section suivante.
Parité double
La parité double implémente les codes de correction d'erreurs Reed-Solomon pour conserver deux symboles de parité au niveau du bit, fournissant ainsi la même tolérance de panne que la mise en miroir tridirectionnelle, pouvant tolérer jusqu’à deux défaillances simultanées, mais avec une meilleure efficacité de stockage. Il ressemble le plus étroitement à RAID-6. Pour utiliser la parité double, vous avez besoin d’au moins quatre domaines de défaillance matérielle – avec Storage Spaces Direct, cela signifie quatre serveurs. À cette échelle, l’efficacité du stockage est de 50% : pour stocker 2 To de données, vous avez besoin de 4 To de capacité de stockage physique.
L'efficacité du stockage par double parité augmente avec le nombre de domaines de panne matériel dont vous disposez, passant de 50 % à 80 %. Par exemple, à sept (avec espaces de stockage direct, cela signifie sept serveurs), l’efficacité passe à 66,7 % pour stocker 4 To de données, vous avez besoin de seulement 6 To de capacité de stockage physique.
Consultez la section Résumé pour connaître l’efficacité des codes de reconstruction à deux parties et locales à chaque échelle.
Codes de reconstruction locaux
Les espaces de stockage introduisent une technique avancée développée par Microsoft Research, appelée « codes de reconstruction locale », ou LRC. À grande échelle, la parité double utilise LRC pour fractionner son encodage/décodage en quelques groupes plus petits afin de réduire la surcharge nécessaire pour effectuer des écritures ou récupérer après des défaillances.
Avec les disques durs (HDD), la taille du groupe est de quatre symboles ; avec des disques SSD (SSD), la taille du groupe est de six symboles. Par exemple, voici à quoi ressemble la disposition avec les lecteurs de disque dur et 12 domaines d’erreur matériel (c’est-à-dire 12 serveurs) : il existe deux groupes de quatre symboles de données. Elle atteint une efficacité de stockage de 72,7 %.
Nous vous recommandons d’utiliser cette procédure pas à pas approfondie et particulièrement lisible de la façon dont les codes de reconstruction locaux gèrent différents scénarios d’échec, et pourquoi ils sont attrayants, par Claus Joergensen.
Parité avec accélération par miroir
Un volume Storage Spaces Direct peut être à la fois en partie miroir et en partie parité. Les écritures arrivent d’abord dans la partie mise en miroir et sont progressivement déplacés dans la partie parité plus tard. En fait, ceci utilise la mise en miroir pour accélérer le codage d’effacement.
Pour combiner un miroir triple et une parité double, vous avez besoin d’au moins quatre domaines d’erreur, ce qui signifie quatre serveurs.
L’efficacité de stockage de la parité accélérée par miroir est comprise entre ce que vous obtiendriez à l’aide de tous les miroirs ou de toutes les parités, et dépend des proportions que vous choisissez.
Important
Nous vous recommandons d’utiliser la mise en miroir pour la plupart des charges de travail sensibles aux performances. Pour en savoir plus sur la façon d’équilibrer les performances et la capacité en fonction de votre charge de travail, consultez Planifier les volumes.
Summary
Cette section récapitule les types de résilience disponibles dans les espaces de stockage direct, les exigences minimales d’échelle pour utiliser chaque type, le nombre d’échecs que chaque type peut tolérer et l’efficacité de stockage correspondante.
Types de résilience
| Resiliency | Tolérance aux défaillances | Efficacité du stockage |
|---|---|---|
| Miroir bidirectionnel | 1 | 50.0% |
| Miroir tridirectionnel | 2 | 33.3% |
| Parité double | 2 | 50,0 % - 80,0 % |
| Mixed | 2 | 33,3 % - 80,0 % |
Exigences minimales pour la mise à l'échelle
| Resiliency | Nombre minimal de domaines d’erreur requis |
|---|---|
| Miroir bidirectionnel | 2 |
| Miroir tridirectionnel | 3 |
| Parité double | 4 |
| Mixed | 4 |
Tip
Sauf si vous utilisez une tolérance de panne de châssis ou de rack, le nombre de domaines de panne fait référence au nombre de serveurs. Le nombre de lecteurs de chaque serveur n’affecte pas les types de résilience que vous pouvez utiliser, tant que vous respectez la configuration minimale requise pour les espaces de stockage direct.
Efficacité de parité double pour les déploiements hybrides
Ce tableau montre l'efficacité du stockage de la parité double et des codes de reconstruction locale à chaque échelle pour les déploiements hybrides, qui contiennent à la fois des disques durs (HDD) et des disques à semi-conducteurs (SSD).
| Domaines d’erreur | Layout | Efficiency |
|---|---|---|
| 2 | – | – |
| 3 | – | – |
| 4 | RS 2+2 | 50.0% |
| 5 | RS 2+2 | 50.0% |
| 6 | RS 2+2 | 50.0% |
| 7 | RS 4+2 | 66.7% |
| 8 | RS 4+2 | 66.7% |
| 9 | RS 4+2 | 66.7% |
| 10 | RS 4+2 | 66.7% |
| 11 | RS 4+2 | 66.7% |
| 12 | LRC (8, 2, 1) | 72.7% |
| 13 | LRC (8, 2, 1) | 72.7% |
| 14 | LRC (8, 2, 1) | 72.7% |
| 15 | LRC (8, 2, 1) | 72.7% |
| 16 | LRC (8, 2, 1) | 72.7% |
Efficacité de la parité double pour les déploiements 100 % flash
Ce tableau montre l’efficacité du stockage de la parité double et des codes de reconstruction locaux à chaque échelle pour les déploiements 100 % flash, qui contiennent seulement des disques SSD. La disposition de parité peut utiliser des tailles de groupe plus grandes et améliorer l’efficacité du stockage dans une configuration flash entière.
| Domaines d’erreur | Layout | Efficiency |
|---|---|---|
| 2 | – | – |
| 3 | – | – |
| 4 | RS 2+2 | 50.0% |
| 5 | RS 2+2 | 50.0% |
| 6 | RS 2+2 | 50.0% |
| 7 | RS 4+2 | 66.7% |
| 8 | RS 4+2 | 66.7% |
| 9 | RS 6+2 | 75.0% |
| 10 | RS 6+2 | 75.0% |
| 11 | RS 6+2 | 75.0% |
| 12 | RS 6+2 | 75.0% |
| 13 | RS 6+2 | 75.0% |
| 14 | RS 6+2 | 75.0% |
| 15 | RS 6+2 | 75.0% |
| 16 | LRC (12, 2, 1) | 80.0% |
Examples
À moins que vous n’ayez que deux serveurs, nous vous recommandons d’utiliser la mise en miroir tridirectionnelle et/ou la parité double, car ils offrent une meilleure tolérance de panne. Plus précisément, ils garantissent que toutes les données restent sécurisées et accessibles en permanence même quand deux domaines d’erreur ( avec des espaces de stockage direct, ce qui signifie que deux serveurs ) sont affectés par des défaillances simultanées.
Exemples où tout reste en ligne
Ces six exemples montrent ce que la mise en miroir tridirectionnel et/ou double parité peut tolérer.
- 1. Un lecteur perdu (inclut des lecteurs de cache)
- 2. Un serveur a perdu
- 3. Un serveur et un lecteur perdus
- 4. Deux lecteurs perdus dans différents serveurs
- 5. Plus de deux lecteurs perdus, tant qu’au plus deux serveurs sont affectés
- 6. Deux serveurs ont perdu
... dans tous les cas, tous les volumes restent en ligne. Assurez-vous que votre cluster maintient le quorum.
Exemples où tout est hors connexion
Au cours de leur durée de vie, les espaces de stockage peuvent tolérer un nombre quelconque de défaillances, car ils se restaurent avec une résilience complète après chacune des défaillances, à condition de disposer d’un temps suffisant. Toutefois, au plus deux domaines d’erreur peuvent être affectés en toute sécurité par des défaillances à un moment donné. Voici des exemples de ce que la mise en miroir tridirectionnel et/ou la parité double ne peuvent pas tolérer.
- 7. Lecteurs perdus en trois ou plusieurs serveurs à la fois
- 8. Trois serveurs ou plus perdus à la fois
Usage
Consultez Créer des volumes.
Étapes suivantes
Pour en savoir plus sur les sujets mentionnés dans cet article, consultez les rubriques suivantes :