C'est une question canonique sur les niveaux de RAID.
Quels sont:
- les niveaux de RAID généralement utilisés (y compris la famille RAID-Z)?
- déploiements sont-ils couramment trouvés dans?
- avantages et pièges de chacun?
C'est une question canonique sur les niveaux de RAID.
Quels sont:
Réponses:
RAID signifie Redundant Array of Independent Disks (on dit à certains "peu coûteux" d'indiquer qu'il s'agit de disques "normaux"; historiquement, il existait des disques redondants en interne qui étaient très coûteux; l'acronyme étant adapté, ils ne sont plus disponibles).
Au niveau le plus général, un RAID est un groupe de disques qui agissent sur les mêmes lectures et écritures. Les E / S SCSI sont effectuées sur un volume ("LUN"), qui sont distribués aux disques sous-jacents de manière à introduire une augmentation des performances et / ou une augmentation de la redondance. L'augmentation des performances est une fonction de la répartition: les données sont réparties sur plusieurs disques pour permettre aux lectures et aux écritures d'utiliser simultanément les files d'attente d'E / S de tous les disques. La redondance est une fonction de la mise en miroir. Des disques entiers peuvent être conservés sous forme de copies, ou des bandes individuelles peuvent être écrites plusieurs fois. Alternativement, dans certains types de raid, au lieu de copier bit par bit de données, la redondance est obtenue en créant des bandes spéciales contenant des informations de parité, qui peuvent être utilisées pour recréer toute donnée perdue en cas de défaillance matérielle.
Plusieurs configurations offrent différents niveaux de ces avantages, qui sont décrits ici, et chacune d’elles privilégie les performances, voire la redondance.
Un aspect important dans l’évaluation du niveau de RAID qui fonctionnera pour vous dépend de ses avantages et de la configuration matérielle requise (par exemple: nombre de disques).
Un autre aspect important de la plupart de ces types de RAID (0,1,5) est qu’ils ne garantissent pas l’intégrité de vos données, car ils sont abstraits des données réellement stockées. Donc, RAID ne protège pas contre les fichiers corrompus. Si un fichier est corrompu par quelque moyen que ce soit, la corruption sera dupliquée ou dupliquée, puis validée sur le disque, de quelque manière que ce soit. Cependant, RAID-Z prétend fournir une intégrité au niveau des fichiers de vos données .
Il est possible d'implémenter RAID sur un stockage directement connecté à deux niveaux: matériel et logiciel. Dans les solutions RAID matérielles véritables, il existe un contrôleur matériel dédié avec un processeur dédié aux calculs et au traitement RAID. Il possède également généralement un module de cache sauvegardé par batterie afin que les données puissent être écrites sur le disque même après une panne de courant. Cela aide à éliminer les incohérences lorsque les systèmes ne sont pas arrêtés correctement. En règle générale, les bons contrôleurs matériels sont plus performants que leurs homologues logiciels, mais ils ont également un coût substantiel et une complexité accrue.
Le RAID logiciel ne nécessite généralement pas de contrôleur car il n'utilise pas de processeur RAID dédié ni de cache séparé. Généralement, ces opérations sont gérées directement par la CPU. Dans les systèmes modernes, ces calculs consomment un minimum de ressources, bien qu’une certaine latence marginale soit engendrée. Le RAID est géré soit directement par le système d'exploitation, soit par un faux contrôleur dans le cas de FakeRAID .
En règle générale, si quelqu'un choisit un logiciel RAID, il doit éviter FakeRAID et utiliser le package natif du système d'exploitation de son système, tel que Dynamic Disks sous Windows, mdadm / LVM sous Linux ou ZFS sous Solaris, FreeBSD et d'autres distributions associées. . FakeRAID utilise une combinaison de matériel et de logiciel, ce qui donne l’apparence initiale du RAID matériel mais les performances réelles du logiciel RAID. De plus, il est généralement extrêmement difficile de déplacer la matrice vers un autre adaptateur (en cas d'échec de l'original).
L’autre endroit où le RAID est commun est celui des périphériques de stockage centralisés, généralement appelé SAN (Storage Area Network) ou NAS (Network Attached Storage). Ces périphériques gèrent leur propre stockage et permettent aux serveurs connectés d’y accéder de différentes manières. Étant donné que plusieurs charges de travail sont contenues sur le même nombre de disques, il est généralement souhaitable d’avoir un niveau élevé de redondance.
La principale différence entre un NAS et un SAN est l’exportation de blocs par rapport au système de fichiers. Un SAN exporte un "périphérique bloc" complet, tel qu'une partition ou un volume logique (y compris ceux construits sur une matrice RAID). Les exemples de SAN incluent Fibre Channel et iSCSI. Un NAS exporte un "système de fichiers" tel qu'un fichier ou un dossier. Les exemples de NAS comprennent CIFS / SMB (partage de fichiers Windows) et NFS.
RAID0 (aka Striping) est parfois appelé "la quantité de données qu'il vous restera en cas de panne d'un lecteur". Il va vraiment à l’encontre du "RAID", où le "R" signifie "redondant".
RAID0 prend votre bloc de données, le divise en autant de morceaux que vous avez de disques (2 disques → 2 morceaux, 3 disques → 3 morceaux) puis écrit chaque morceau de données sur un disque séparé.
Cela signifie qu'une seule défaillance du disque détruit la totalité de la matrice (car vous avez les parties 1 et 2, mais pas la partie 3), mais fournit un accès très rapide au disque.
Il n'est pas souvent utilisé dans les environnements de production, mais il peut être utilisé dans des situations où des données strictement temporaires peuvent être perdues sans répercussion. Il est utilisé assez couramment pour mettre en cache des périphériques (tels qu'un périphérique L2Arc).
L'espace disque total utilisable est la somme de tous les disques de la matrice ajoutés (par exemple, 3 disques de 1 To = 3 To d'espace).
RAID 1 (ou mise en miroir) prend vos données et les duplique à l'identique sur deux disques ou plus (bien que généralement 2 disques seulement). Si plus de deux disques sont utilisés, les mêmes informations sont stockées sur chaque disque (elles sont toutes identiques). C'est le seul moyen de garantir la redondance des données lorsque vous avez moins de trois disques.
RAID 1 améliore parfois les performances de lecture. Certaines implémentations de RAID 1 liront sur les deux disques pour doubler la vitesse de lecture. Certains ne liront que l’un des disques, ce qui ne procure aucun avantage supplémentaire en termes de vitesse. D'autres liront les mêmes données des deux disques, garantissant ainsi l'intégrité de la matrice à chaque lecture, mais la vitesse de lecture sera identique à celle d'un disque unique.
Il est généralement utilisé dans les petits serveurs ayant très peu d'extension de disque, tels que les serveurs 1RU pouvant ne disposer que de deux disques ou dans les stations de travail nécessitant une redondance. En raison de la surcharge d'espace "perdu", les disques de petite capacité, à grande vitesse (et à coût élevé) peuvent être d'un coût prohibitif, car vous devez dépenser deux fois plus pour obtenir le même niveau de stockage utilisable.
L'espace disque total utilisable est la taille du plus petit disque de la matrice (par exemple, 2 disques de 1 To = 1 To d'espace).
Le niveau RAID 1E est similaire à RAID 1 en ce que les données sont toujours écrites sur (au moins) deux disques. Mais contrairement à RAID1, il permet un nombre impair de disques en intercalant simplement les blocs de données entre plusieurs disques.
Les performances sont similaires à RAID1 et la tolérance de panne à RAID 10. Ce schéma peut être étendu à un nombre impair de disques supérieur à trois (éventuellement appelé RAID 10E, mais rarement).
RAID 10 est une combinaison de RAID 1 et RAID 0. L'ordre des 1 et 0 est très important. Disons que vous avez 8 disques, cela va créer 4 matrices RAID 1, puis appliquer une matrice RAID 0 au-dessus des 4 matrices RAID 1. Il nécessite au moins 4 disques et des disques supplémentaires doivent être ajoutés par paires.
Cela signifie qu'un disque de chaque paire peut échouer. Donc, si vous avez les jeux A, B, C et D avec les disques A1, A2, B1, B2, C1, C2, D1, D2, vous pouvez perdre un disque de chaque jeu (A, B, C ou D) et avoir un tableau qui fonctionne.
Toutefois, si vous perdez deux disques du même ensemble, la matrice est totalement perdue. Vous pouvez perdre jusqu'à 50% des disques (sans toutefois vous en garantir).
Vous êtes garantis une vitesse élevée et une haute disponibilité dans RAID 10.
RAID 10 est un niveau RAID très courant, en particulier avec les lecteurs de grande capacité, où une défaillance de disque rend plus probable une deuxième défaillance de disque avant la reconstruction de la matrice RAID. Au cours de la récupération, la dégradation des performances est bien inférieure à celle de son homologue RAID 5 car il ne doit lire qu’un seul lecteur pour reconstruire les données.
L'espace disque disponible correspond à 50% de la somme de l'espace total. (par exemple, 8 disques durs de 1 To = 4 To d’espace utilisable). Si vous utilisez différentes tailles, seule la plus petite taille sera utilisée pour chaque disque.
Il convient de noter que le pilote de logiciel md
RAID du noyau Linux appelé permet les configurations RAID 10 avec un nombre impair de disques , c’est-à-dire un RAID 10 à 3 ou 5 disques.
C'est l'inverse du RAID 10. Il crée deux matrices RAID 0, puis place un RAID 1 au-dessus. Cela signifie que vous pouvez perdre un disque de chaque jeu (A1, A2, A3, A4 ou B1, B2, B3, B4). C'est très rare dans les applications commerciales, mais il est possible de le faire avec un logiciel RAID.
Pour être absolument clair:
Il ne fournit aucune vitesse supplémentaire par rapport au RAID 10, mais une redondance considérablement moindre et devrait être évité à tout prix.
RAID 5 est le niveau RAID le plus utilisé depuis des décennies. Il fournit les performances système de tous les disques de la matrice (sauf les petites écritures aléatoires, qui entraînent une légère surcharge). Il utilise une simple opération XOR pour calculer la parité. En cas de défaillance d'un lecteur, les informations peuvent être reconstruites à partir des lecteurs restants à l'aide de l'opération XOR sur les données connues.
Malheureusement, en cas de panne de lecteur, le processus de reconstruction nécessite beaucoup d’IO. Plus les disques du RAID sont grands, plus la reconstruction durera longtemps et plus il y a de chances que le second disque tombe en panne. Etant donné que les grands disques lents ont beaucoup plus de données à reconstruire et beaucoup moins de performances, il n’est généralement pas recommandé d’utiliser le RAID 5 à une vitesse inférieure ou égale à 7 200 tr / min.
Peut-être le problème le plus critique avec les baies RAID 5, lorsqu'elles sont utilisées dans des applications grand public, est-il presque garanti qu'elles échoueront lorsque la capacité totale dépassera 12 To. En effet, le taux d' erreurs de lecture irrécupérables (URE) des lecteurs SATA grand public est de un par 10 14 bits, soit environ 12,5 To.
Si nous prenons un exemple d’une matrice RAID 5 avec sept disques de 2 To: lorsqu’un disque tombe en panne, il en reste six. Pour reconstruire le module RAID, le contrôleur doit lire six disques à 2 To chacun. En regardant la figure ci-dessus, il est presque certain qu'une autre URE se produira avant la reconstruction. Une fois que cela se produit, le tableau et toutes les données qu'il contient sont perdus.
Cependant, la défaillance URE / perte de données / matrice avec problème RAID 5 dans les lecteurs grand public a été quelque peu atténuée par le fait que la plupart des fabricants de disques durs ont augmenté la classification URE de leurs lecteurs les plus récents à un sur 10 15 bits. Comme toujours, vérifiez la fiche technique avant d’acheter!
Il est également impératif que RAID 5 soit placé derrière un cache en écriture fiable (avec batterie). Cela évite les frais généraux liés aux petites écritures, ainsi que le comportement instable qui peut survenir en cas d'échec au milieu d'une écriture.
RAID 5 est la solution la plus économique d’ajout de stockage redondant à une baie, car elle ne nécessite la perte que d’un seul disque (par exemple, 12 disques de 146 Go = 1606 Go d’espace utilisable). Il nécessite un minimum de 3 disques.
RAID 6 est similaire à RAID 5 mais il utilise deux disques d'une parité au lieu d'un (le premier est XOR, le second est un LSFR). Vous pouvez donc perdre deux disques de la matrice sans perte de données. La pénalité en écriture est supérieure à RAID 5 et vous disposez d'un disque d'espace de moins.
Cela vaut la peine de considérer qu’en fin de compte, un réseau RAID 6 rencontrera des problèmes similaires à ceux d’un RAID 5. Les disques durs plus longs entraînent des temps de reconstruction plus longs et des erreurs latentes, menant éventuellement à une défaillance de l’ensemble du tableau et à la perte de toutes les données avant la reconstruction.
RAID 50 est un niveau imbriqué, un peu comme RAID 10. Il combine deux ou plusieurs matrices RAID 5 et répartit les données en RAID 0. Cela offre à la fois des performances et une redondance à plusieurs disques, tant que plusieurs disques sont perdus à partir de systèmes RAID 5 différents . tableaux.
Dans un RAID 50, la capacité du disque est nx, où x est le nombre de RAID 5 répartis en bandes. Par exemple, si vous utilisez un simple RAID 50 à 6 disques, le plus petit possible, si vous aviez des disques 6x1 To dans deux RAID 5 répartis en bandes pour devenir un RAID 50, vous disposeriez d'un stockage utilisable de 4 To.
Le niveau RAID 6 correspond au niveau RAID 60, et le niveau RAID 5 au niveau RAID 50. En général, vous disposez de plus d’un RAID 6 pour que les données soient ensuite réparties dans un RAID 0. Cette configuration permet de regrouper jusqu'à deux membres de chaque RAID 6 dans l’ensemble. échouer sans perte de données. Les temps de reconstruction pour les matrices RAID 60 peuvent être considérables, il est donc généralement judicieux de disposer d’un disque de secours pour chaque membre RAID 6 de la matrice.
Dans un RAID 60, la capacité du disque est n-2x, x étant le nombre de RAID 6 répartis en bandes. Par exemple, si vous utilisez un simple RAID 60 à 8 disques, le plus petit possible, si vous disposiez de disques 8x1 To dans deux RAID 6 répartis en bandes pour devenir un RAID 60, vous disposeriez d'un stockage utilisable de 4 To. Comme vous pouvez le constater, cela donne la même quantité de stockage utilisable qu’un RAID 10 donnerait sur un groupe de 8 membres. Alors que RAID 60 serait légèrement plus redondant, les temps de reconstruction seraient considérablement plus longs. En règle générale, vous ne devez envisager RAID 60 que si vous avez un grand nombre de disques.
RAID-Z est un peu compliqué à expliquer car ZFS change radicalement la façon dont le stockage et les systèmes de fichiers interagissent. ZFS englobe les rôles traditionnels de gestion de volume (RAID est une fonction d'un gestionnaire de volume) et de système de fichiers. De ce fait, ZFS peut effectuer un RAID au niveau du bloc de stockage du fichier plutôt qu'au niveau de la bande du volume. C’est exactement ce que fait RAID-Z: écrivez les blocs de stockage du fichier sur plusieurs lecteurs physiques, y compris un bloc de parité pour chaque ensemble de bandes.
Un exemple peut rendre cela beaucoup plus clair. Supposons que vous ayez 3 disques dans un pool ZFS RAID-Z, la taille de bloc est de 4 Ko. Maintenant, vous écrivez sur le système un fichier de 16 Ko exactement. ZFS divisera cela en quatre blocs de 4 Ko (comme le ferait un système d'exploitation normal); alors il calculera deux blocs de parité. Ces six blocs seront placés sur les disques de la même manière que RAID-5 distribuerait les données et la parité. Il s’agit d’une amélioration par rapport à RAID5 dans la mesure où il n’a pas été possible de lire les bandes de données existantes pour calculer la parité.
Un autre exemple s'appuie sur le précédent. Disons que le fichier ne faisait que 4Ko. ZFS devra toujours créer un bloc de parité, mais le chargement en écriture est maintenant réduit à 2 blocs. Le troisième disque sera libre de traiter toute autre demande simultanée. Un effet similaire sera observé chaque fois que le fichier en cours d’écriture n’est pas un multiple de la taille de bloc du pool multipliée par le nombre de lecteurs moins un (c.-à-d. [Taille du fichier] <> [Taille du bloc] * [Lecteurs - 1]).
ZFS prenant en charge à la fois la gestion de volume et le système de fichiers signifie également que vous n'avez pas à vous soucier de l'alignement des partitions ou de la taille des blocs de bandes. ZFS gère tout cela automatiquement avec les configurations recommandées.
La nature de ZFS contrecarre certaines des mises en garde classiques de RAID-5/6. Toutes les écritures dans ZFS sont effectuées de manière à copier sur écriture; tous les blocs modifiés lors d'une opération d'écriture sont écrits dans un nouvel emplacement sur le disque, au lieu de remplacer les blocs existants. Si une écriture échoue pour une raison quelconque ou si le système échoue en cours d'écriture, la transaction d'écriture se produit complètement après la récupération du système (à l'aide du journal d'intention ZFS) ou ne se produit pas du tout, évitant ainsi une éventuelle corruption des données. Un autre problème avec RAID-5/6 est la perte de données potentielle ou la corruption de données silencieuse pendant les reconstructions; des zpool scrub
opérations régulières peuvent aider à résoudre les problèmes de corruption de données ou à résoudre les problèmes avant qu'ils ne causent des pertes de données, et la vérification de tous les blocs de données garantit que toute corruption lors d'une reconstruction est interceptée.
Le principal inconvénient de RAID-Z est qu’il s’agit toujours d’un raid logiciel (et souffre du même temps de latence mineur provoqué par le calcul de la charge en écriture par la CPU au lieu de laisser un HBA matériel la décharger). Ce problème pourrait être résolu à l'avenir par les HBA prenant en charge l'accélération matérielle ZFS.
Parce qu’aucune autorité centrale n’applique une fonctionnalité standard quelconque, les différents niveaux de RAID ont évolué et ont été normalisés par une utilisation répandue. De nombreux fournisseurs ont fabriqué des produits qui s’écartent des descriptions ci-dessus. Il est également assez courant pour eux d'inventer une nouvelle terminologie marketing sophistiquée pour décrire l'un des concepts ci-dessus (c'est le cas le plus fréquent sur le marché SOHO). Lorsque cela est possible, essayez de faire en sorte que le fournisseur décrive réellement les fonctionnalités du mécanisme de redondance (la plupart communiquent volontairement ces informations, car il n’ya plus vraiment de sauce secrète).
Il convient de mentionner qu’il existe des implémentations de type RAID 5 qui vous permettent de démarrer une matrice avec seulement deux disques. Il stockerait les données sur une bande et la parité sur l'autre, comme dans RAID 5 ci-dessus. Cela fonctionnerait comme RAID 1 avec la surcharge supplémentaire du calcul de parité. L'avantage est que vous pouvez ajouter des disques au tableau en recalculant la parité.
Aussi RAID UN MILLION !!!!
128 disques, donc les lectures seraient rapides, les écritures horribles mais très fiables J'imagine, oh et vous auriez 1 / 128ème de l'espace disponible, donc pas génial d'un point de vue budgétaire. Ne faites pas cela avec des clés USB, j'ai essayé de mettre le feu à l'atmosphère ...