Pourquoi les niveaux RAID imbriqués 1 + 5 ou 1 + 6 sont-ils presque inconnus? L' article Wikipedia sur les niveaux RAID imbriqués manque actuellement de sections. Je ne comprends pas pourquoi ils ne sont pas plus courants que RAID 1 + 0, surtout par rapport à la mise en miroir triple RAID 1 + 0.
Il est évident que le temps de reconstruction devient de plus en plus problématique car les capacités des disques augmentent plus rapidement que leurs performances ou leur fiabilité. On me dit que RAID 1 se reconstruit plus rapidement et qu'une matrice RAID 0 de paires RAID 1 évite le problème, mais il en irait sûrement de même pour une matrice RAID 5 ou 6 de paires RAID 1. Je m'attendrais au moins à ce qu'ils soient une alternative courante à RAID 1 + 0.
Pour 16 disques de 1 To, voici mes calculs de la probabilité naïve de recourir à la sauvegarde, c'est-à-dire avec l'hypothèse simplificatrice que les disques sont indépendants avec une probabilité paire:
RAID | storage | cumulative probabilities of resorting to backup /m
1+0 | 8TB | 0, 67, 200, 385, 590, 776, 910, 980, 1000, 1000, 1000
1+5 | 7TB | 0, 0, 0, 15, 77, 217, 441, 702, 910, 1000, 1000
1+6 | 6TB | 0, 0, 0, 0, 0, 7, 49, 179, 441, 776, 1000
(m = 0.001, i.e. milli.)
Si cela est correct, il est tout à fait clair que RAID 1 + 6 est exceptionnellement plus fiable que RAID 1 + 0 pour seulement une réduction de 25% de la capacité de stockage. Comme c'est le cas en général, le débit d'écriture théorique (sans compter les temps de recherche) est la capacité de stockage / la taille de la baie × le nombre de disques × le débit d'écriture du disque le plus lent de la baie (les niveaux RAID avec redondance ont une amplification d'écriture plus élevée pour les écritures qui ne remplissez pas une bande mais cela dépend de la taille des morceaux), et le débit de lecture théorique est la somme des débits de lecture des disques de la matrice (sauf que RAID 0, RAID 5 et RAID 6 peuvent toujours être théoriquement limités par les débits de lecture de lecteur les plus lents, le deuxième le plus lent et le troisième le plus lent respectivement). Autrement dit, en supposant des lecteurs identiques, ce serait respectivement 8 ×, 7 ×,
En outre, envisagez un quadruple RAID 0 de triplets RAID 1, c'est-à-dire une triple mise en miroir RAID 1 + 0 de 12 disques, et un sextuple RAID 6 de paires RAID 1, c'est-à-dire RAID 1 + 6 de 12 disques. Encore une fois, ce sont des disques identiques de 1 To. Les deux configurations ont le même nombre de lecteurs (12), la même quantité de capacité de stockage (4 To), la même proportion de redondance (2/3), le même débit d'écriture maximal (4 ×) et le même débit de lecture maximal ( 12 ×). Voici mes calculs (jusqu'à présent):
RAID | cumulative probabilities of resorting to backup /m
1+0 (4×3) | 0, 0, 18, ?, ?, ?, ?, ?, 1000
1+6 (6×2) | 0, 0, 0, 0, 0, 22, 152, 515, 1000
Oui, cela peut sembler exagéré, mais lorsque la triple mise en miroir est utilisée pour séparer un clone pour la sauvegarde, RAID 1 + 6 peut tout aussi bien être utilisé, simplement en gelant et en supprimant 1 de chaque disque de tous sauf 2 du RAID 1 paires, et ce faisant, il a toujours une bien meilleure fiabilité lorsqu'il est dégradé que la matrice RAID 1 + 0 dégradée. Voici mes calculs pour 12 disques dégradés par 4 de cette manière:
RAID | cumulative probabilities of resorting to backup /m
1+0 (4×3) | (0, 0, 0, 0), 0, 143, 429, 771, 1000
1+6 (6×2) | (0, 0, 0, 0), 0, 0, 71, 414, 1000
Cependant, le débit de lecture pourrait être dégradé jusqu'à 6 × pendant cette période pour RAID 1 + 6, tandis que RAID 1 + 0 n'est réduit qu'à 8 ×. Néanmoins, si un disque tombe en panne alors que la matrice est dans cet état dégradé, la matrice RAID 1 + 6 aurait 50 à 50 chances de rester à environ 6 × ou d'être limitée à 5 ×, tandis que la matrice RAID 1 + 0 le serait être limité à un goulot d'étranglement 4 × . Le débit d'écriture ne doit pas être affecté (il peut même augmenter si les lecteurs pris pour la sauvegarde sont les lecteurs les plus lents limitants).
En fait, les deux peuvent être considérés comme une «triple mise en miroir» car la matrice RAID 1 + 6 dégradée est capable de séparer un groupe RAID 6 supplémentaire de 4 disques. En d'autres termes, cette configuration RAID 1 + 6 à 12 disques peut être divisée en 3 baies RAID 6 dégradées (mais fonctionnelles)!
Alors, est-ce juste que la plupart des gens ne sont pas entrés dans les mathématiques en détail? Verrons-nous plus de RAID 1 + 6 à l'avenir?
Réponses:
En général, je dirais que RAID 1 + 0 aura tendance à être plus largement utilisé que 1 + 5 ou 1 + 6 car RAID 1 + 0 est suffisamment fiable et offre des performances légèrement meilleures et un stockage plus utilisable.
Je pense que la plupart des gens considéreraient l'échec d'une paire RAID 1 complète au sein du groupe RAID 1 + 0 comme un événement assez incroyablement rare qui vaut la peine d'éclater les sauvegardes - et ne sont probablement pas trop enthousiastes à l'idée d'obtenir moins de 50% de leur physique disque comme espace utilisable.
Si vous avez besoin d'une meilleure fiabilité que RAID 1 + 0, alors foncez! ..mais la plupart des gens n'en ont probablement pas besoin.
la source
La réponse pratique se situe quelque part à l'intersection des spécifications du contrôleur RAID matériel, de la taille moyenne des disques, des facteurs de forme des disques et de la conception du serveur.
La plupart des contrôleurs RAID matériels sont limités dans les niveaux RAID qu'ils prennent en charge. Voici les options RAID pour un contrôleur HP ProLiant Smart Array:
note: "l'adm" est juste un triple miroir
Les contrôleurs RAID LSI prennent en charge:
0, 1, 5, 6, 10, 50, and 60
Ces contrôleurs sont donc uniquement capables de RAID 50 et 60 en tant que niveaux imbriqués. LSI ( née Dell PERC ) et HP constituent l'essentiel du marché des adaptateurs de stockage pour serveurs d'entreprise. C'est la principale raison pour laquelle vous ne voyez pas quelque chose comme RAID 1 + 6 ou RAID 61 sur le terrain.
Au-delà de cette considération, les niveaux RAID imbriqués au-delà de RAID 10 nécessitent un nombre relativement important de disques. Compte tenu des capacités de disques de plus en plus disponibles aujourd'hui (avec des disques SAS et SATA 3,5 pouces nearline), couplées au fait que de nombreux châssis de serveurs sont conçus autour de cages de disques 8 x 2,5 pouces, il n'y a pas beaucoup d'opportunité de configurer physiquement RAID 1+ 6 ou RAID 61.
Les domaines où vous pouvez voir quelque chose comme RAID 1 + 6 seraient des solutions RAID logicielles de châssis de grande taille. Linux MD RAID ou ZFS en sont définitivement capables. Mais à ce moment-là, la panne du disque peut être atténuée par des disques de secours à chaud ou à froid. La fiabilité du RAID n'est plus vraiment un problème ces jours-ci, à condition d'éviter le niveau de RAID toxique et les combinaisons matérielles (par exemple les disques RAID 5 et 6 To). De plus, les performances de lecture et d'écriture seraient abstraites par des couches de hiérarchisation et de mise en cache. Les charges de travail de stockage moyennes bénéficient généralement de l'une ou de l'autre.
Donc, au final, il semble que le besoin / la demande n'est tout simplement pas là.
la source
Vous avez des rendements décroissants sur la fiabilité. Il est peu probable que RAID 6 aggrave les défaillances, même sur des disques SATA désagréables avec un taux UBER de 1 sur 10 ^ 14. Sur les lecteurs FC / SAS, votre UBER est de 1 sur 10 ^ 16 et vous obtenez également beaucoup plus de performances.
La fiabilité du groupe RAID ne vous protège pas contre une suppression accidentelle. (vous avez donc besoin des sauvegardes de toute façon)
au-delà de certains niveaux de RAID, vos chances de défaillance composée sur les disques deviennent plus faibles que la défaillance composée de l'infrastructure de support (alimentation, réseau, fuite d'air, etc.)
Ecrire une pénalité. Chaque écriture entrante sur votre RAID 61 déclenchera 12 opérations d'E / S (naïvement). RAID 6 est déjà pénible dans les scénarios de «bas niveau» en termes d'E / S par écriture aléatoire TB. (et dans un niveau supérieur, votre taux d'échec est de toute façon 100 fois meilleur)
ce n'est pas une «réduction de 25%», c'est une réduction supplémentaire de 25%. Votre 16 To se transforme en 6 To. Vous obtenez donc 37,5% de stockage utilisable. Vous avez besoin de 3 fois plus de disques par capacité et de 3 fois plus d'espace de centre de données. Vous obtiendriez probablement plus de fiabilité en fabriquant simplement des ensembles RAID6 plus petits. Je n'ai pas fait le calcul, mais essayez - par exemple, les sommes de RAID 6 en ensembles 3x 3 + 2 (15 disques, moins de surcharge de stockage que votre RAID10). Ou faire des miroirs à 3 voies à la place.
Cela dit - il est plus courant que vous ne le pensez de faire de la DR multisite. J'exécute des baies de stockage répliquées où j'ai des groupes RAID RAID5 / 6 / DP asynchrones ou synchrones sur un site DR. (Ne faites pas de synchronisation si vous pouvez l'éviter - ça a l'air bien, c'est en fait horrible).
Avec mes NetApps, c'est un métrocluster avec quelques agrégats en miroir. Avec mes VMAX, nous avons Symmetrix Remote Data Facility (SRDF). Et mes 3PAR effectuent la copie à distance.
C'est cher, mais fournit des niveaux de DR de «centre de données prenant feu».
En ce qui concerne les miroirs triples - je les ai utilisés, mais pas en tant que mesures directes de résilience RAID, mais plutôt en tant que clones complets dans le cadre d'une stratégie de sauvegarde. Synchronisez un troisième miroir, divisez-le, montez-le sur un serveur séparé et sauvegardez-le en utilisant une infrastructure entièrement différente. Et parfois, faites pivoter le troisième miroir comme option de récupération.
Le point que j'essaie de faire est que, dans mon expérience directe en tant qu'administrateur de stockage - dans un parc de ~ 40 000 broches (oui, nous remplaçons des dizaines de disques quotidiennement) - nous avons dû recourir à des sauvegardes pour une variété de raisons au cours des 5 dernières années, mais aucune d’elles n’a été une panne de groupe RAID. Nous discutons des mérites relatifs et du temps de récupération acceptable, du point de récupération et des fenêtres d'interruption. Et le fondement de tout cela est TOUJOURS le coût de la résilience supplémentaire.
Notre gamme prédispose tous les nettoyages et pannes de supports, et épargne et teste agressivement les disques.
Même s'il y avait une implémentation RAID appropriée, le rapport coût-avantages n'est tout simplement pas là. L'argent dépensé sur l'espace de stockage serait mieux investi dans une rétention plus longue ou un cycle de sauvegarde plus fréquent. Ou des communications plus rapides. Ou simplement des broches généralement plus rapides, car même avec des nombres de résilience identiques, une reconstruction plus rapide des pièces de rechange améliore la probabilité de défaillance de votre composé.
Je pense donc que je proposerais donc la réponse à votre question:
Vous ne voyez pas très souvent les RAID 1 + 6 et 1 + 5, car les avantages en termes de coûts ne se cumulent tout simplement pas. Compte tenu d'une somme d'argent limitée et du besoin de mettre en œuvre une solution de sauvegarde en premier lieu, tout ce que vous faites, c'est dépenser de l'argent pour réduire votre fréquence de panne. Il existe de meilleures façons de dépenser cet argent.
la source
Les systèmes modernes et avancés n'implémentent pas de telles formes parce qu'ils sont excessivement compliqués, complètement inutiles et contraires à tout semblant d'efficacité.
Comme d'autres l'ont souligné, le rapport de l'espace brut à l'espace utilisable est essentiellement de 3: 1. Il s'agit essentiellement de trois copies (deux copies redondantes). En raison du coût de calcul de «raid6» (deux fois supérieur, s'il est en miroir) et de la perte d'IOPS qui en résulte, cela est très inefficace. Dans ZFS, qui est très bien conçu et réglé, la solution équivalente, en termes de capacité, serait de créer une bande de miroirs à 3 voies.
Par exemple, au lieu d'un miroir de formes raid6 / raidz2 à 6 voies (12 disques au total), ce qui serait très inefficace (pas non plus quelque chose que ZFS ait un mécanisme à mettre en œuvre), vous auriez 4 miroirs à 3 voies (également 12 disques). Et au lieu de 1 lecteur IOPS, vous auriez 4 disques IOPS. Surtout avec les machines virtuelles, c'est une grande différence. La bande passante totale pour les deux formes peut être très similaire dans les lectures / écritures séquentielles, mais la bande de miroirs à 3 voies serait certainement plus réactive avec la lecture / écriture aléatoire.
Pour résumer: raid1 + 6 est généralement peu pratique, inefficace, et sans surprise, personne de sérieux sur le stockage n'envisagerait de développer.
Pour clarifier la disparité IOPS: Avec un miroir de formes raid6 / raidz2, à chaque écriture, les 12 disques doivent agir comme un seul. Il n'y a aucune possibilité pour la forme totale de diviser l'activité en plusieurs actions que plusieurs formes peuvent effectuer indépendamment. Avec une bande de miroirs à 3 voies, chaque écriture peut être quelque chose que seul un des 4 miroirs doit traiter, de sorte qu'une autre écriture qui arrive n'a pas à attendre que la forme omnibus entière soit traitée avant de regarder d'autres actions .
la source
Puisque personne ne l'a dit assez directement: les performances d'écriture de Raid6 ne sont pas légèrement inférieures. C'est horrible au-delà de toute description s'il est mis sous charge.
L'écriture séquentielle est OK et tant que la mise en cache, la fusion d'écriture, etc. est capable de le couvrir, tout semble correct. Sous une charge élevée, les choses semblent mauvaises et c'est la principale raison pour laquelle une configuration 1 + 5/6 n'est presque jamais utilisée.
la source
Cherchez fois
Le problème est que l' amplification de la recherche d' écriture se comporte très différemment de l' amplification du débit d' écriture . L'amplification minimale du débit d'écriture avec parité se produit lorsqu'une bande entière est écrite à la fois (appelons cet adjectif `` pleine bande '') mais l'amplification de recherche d'écriture minimale se produit, à l'inverse, lorsque toute l'écriture suivant une recherche dans le périphérique virtuel s'inscrit dans un seul morceau. Avant d'entrer dans les détails, les relations sont beaucoup plus faciles à transmettre sous forme de tableaux:
où n est le nombre total de disques, n₁ est le nombre de disques dans les groupes RAID 1 et n₅ et n₆ sont le nombre de groupes dans les matrices RAID 5 ou RAID 6 respectivement. Les exemples se rapportent à l'exemple à 12 lecteurs de la question (les lignes pertinentes sont «
*bolded*
'); des exemples pour les niveaux RAID 1 + 0, 1 + 5, 1 + 6 sont respectivement 4 × 3, 6 × 2, 6 × 2.Notez que seul le facteur d'amplification du débit d'écriture pleine bande est directement lié à la proportion de redondance. Les cas à un seul bloc sont plus compliqués pour ceux qui ont la parité. Ils surviennent parce que l'écriture d'un seul bloc nécessite de lire le plus simple des morceaux de parité ou des autres morceaux de données, avant d'écrire les morceaux de parité avec le nouveau morceau de données. (Ils ne sont pas directement multiplicatifs car les lectures induites doivent plutôt être multipliées par le facteur d'amplification de débit de lecture / recherche respectif pour RAID 1, les deux étant 1; voir ci-dessous.)
Malheureusement, le choix d'une taille de bloc qui minimise cette amplification supplémentaire du débit d'écriture a pour effet secondaire de maximiser réellementl'amplification de recherche d'écriture. Pour les écritures minuscules avec un temps d'écriture négligeable par rapport au temps de recherche, les performances d'écriture du striping avec une très petite taille de bloc (pour être pleine bande) ne sont que de 1 ×, comme la mise en miroir, car elles nécessitent que tous les lecteurs cherchent à les morceaux pour chaque écriture et le débit gagné en mobilisant tous ces lecteurs ne sont pas pertinents. Il a divisé le rapport entre le temps d'écriture et le temps de recherche par le nombre de disques dans la matrice, mais pour les petites écritures, c'était déjà négligeable. Il ne serait pas logique d'utiliser une taille de bloc si petite que même les plus petites écritures soient à pleine bande. Pour les écritures suffisamment petites pour ressentir les effets de la recherche, il est préférable qu'elles tiennent dans un seul morceau.
Remarque: Les 2 colonnes de débit du milieu peuvent être ignorées étant donné une taille de bloc sensible qui est plus grande que les écritures pour lesquelles le temps de recherche est important, mais suffisamment petite pour que les écritures de grande taille soient pleine bande. La grande taille de bloc de la deuxième colonne de débit s'apparente davantage aux disques fractionnés. Une écriture «minuscule» est l'endroit où l'effet du débit est négligeable.
Le fait d'avoir une taille de bloc inappropriée augmente également l'effet de la recherche d'amplification pour les lectures, mais pas autant et uniquement dans le cas pleine bande.
Remarque: le «à n» est dû au fait que lorsqu'une seule lecture se produit simultanément, il est théoriquement possible de mobiliser tous les lecteurs pour rechercher les emplacements appropriés et lire collectivement les données pour un débit de lecture contigu maximal maximal.
Remarque: Encore une fois, les 2 colonnes de débit du milieu peuvent être ignorées étant donné une taille de bloc sensible. La troisième colonne de débit est à nouveau étroitement liée à la proportion de redondance.
Cependant, une taille de bloc suffisamment grande signifie que les lectures minuscules ne sont jamais pleine bande. Donc, étant donné une implémentation efficace et une taille de bloc appropriée, les performances de lecture doivent être proportionnelles au nombre de disques identiques lorsqu'elles ne sont pas dégradées.
Donc, vraiment, le «facteur d'amplification» est beaucoup plus compliqué que la formule dans la question, où seule l'amplification du débit pleine bande avait été envisagée. En particulier, les performances d'écriture de 6 × 2 RAID 1 + 6 pour des écritures simultanées suffisamment petites pour être liées à la recherche seront moins bonnes que celles de 4 × 3 RAID 1 + 0. Et pour les écritures minuscules, qui sont toutes recherchées, les performances ne peuvent être que d'environ un tiers de celles du RAID 1 + 0 4 × 3 au mieux (c'est-à-dire avec une implémentation parfaite).
Après avoir résolu ce problème, la comparaison à 12 disques n'a pas de vainqueur absolu:
Remarque 1: Une copie complète des données stockées est respectivement une matrice RAID 0 quadruple ou une matrice RAID 6 dégradée 4/6. Remarque 2: Il y a une chance égale de savoir si la panne de disque déconnecte l'une des 4 paires RAID 1 dégradées ou dégrade l'une des 2 paires normales.
Néanmoins, il aurait le double des performances de lecture d'une matrice RAID 6 de 6 disques et le débit d'écriture minuscule devrait être 25% meilleur (1,5 / 1,2) en raison de la répartition des lectures requises entre les paires RAID 1, et RAID 6 le fait évidemment ont des applications appropriées, donc dans les applications de haute disponibilité qui ont de plus grandes écritures ou qui sont plus préoccupés par les performances de lecture que les performances d'écriture, peut - être il est un créneau pour RAID 1 + 6 afterall. Mais ce n'est pas tout…
Complexité
Jusqu'à présent, cela est juste en théorie (principalement la combinatoire ), dans la pratique, la complexité signifie que les implémentations de RAID 1 + 6 peuvent avoir des lacunes qui manquent des opportunités et n'atteignent pas les résultats théoriques. RAID 6 est déjà plus complexe, et l'imbrication ajoute un peu plus de complexité en plus de cela.
Par exemple, il n'est pas immédiatement évident que 6 × 2 RAID 1 + 6 peut être résumé comme ayant 3 têtes de lecture virtuelles indépendantes capables de lire simultanément 3 grandes lectures contiguës à 4 × débit chacune, tout comme 4 × 3 RAID 1 + 0. L'imbrication simple de 6 paires RAID 1 dans une matrice RAID 6 à l'aide d'un RAID logiciel peut ne pas être aussi élégante; l'implémentation peut être stupide et trash (je n'ai pas encore testé cette hypothèse).
La complexité présente également un coût accru de développement d'implémentations et d'outils. Même si certaines applications peuvent bénéficier d'une telle imbrication, les améliorations peuvent ne pas valoir les coûts de développement.
la source