Un grand RAID 10 vs plusieurs baies plus petites?


10

Ma question est: quand est-il approprié de créer simplement une grande baie avec des performances de lecture et d'écriture rapides, telles que RAID 10, au lieu de créer des baies plus petites pour des applications spécifiques?

Il me semble que si mes exigences d'E / S globales ne sont pas terriblement lourdes, une seule baie avec d'excellentes performances de lecture et d'écriture pourrait fournir de meilleures performances globales à toutes les applications, sauf aux moments (peut-être rares) où des applications avec des modèles d'accès différents atteignaient un pic en même temps (copier de grandes quantités de fichiers volumineux alors qu'une base de données est critiquée).

Si je dédie une paire de broches à une tâche particulière, comme les journaux de transactions, et qu'elles ne cassent même pas la sueur avec la charge de travail ... pourquoi ne pas simplement mettre cette charge de travail sur un RAID 10 plus grand? Ces fuseaux seraient alors en mesure de contribuer à d'autres charges de travail au lieu de rester assis à se gratter 60% du temps.

PS, dans mon cas particulier, les frais généraux de RAID 10 ne sont pas un facteur, car je cherche à créer plusieurs matrices RAID 1 et un petit RAID 5. Aller en RAID 10 pour la quantité d'espace dont j'ai besoin serait comparable.

Réponses:


10

Savoir comment configurer votre stockage consiste à mesurer et à budgéter les IOPS et la bande passante. (Je suis simpliste ici parce que la taille du mélange en pourcentage de lecture / écriture, les E / S moyennes, la taille de la bande RAID et les pourcentages d'accès au cache sont très importants. Si vous pouvez obtenir ces chiffres, vous pouvez rendre vos calculs encore plus précis.)

Il y a une calculatrice peu IO vraiment bien ici que je l' utilise souvent lors de la planification du stockage. Le répertoire de stockage de wmarow est également utile pour obtenir des chiffres de performances de disque assez contemporains.

Si je dédie une paire de broches à une tâche particulière, comme les journaux de transactions, et qu'elles ne cassent même pas la sueur avec la charge de travail ... pourquoi ne pas simplement mettre cette charge de travail sur un RAID 10 plus grand?

N'oubliez pas que le fait de placer des E / S séquentielles sur une broche avec des E / S aléatoires rend cet E / S séquentiel aléatoire. Vos disques de journal des transactions peuvent sembler ne pas transpirer car vous voyez des opérations d'E / S séquentielles. Les lectures et écritures séquentielles sur un volume RAID-1 seront assez rapides, donc si vous vous basez "ne pas transpirer" sur la longueur de la file d'attente du disque, par exemple, vous n'obtenez pas toute l'histoire.

Mesurez ou calculez le nombre maximal d'E / S par seconde aléatoires possibles pour le volume de destination prévu, prenez une référence de la charge de travail actuelle sur ce volume, puis décidez si vous avez suffisamment d'espace libre pour placer ces IOPS de journal des transactions dans les E / S aléatoires restantes du volume de destination. Veillez également à prévoir l'espace nécessaire à la charge de travail (évidemment). Si vous êtes si enclin, intégrez un pourcentage de "marge" supplémentaire dans votre charge de travail IO / allocation d'espace.

Continuez avec cette méthodologie pour toutes les autres charges de travail que vous souhaitez mettre dans le volume RAID-10 de destination. Si vous manquez d'IOPS aléatoires, vous empilez trop dans le volume - ajoutez plus de disques ou placez une partie de la charge de travail sur des volumes dédiés. Si vous manquez d'espace, ajoutez plus de disques.


Un problème est qu'avec ma configuration actuelle, je ne peux vraiment obtenir qu'une bonne mesure sur le nombre total d'IOPS, qui n'est que d'environ 300 (60% en lecture) avec une moyenne de 14 000 octets par transfert. La grande matrice RAID 10 que je considère devrait être en mesure de faire 758 IOPS 16k aléatoires (60% et factoriser le cache). Cependant, ce calcul ne prend pas en compte les charges de travail mixtes, et c'est avec cela que je me bats.
Boden

4

J'ai lu plus d'articles récemment disant que RAID 5 est une mauvaise façon de faire pour la fiabilité. Je le crois davantage après avoir un disque défectueux dans une matrice RAID 5, remplacé le lecteur et il n'a pas pu récupérer car un deuxième disque avait une erreur de lecture irrécupérable latente qui nous a obligés à reformater et à restaurer à partir de la sauvegarde.

À mesure que les disques deviennent plus grands, les chances d'avoir une erreur de lecture non détectable non récupérable sur ces énormes disques augmentent également, et avec RAID 5, la fiabilité ne suffit tout simplement plus. Si vous ne mettez pas en miroir, apparemment, le conseil est d'aller avec RAID 10.

À moins que vous ne fassiez quelque chose de très sensible aux problèmes de vitesse, je ne m'inquiéterais pas de diviser les choses en petits tableaux ou quelque chose comme ça. Mettez-le dans un RAID 10 et voyez si vos performances sont à la hauteur. Avec une mise en cache et une mémoire adéquates dans le système, ça devrait aller. Les nombres pour les benchmarks ne seront jamais tout à fait ce que vous obtiendrez réellement car cela dépend de votre utilisation réelle, de la charge réelle, des performances du lecteur de disque, de la mise en cache du contrôleur, de la mise en cache du disque, de la fragmentation, etc.

La meilleure règle de base est de simplifier la configuration autant que possible, car même si vous perdez un jour ou une semaine à transpirer sur cette configuration dans un an ou deux, vous devrez résoudre un problème sur ce serveur qui laissera vous vous demandez pourquoi vous l'avez configuré comme vous l'avez fait si vous avez ajouté une complexité inutile à la configuration.


1
Oui, je suis passé de RAID 5 à RAID 6, et la pénalité en écriture me tue. J'aime l'idée d'un grand RAID 10. Que puis-je utiliser pour comparer différents types de charge d'E / S simultanées?
Boden

1
Un chronomètre est le plus précis :-)
Bart Silverstrim

1
Ne sous-estimez pas l'importance des disques et du contrôleur. Nous avons un NAS Dell avec RAID 5 et il est étouffé lorsque les utilisateurs se connectent et en tirent des profils et nous avons conclu que c'était parce que les disques n'étaient pas à 10000 tr / min, après avoir étudié un peu les chiffres du moniteur de performances. Nous avons fini par déplacer certaines données vers un serveur distinct pour décharger une partie de la charge de travail.
Bart Silverstrim

2
Honnêtement, je ne comprends pas pourquoi quelqu'un utiliserait RAID 5 dans un environnement d'entreprise. Nous sommes RAID 10 depuis le début.
Bip bip

2
Parce qu'à l' époque RAID 5 n'était pas mal :-) RAID 10 était considéré comme un luxe inutile à notre niveau d'activité, je suppose que vous pourriez le dire. Les prix ont vraiment chuté, les temps ont changé et nous soutenons toujours ce qui "fonctionne" dans la salle des serveurs.
Bart Silverstrim

2

Dans quelle mesure souhaitez-vous que les latences de vos applications soient prévisibles?

Supposons, par exemple, que vous ayez une application qui soit vraiment sensible à la latence et qu'elle partage un système de fichiers avec votre base de données financière. À la clôture de l'exercice, vous recevez soudainement des appels concernant la temporisation de l'application sensible à la latence. Comment allez-vous comprendre cela?

D'un autre côté, je suis un grand fan de tout simplifier, donc je vérifierais que vous n'avez pas d'exigences exceptionnelles, et consoliderais et simplifierais vos configurations si vos exigences ne tombent pas dans des cas spéciaux étranges.


0

Bien sûr, pourquoi pas. chose est, rappelez-vous de construire votre grande matrice multi-disques correctement, de vous tromper et vous êtes dans une longue période de reconstruction.

RAID 10 se décline en 2 versions:

  • RAID 1 + 0 où vous créez 2 matrices RAID 1, puis agrégez-les.
  • RAID 0 + 1 où vous créez 2 matrices RAID 0, puis les mettez en miroir.

Une fois qu'un disque meurt, vous n'aurez qu'à reconstruire une seule matrice raid1. Avec l'autre, vous devrez reconstruire l'intégralité du tableau raid0.

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.