Performances RAID pratiques?


8

J'ai toujours pensé que ce qui suit était une règle générale pour le RAID:

  • RAID 0: les meilleures performances pour la lecture et l'écriture du dépouillement, le plus grand risque
  • RAID 1: redondant, décent pour la lecture (je crois qu'il peut lire à partir de différentes parties d'un fichier à partir de différents disques durs), pas le meilleur pour WRITE
  • RAID 0 + 1 (01): combine la redondance de RAID 1 avec les performances de RAID 0
  • RAID 1 + 0 (10): version légèrement meilleure de RAID 0 + 1
  • RAID 5: bonnes performances de lecture, mauvaises performances d'écriture, redondantes

CETTE HYPOTHÈSE EST-ELLE CORRECT? (et comment se comparent-ils à une configuration JBOD pour les performances R / W IO)

Certaines configurations RAID pratiques sont-elles meilleures pour différentes applications: jeux, montage vidéo, base de données (Acccess ou SQL)?

Je pensais aux disques durs, mais cela s'applique-t-il également aux disques SSD?


Ma compréhension de la redondance de chacune des classes RAID est assez bonne, je ne suis simplement pas sûr des performances d'E / S en lecture et en écriture.
wag2639

Quant à JBOD, je sais qu'il n'offre pas de performances ou de redondance, je viens de le mentionner comme référence de base.
wag2639

Réponses:


12

Raid 0 . Grande vitesse de lecture et d'écriture. Le risque d'échec augmentait à mesure que le nombre de disques membres augmentait. Pas de parité.

Raid 1 . Grande vitesse de lecture uniquement si le pilote est correctement implémenté - Si vous utilisez des contrôleurs de raid Areca et LSI, ils peuvent offrir presque la même capacité de lecture pour les ensembles Raid 1 que les ensembles Raid 0 (dans les 10%). Notez que pour les solutions de raid logiciel, il existe deux types, les logiciels OS et les logiciels de carte mère.

La plupart des Raid de type carte mère n'offrent pas de bonnes performances de lecture du Raid 1. La dernière fois que j'ai vérifié, Windows et Linux n'avaient pas non plus une bonne implémentation des lectures Raid 1. BSD avait une implémentation Raid 1 correctement implémentée qui utilise la méthode de lecture roundrobin.

En bref, utilisez Raid 1 pour la redondance et pour la vitesse de lecture si vous utilisez des contrôleurs avancés.

Raid 1/0 & Raid 0/1 . C'est une chose combinée. Disons que vous avez 10 disques. Le raid 1/0 est qu'il y a un miroir dans chaque ensemble: ensemble A (1 + 2), ensemble B (3 + 4), ensemble C (5 + 6), ensemble D (7 + 8), ensemble E (9+ 10), puis Faites un jeu de bandes sur les 5 jeux (AE). De cette façon, chacun des ensembles peut avoir une panne de disque, mais si deux disques tombent en panne dans le même ensemble, vous avez terminé.

Le raid 0/1 consiste à avoir l'ensemble de bandes A (1 + 2 + 3 + 4 + 5) et l'ensemble B (6 + 7 + 8 + 9 + 10) et à refléter les deux ensembles. De cette façon, si le lecteur 2 et le lecteur 9 tombent en panne, la plupart des contrôleurs considèrent cela comme une panne totale (qui, en fait, vous avez toujours toutes les données).

Il y a peu de différence de performances entre les deux, mais je ne pense pas que vous obteniez généralement les deux d'un contrôleur Raid.

Raid 5 . un sac très mélangé: pour les lectures séquentielles, c'est plus rapide que le raid 1/0, et pour la lecture aléatoire c'est un peu plus lent que ça. Notez que les performances du raid 5 sont très dépendantes de la vitesse du contrôleur (par exemple, vous ne pouvez pas vous attendre à beaucoup de raid embarqué).

Raid 6 . La redondance a augmenté par rapport au Raid 5. deux disques peuvent tomber en panne à tout moment, et lors de la reconstruction de la baie après l'échec d'un disque, il y a toujours une redondance (notez que lorsque le disque du raid 5 a échoué, la baie est similaire au raid 0 - tout disque tombe en panne = perte totale ).

JBOD . Aucun avantage auquel je peux penser.


merci .. donc d'après ce que je lis, en utilisant des cartes mères grand public dans le but de jouer à des performances, le raid 0 est le meilleur sans obtenir un contrôleur de raid dédié séparé? (Je m'en fiche si je dois réinstaller les programmes OS + et les données seront ailleurs, possible raid 5 array)
wag2639

2
vous avez très raison. bien que je crains que les performances en utilisant le raid de la carte mère ne soient pas très différentes de l'utilisation du raid logiciel basé sur le système d'exploitation (bien que, bien sûr, la différence est que votre lecteur système ne peut pas être pillé dans le raid logiciel basé sur le système d'exploitation). En outre, les performances de raid5 dans le raid de la carte mère sont pathétiques (à la baisse de 15 à 20 Mo / s dans certains cas!)
bubu

2

Comme votre question l'indique, il n'y a pas vraiment de «meilleure» configuration RAID, seulement la meilleure pour un ensemble particulier de circonstances, le coût étant souvent l'un des facteurs les plus importants.

Sans entrer dans les détails des contrôleurs et des logiciels, voici mes règles de base.

RAID 0 est le plus rapide car vous pouvez lire et écrire sur de nombreux disques à la fois, et aucun espace n'est «gaspillé» pour la redondance. Perdez n'importe quel disque et vous perdez l'ensemble, donc le RAID 0 ne doit être utilisé que sur une machine qui ne vous intéresse pas, ou est facile à restaurer et ne contient pas de données que vous appréciez. Une machine de jeu pourrait convenir à ce scénario, mais honnêtement, la différence de vitesse n'est pas si perceptible que je serais prêt à accepter le risque accru d'avoir à reconstruire la machine. Il peut également être utile pour les zones de "scratch" vraiment rapides si vous avez un logiciel qui a besoin de ce genre de chose.

RAID 1 est la configuration de miroir très courante, généralement composée de 2 disques. Les lectures sont généralement à peine deux fois plus rapides qu'un seul disque, tandis que les écritures sont juste un peu plus lentes qu'un seul disque. Sur les serveurs, RAID 1 est un excellent choix pour les fichiers de votre système d'exploitation. C'est également un bon choix lorsque vous avez besoin de redondance, vos besoins de stockage ne sont pas assez importants pour nécessiter RAID 5 et vous pourriez bénéficier de la vitesse de lecture supplémentaire (les fichiers journaux de base de données sont généralement placés sur RAID 1).

Les RAID 2 à 4 (pas en cause) ne sont généralement pas utilisés, sauf par certains produits de fournisseurs côté entreprise.

RAID 5 est un compromis entre ne pas perdre trop d'espace sur la redondance et toujours obtenir les performances supplémentaires des disques supplémentaires. Les vitesses de lecture sont très bonnes car tous les disques peuvent participer. Les vitesses d'écriture peuvent parfois être un problème avec RAID 5, bien que je pense que cela soit parfois surestimé selon la situation. Même avec du matériel qui effectue les calculs de parité, les petites écritures aléatoires souffrent sur RAID 5 car chaque opération d'écriture logique nécessite 4 E / S (lecture à partir du disque de données, lecture à partir du disque de parité, écriture du disque de données, écriture du disque de parité). Choisissez RAID 5 lorsque vous souhaitez maximiser la quantité de stockage que vous retirez d'un jeu de disques tout en ayant un bon degré de sécurité. À éviter lorsque votre application a des besoins de performances élevés et nécessite de nombreuses petites écritures aléatoires (disques durs de machine virtuelle, fichiers de données de base de données). Sachez également que les grands disques modernes mettent beaucoup de temps à se reconstruire lorsqu'ils échouent dans le cadre d'un ensemble RAID 5, ce qui met vos données en péril plus longtemps pour une deuxième défaillance de disque. RAID 6 peut réduire ce risque au détriment de performances d'écriture aléatoire encore pires.

RAID 1/0 et 0/1 ont à peu près les mêmes caractéristiques de performances. 1/0 est préférable car un échec signifie la reconstruction uniquement de la paire de disques impliqués plutôt que d'une bande entière de disques. RAID 1/0 est la configuration à usage général la plus rapide de celles mentionnées dans la question. Les performances de lecture et d'écriture sont excellentes (les lectures peuvent avoir lieu sur tous les disques en même temps, les écritures doivent se produire sur plusieurs disques mais aucun cycle de lecture / lecture / écriture / écriture n'est nécessaire comme RAID 5), bien que RAID 5 puisse gagner dans certaines circonstances. RAID 1/0 est (sans surprise) également le plus cher dans presque tous les cas. Il ne doit être utilisé que lorsque les performances sont critiques, les données sont très précieuses et l'application n'a aucune tolérance pour les temps d'arrêt. Souvent, les serveurs de bases de données (ou au moins leurs fichiers de données) sont de bons candidats pour RAID 1/0.

Les disques SSD peuvent en effet être mis en configurations RAID, notamment pour sa valeur de redondance. De nombreux SSD peuvent surpasser le bus (SATA) auquel ils sont connectés, en particulier pour les opérations de lecture, de sorte que l'effet de performance du RAID est moins convaincant avec les SSD.


0

Si vous achetez un contrôleur RAID matériel, optez pour RAID5. Il a le moins de surcharge et le contrôleur de raid matériel éliminera presque la pénalité de surcharge d'écriture car il calcule les bits de parité dans le matériel. Raid5 lit également plusieurs disques, améliorant simultanément la vitesse de lecture et d'écriture.

Oui, cela s'applique également aux disques SSD. Un test de SSD dans Raid0 a montré des augmentations de vitesse presque linéaires.

Raid5 est de loin la technologie la plus utilisée dans le monde des serveurs, mais pour un ordinateur portable avec seulement 2 disques durs, je suggère raid1 en miroir.

JBOD n'a pas de redondance en cas de défaillance d'un disque dur, mais en fonction des paramètres, il peut agréger les données pour augmenter les performances comme le raid.


1
JBOD ne peut généralement pas être agrégé par bandes car il est conçu pour être utilisé avec des disques de tailles différentes - si vous avez la même taille, vous devriez déjà utiliser RAID 1 ou RAID 0 à la place.
Dark Android
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.