Quel type de RAID devez-vous utiliser pour vos serveurs?
RAID, ou «baie redondante de disques bon marché», est le processus de combinaison de plusieurs disques durs ou SSD en parallèle en un seul volume logique, ce qui rend la baie plus résistante aux pannes de disque. Il existe de nombreux types de RAID, et nous verrons lequel choisir.
Sommaire
Qu'est-ce que le RAID?
Supposons que vous disposiez de deux disques durs de 1 To. Dans un PC normal, il vous suffira probablement de les brancher tous les deux et d'avoir 2 To d'espace utilisable pour travailler avec. Cependant, dans un environnement de serveur, il est préférable de prendre le deuxième disque et de l'utiliser comme sauvegarde, formant une matrice RAID. Cela peut être fait en temps réel avec un contrôleur RAID, qui se connecte aux disques et gère la matrice RAID pour vous. Il existe également un logiciel RAID, mais la plupart des serveurs seront livrés avec un contrôleur RAID dédié.
Sans RAID, il n'y a pas de redondance, mais ce n'est pas vraiment le problème principal. Les données ne devraient jamais vraiment être perdues avec une bonne stratégie de sauvegarde, mais si vous perdez un lecteur, ce serveur peut subir de graves interruptions lors de sa restauration. Ceci n'est pas acceptable dans un environnement de serveur et est bien pire qu'une perte de données temporaire.
Les matrices RAID peuvent être reconstruites tout en étant utilisables, et lorsqu'un disque tombe en panne, vous n'aurez pas à restaurer à partir de sauvegardes. C'est le principal avantage des matrices RAID. Les serveurs sont conçus pour ne jamais tomber en panne, même pour la maintenance dans de nombreux cas. Vous pouvez littéralement débrancher un lecteur d'un serveur Web de production, et il continuera de s'éteindre, bien qu'avec des performances inférieures.
À bien des égards, RAID est bien meilleur qu'un gros disque. Un grand disque de 8 To n'est pas aussi résistant que cinq disques de 2 To configurés en RAID 5. Vous aurez du mal à trouver un serveur qui ne comprend qu'un seul disque installé.
RAID fonctionne mieux avec des disques identiques. Il peut fonctionner avec différents lecteurs, mais vous serez généralement limité à la vitesse et à l'espace du lecteur le plus lent et le plus petit, ce qui le rend sous-optimal.
Toute cette discussion ne s'applique vraiment que si vous gérez un serveur vous-même, comme un NAS domestique contenant de nombreux disques durs; dans ce cas, le type de RAID que vous choisissez est très important. Si vous louez des serveurs virtuels à AWS ou à tout autre fournisseur, RAID sera généralement configuré pour vous par la société d'hébergement, car ce niveau de contrôle est éloigné de vous.
Une note avant de commencer: les chiffres utilisés pour désigner les différents niveaux de RAID ne signifient vraiment rien. RAID 5 n'est pas cinq fois meilleur que RAID 1. Il existe d'autres niveaux RAID étranges, comme RAID 2, 3 et 4, mais ils ne sont pas utilisés dans la pratique et ne valent pas la peine d'être expliqués.
JBOD
Il ne s'agit pas techniquement d'une configuration RAID, mais cela vaut la peine d'être mentionné ici. JBOD signifie techniquement «Joint Batch Of Disks», mais vous pouvez l'appeler «juste un tas de disques», car c'est essentiellement ce que c'est. JBOD concatène simplement les disques ensemble en un seul grand disque. Cela n'offre aucune amélioration des performances et n'a aucune redondance, mais il ne se soucie pas du tout des disques qui y sont insérés.
De nombreux contrôleurs RAID proposent un mode JBOD. Vous ne devriez probablement pas l'utiliser, sauf si vous avez obtenu un tas de disques de différentes tailles et que vous souhaitez les lier ensemble.
RAID 0
Les données en RAID 0 sont réparties sur plusieurs disques; par exemple, si vous souhaitez lire un fichier à partir de la matrice RAID, vous lirez à partir de plusieurs disques en parallèle, ce qui rend le RAID 0 beaucoup plus rapide que n'importe quel disque.
Cependant, il n'y a pas de mise en miroir, de parité ou autre mécanisme de redondance, donc si un seul disque tombe en panne, vous perdez toutes les données sur le tableau entier. Pour cette raison, RAID 0 est utilisé lorsque la vitesse est importante, la redondance n'est pas nécessaire.
D'une certaine manière, RAID 0 est très similaire à l'absence de RAID du tout. Il vous offre l'avantage d'avoir tous les disques dans un seul grand volume, ainsi que des vitesses d'accès beaucoup plus élevées. Cependant, une panne d'un seul disque peut être catastrophique pour les données de la baie, vous devez donc jamais exécutez RAID 0 sans solution de sauvegarde, sauf si les données sont censées être 100% éphémères.
RAID 0 maximise également la capacité, car aucun espace n'est utilisé pour la redondance. Si vous disposez de deux disques de 1 To, la taille de votre baie sera de 2 To. Cependant, RAID 0 est limité à la taille de disque la plus faible de la baie. Si vous essayez de RAID 0 un lecteur de 2 To avec un lecteur de 1 To, vous n'aurez que 2 To d'espace, avec 1 To entièrement perdu.
RAID 0 avec SSD est courant, et plus raisonnable étant donné que les SSD ont des taux d'échec inférieurs. Il s'agit d'une configuration courante dans les systèmes de bureau haut de gamme, car la vitesse importe plus que la redondance.
RAID 1
RAID 1 est un autre type de base de RAID. De la même manière que RAID 0, il utilise deux disques ou plus, mais plutôt que de répartir les données entre eux, les données sont reflétées du premier disque au second (et tous les disques supplémentaires de la matrice). Si vous avez deux disques, l'un d'eux sera entièrement utilisé comme une sorte de sauvegarde en temps réel, réduisant de moitié votre capacité de stockage totale dans le processus. Si l'un des disques démarre le compartiment, vous pouvez continuer à lire à partir de l'autre lecteur et reconstruire la matrice en remplaçant le lecteur défectueux.
Cela présente certains avantages en termes de performances de lecture, car deux disques peuvent être utilisés, mais comme il lit les mêmes données sur chaque disque, ils ne sont souvent pas aussi bons que RAID 0. Les performances d'écriture seront limitées à la vitesse du disque le plus lent.
RAID 1 est votre seul choix pratique si vous avez deux disques et que vous ne pouvez pas vous permettre une panne de disque supprimant vos données. Ce n'est pas le plus efficace, car vous réduisez de moitié votre capacité de stockage, et cela coûtera donc deux fois plus qu'un lecteur unique comparable.
Cependant, la redondance dans un paramètre de serveur vaut bien plus que le prix d'un seul disque. Si vous avez juste besoin d'une configuration de disque de base, optez pour une simple matrice RAID 1. La plupart des contrôleurs RAID seront par défaut sur RAID 1 lors du branchement de deux disques.
RAID 5
RAID 5 est l'endroit où les choses commencent à devenir intéressantes. Plutôt que de dupliquer des données comme RAID 1, RAID 5 utilise une méthode beaucoup plus efficace: la parité.
La parité est une forme de vérification des erreurs, comme un hachage, mais beaucoup plus simple. Il est couramment utilisé pour s’assurer que le trafic réseau ne s’embrouille pas dans les câbles. Fondamentalement, supposons que vous ayez 7 bits de données que vous souhaitez envoyer à quelqu'un et que vous souhaitiez vous assurer qu'ils y parviennent parfaitement. Si un peu était retourné dans la transmission, ils n'auraient aucun moyen de le savoir. La solution consiste à compter tous les bits positifs; S'il y en a un nombre pair, la parité sera 0
. S'il y en a un nombre impair, la parité sera 1
. Vous ajoutez cela aux données que vous envoyez, et lorsque la personne à l'autre bout du fil les reçoit, elles calculent elles-mêmes la parité. S'il y a eu une erreur et qu'un bit a été inversé (même le bit de parité lui-même), l'autre personne le saura et demandera que les données soient renvoyées. Bien sûr, s'il y a deux erreurs dans une même transmission, ce système tombe en panne, mais ce n'est pas aussi courant.
Au lieu de stocker des copies des données (ce qui reviendrait à envoyer deux fois un message), RAID 5 stocke simplement un bit de parité. Vous pouvez l'imaginer comme RAID 0 avec redondance – il nécessite un minimum de trois disques. Tous les disques sauf un sont utilisés comme une matrice RAID 0 ordinaire, mais le dernier disque est utilisé pour la parité. Si l'un des disques tombe en panne, vous pouvez effectuer le calcul de parité en sens inverse pour récupérer toutes les données sur l'un des disques (bien qu'il s'agisse d'une opération longue et intensive).
En pratique, RAID 5 n'utilise pas de disque dédié pour la parité, car il est plus rapide de répartir les bits de parité sur tous les disques, mais vous pouvez penser de cette façon lors du calcul de l'espace qu'une baie RAID 5 vous donnera. Essentiellement, additionnez tous vos lecteurs, sauf un, et c'est l'espace dont vous disposez. RAID 5 obtient un espace plus efficace avec plus de disques: trois disques ont une efficacité de 66%, mais 10 disques une efficacité de 90%. Cela réduit considérablement les coûts par rapport à RAID 1.
Cependant, RAID 5 n'est pas sans inconvénient. Comme la parité doit être calculée chaque fois que le lecteur est écrit, les performances d'écriture sont réduites. Le problème est amplifié lorsque vous prenez en compte le fait que le retournement d'un seul bit dans un lecteur nécessite la lecture de tous les lecteurs afin de recalculer la parité pour ce bloc. En pratique, si RAID 0 donne une mise à l'échelle des performances avec n
disques, RAID 5 donne n - 1
performances pour les opérations d'écriture. Cependant, avec un tableau suffisamment grand, le problème n'est pas si grave.
De plus, quel que soit le nombre de disques dont vous disposez, vous ne pouvez survivre qu’à une seule panne de disque. Cela ne semble pas être un problème majeur, car les échecs sont rares et vous ne risquez pas d'en rencontrer deux en même temps, mais les reconstructions de baies peuvent être très intensives sur vos disques – vous lisez essentiellement chaque bit de données au large de chacun, au moment où ils sont les plus vulnérables. Donc, si l'un d'entre eux disparaît, il y a de plus grandes chances qu'un autre disque puisse également tomber en panne.
RAID 5 devrait être votre option de choix si vous avez trois disques, car RAID 1 serait une perte d'espace. Si vous avez 4 disques, c'est probablement la meilleure option, mais les deux autres options de cette liste sont également disponibles.
RAID 6
RAID 6 est comme RAID 5, sauf que le «disque de parité» est mis en miroir. Cela permet à votre baie de survivre à deux pannes de disque. Cependant, les performances d'écriture sont pires n - 2
, et vous aurez bien sûr moins d'espace.
Il n'y a vraiment pas grand-chose d'autre à dire à ce sujet. Si vous disposez d'un large éventail de disques (6, 8 ou plus), vous pouvez envisager RAID 6 pour sa redondance supplémentaire. RAID 6 à lui seul remplit la première partie de la stratégie de sauvegarde 3-2-1: stockez au moins trois copies de vos données, avec deux sauvegardes sur des supports différents, dont au moins une se trouve hors site. RAID 6 peut survivre à deux pannes de disque, ce qui le rend fonctionnellement identique à RAID 1 avec trois disques (moins les temps de reconstruction).
En pratique, RAID 6 ne connaîtra presque jamais d'échec total de la baie, surtout si vous ajoutez plus de disques de parité dans l'équation. Ceci, combiné avec des sauvegardes et des copies dans d'autres centres de données, permet aux services d'archivage comme AWS Glacier et Backblaze d'atteindre une durabilité de 99,999999999%.
RAID 10 (1 + 0)
RAID 10 est techniquement une forme de RAID imbriqué, ce qui est une autre chose compliquée qui lui est propre. Fondamentalement, si vous avez quatre disques et que vous ne souhaitez pas utiliser RAID 5 ou 6, vos seules autres options sont RAID 0 et 1, qui ont toutes deux leurs problèmes. Au lieu de cela, vous divisez ces disques en deux, créez deux matrices RAID 1, puis prenez ces matrices et utilisez-les pour créer une grande matrice RAID 0. RAID 10 nécessite au moins quatre disques et requiert également un nombre pair de disques au total.
Cela vous donne tous les avantages du RAID 1 et du RAID 0 sans de nombreux inconvénients – lecture rapide des vitesses, des vitesses d'écriture rapides, une redondance élevée et des reconstructions faciles, tout en étant en mesure d'utiliser la moitié de l'espace total de tous vos disques. RAID 10 est en fait plus plus résistante que RAID 1. Dans le diagramme ci-dessus, le disque 1 et le disque 3 peuvent échouer et la baie peut toujours être entièrement reconstruite (bien que si le disque 0 et le disque 1 échouent, cette baie est irrécupérable).
RAID 10 est un niveau RAID très courant pour les serveurs. Il est très rapide et peut au minimum survivre à une panne de disque. Le seul vrai problème est le prix, car vous payez toujours le double pour conserver des copies de toutes vos données, mais pour les charges de travail générales, RAID 10 bat presque toutes les autres configurations RAID pour la vitesse, ne perdant que pour RAID 0 pour le débit.
RAID 50/60
RAID 50/60 est essentiellement deux matrices RAID 5 ou 6 en RAID 0. Cela améliore les performances tout comme le RAID 10, améliorant surtout les performances d'écriture, car la lecture à partir des autres disques lors du calcul de la parité est plus rapide.
Il nécessite au moins six disques (huit dans le cas du RAID 60), et comme il existe des baies RAID 5 distinctes, vous aurez besoin de disques de parité supplémentaires, ce qui le rend moins économe en espace, mais un peu plus résilient. Globalement, RAID 50 est fondamentalement une version plus performante de RAID 5.