Comment configurer RAID 5, en particulier la taille de bande, avec 24 disques de 1,2 To pour CentOS 6?

8

Pour un Dell R920 avec 24 disques de 1,2 To (et 1 To de RAM), je cherche à mettre en place une configuration RAID 5 pour des E / S rapides. Le serveur sera utilisé pour héberger les machines virtuelles KVM qui liront / écriront des fichiers de toutes tailles, y compris de très gros fichiers. Je ne suis pas très intéressé par la sécurité des données, car si le serveur tombe en panne pour une raison quelconque, nous allons simplement réapprovisionner le serveur à partir du métal nu après avoir remplacé les pièces défectueuses. La performance est donc la principale préoccupation. Nous envisageons RAID 5 car il nous permet de distribuer des données sur plusieurs broches et nous donne donc de meilleures performances et, bien que ce ne soit pas notre principale préoccupation, nous donne également une certaine protection des données. Notre NIC est double 10Gbps.

Je limite cette question au RAID 5 uniquement parce que nous pensons que cela donnera les meilleures performances. Ce n'est que s'il existe une raison impérieuse de performance que nous envisagerons autre chose. Mais, je pense que je préférerais des réponses liées aux configurations RAID 5.

D'accord, avec ce qui précède, voici nos réflexions de configuration actuelles pour:

  • 24 disques durs: RMCP3 : 1,2 To, 10 K, 2,5 "6 Gbit / s
  • Contrôleur RAID: H730P, prise en charge SAS 12 Gbit / s, cache NV 2 Go
  • 1 Hot Spare (juste pour nous donner une durée de vie plus longue si un disque tombe en panne)
  • 23 lecteurs de données (dont 1 correspond à la parité et 22 aux données)
  • Taille de bande: 1 Mo (1 Mo / 22 lecteurs de données = ~ 46,5 Ko par disque - ou, est-ce que je comprends mal la taille de bande)?
  • Politique de lecture: lecture anticipée adaptative
  • Politique d'écriture: réécrire
  • Stratégie de cache de disque: activée

Si la taille de bande est le TOTAL sur les lecteurs de données, alors je pensais que ~ 46,5 Ko par lecteur nous donneraient un très bon débit. Si la taille de la bande est par broche, alors j'ai tout faux.

La taille de la bande correspond-elle également à la taille d'un fichier unique? Par exemple, s'il existe un fichier de 2 Ko, le choix d'une taille de bande de 1 Mo signifierait-il que nous gaspillons presque un mégaoctet entier? Ou plusieurs fichiers peuvent-ils vivre dans une bande?

Enfin, lorsque nous installerons CentOS 6.5 (ou plus récent), aurons-nous besoin de faire quelque chose de spécial pour nous assurer que le système de fichiers utilise RAID de manière optimale? Par exemple, mkfs.ext4 a une option -E stride qui, d'après ce qu'on m'a dit, devrait correspondre à la configuration RAID. Mais, lors d'une installation CentOS, y a-t-il un moyen de faire cela?

Merci beaucoup pour vos réflexions sur la configuration de RAID 5 pour des E / S rapides.

Steve Amerige
la source
4
RAID 5 est ce que vous ne pas à utiliser si vous voulez des performances ... ses vitesses d'écriture peuvent être terribles.
Nathan C
1
Pouvez-vous fournir un certain contexte sur la charge de travail en lecture / écriture et l'application pour cette solution de stockage?
ewwhite
1
si vous voulez des performances, n'utilisez pas du tout de disques durs. vous pouvez très probablement obtenir plus de performances avec un bon système de stockage SSD ou même des solutions de stockage PCIe. si vous ne vous souciez pas de la perte de données, optez pour des SSD ou même des solutions de stockage PCIe.
Dennis Nolte
2
@Tonny J'ai vérifié cela. 16 disques maximum pour ce contrôleur.
ewwhite
7
N'oubliez pas que vous n'êtes pas des experts nés, tout le monde apprend à un moment donné. Soyez gentil avec ceux qui en savent moins que vous.
Chris S

Réponses:

12

Veuillez utiliser RAID 1 + 0 avec la configuration de votre contrôleur et de votre lecteur. Si vous avez besoin de plus de capacité, un niveau RAID imbriqué comme RAID 50/60 pourrait fonctionner . Vous pouvez vous en sortir avec RAID 5 sur un petit nombre de disques SAS d'entreprise (8 disques ou moins) car les temps de reconstruction ne sont pas mauvais. Cependant, 24 disques sont une terrible erreur. (Oh, et désactivez la fonctionnalité de mise en cache de disque individuelle ... dangereux)

Les E / S et les performances de stockage local comportent de nombreuses facettes. Il y a des opérations d'E / S / seconde, il y a du débit, il y a une latence de stockage. RAID 1 + 0 est un bon équilibre entre ceux-ci. Les aspects positifs ici sont que vous utilisez des disques d'entreprise, un contrôleur matériel capable et un bon nombre de disques. De quelle capacité avez-vous besoin?

Vous pouvez rencontrer des limites au nombre de lecteurs que vous pouvez utiliser dans un groupe de disques virtuels. Les contrôleurs PERC / LSI limitaient traditionnellement cela à 16 disques pour les niveaux RAID simples et RAID 1 + 0. Le guide de l'utilisateur le confirme . Vous ne pourriez pas utiliser les 24 disques dans un seul RAID 5 ou un seul groupe RAID 1 + 0.

Un autre aspect à considérer, en fonction de votre charge de travail, est que vous pouvez tirer parti de la mise en cache SSD à l'aide de la fonctionnalité LSI Cachecade sur certains contrôleurs PERC. Il n'est peut-être pas disponible pour cela, mais la compréhension de vos modèles d'E / S aidera à adapter la solution de stockage.


En ce qui concerne les options de création de système de fichiers ext4, une grande partie de celles-ci seront résumées par votre contrôleur RAID matériel. Vous devriez pouvoir créer un système de fichiers sans aucune option spéciale ici. Les paramètres auxquels vous faites référence auront plus d'impact sur une solution RAID logicielle.

ewwhite
la source
Quelques informations très utiles ici. Nous recherchons d'abord les performances, puis l'espace disque total. Donc, nous n'envisageons pas le RAID 10 car nous perdrions la moitié de nos 24 To d'espace disque disponibles. Nos besoins sont très lourds en données et nous parcourons assez facilement des To de données. Parce que la conséquence d'une défaillance du serveur est une priorité faible pour nous (car nous pouvons simplement reconstruire le serveur à partir de zéro après avoir corrigé un mauvais matériel - c'est-à-dire que la sécurité des données n'est PAS notre considération la plus importante), nous voulons maximiser les E / S du disque ( à la fois local et NFS / une autre histoire) et la vitesse de traitement globale.
Steve Amerige
@SteveAmerige De combien d'espace disque avez-vous besoin? Vous ne pouvez pas UTILISER 24 disques dans un groupe RAID, il existe donc des considérations de conception supplémentaires pour votre environnement. Pouvez-vous nous dire ce que ce système est là pour faire, quel type de données est impliqué et quelles sont les exigences de performances réelles?
ewwhite
1
@SteveAmerige Plus de détails! Le RAID 5 n'est pas un démarreur. Vous ne devriez PAS l'utiliser en 2014. De quel type de données s'agit-il? Quelle serait la technologie de virtualisation? KVM? VMware? Je pense que la conception ici a vraiment besoin d'être raffinée, surtout avant d'investir dans autant de matériel ... Savez-vous quelle sera la taille de "l'ensemble de travail" des données par VM? Dans les cas où cette valeur est connue, vous pouvez mettre en cache et optimiser autour de cela. Stockage hiérarchisé. SSD. La charge de travail est-elle biaisée en lecture ou en écriture?
ewwhite
1
RAID 5 would give us some data safety at the expense of effectively 1 hard drive per group, right? Non, pas vrai. Avec des disques de cette taille et avec autant de disques dans un groupe, RAID 5 vous offre en fait 0 sécurité des données. Peut tout aussi bien jeter les disques dans deux matrices RAID 0 à 12 disques.
HopelessN00b
1
Au final, j'ai fait la configuration suivante des 24 disques physiques: Groupe de disques 0, RAID 10 (4 disques): VD 0: BOOT 100GB; VD 1: ROOT 2134,5 Go. Groupe de disques 1, RAID 0 (10 disques): VD 2: DATA1, 11172,5 Go. Groupe de disques 2, RAID 0 (10 disques): VD 3: DATA2, 11172,5 Go. Il est possible que je n’aie pas eu besoin d’avoir des disques virtuels VD 0 BOOT et VD 1 ROOT distincts. Je l'ai fait pour m'assurer que le disque de démarrage pouvait faire un démarrage standard (non UEFI). J'ai utilisé LVM plus tard pour que j'utilise exclusivement VD 0 et VD 1; et / données qui ont utilisé VD 2 et VD 3. Merci beaucoup pour tous les commentaires!
Steve Amerige
5

N'utilisez PAS une seule matrice RAID 5 sur 24 disques de 1 To! Peu m'importe à quoi vous préférez limiter les réponses, c'est une mauvaise idée et vous devriez envisager d'autres options.

Les chances d'un disque défaillant augmentent avec chaque disque. Il en va de même pour le temps de reconstruction. Lorsqu'un disque tombe en panne et que vous le remplacez, il utilisera autant d'E / S sur tous les disques que possible pour créer les données du nouveau. Il est très probable que l'un de vos 23 bons disques restants échoue au cours de ce processus, vous obligeant à restaurer le serveur à partir de sauvegardes. Ce dont vous dites que vous ne vous souciez pas ... mais êtes-vous prêt à accepter de le faire une fois par mois? Une fois par semaine? Comme les disques vieillissent, cela pourrait très bien devenir si mauvais.

De plus, si vous voulez des performances, RAID5 vous mène dans la mauvaise direction. Dans de nombreux cas, RAID5 a des performances moins bonnes que les autres options, car il doit calculer la parité pour chaque écriture, puis l'écrire également sur un lecteur. RAID5 n'a pas été conçu pour les performances.

Si vous ne vous souciez VRAIMENT pas de vos données, optez pour RAID 0. Mais même dans ce cas, créez quelques baies distinctes, pas un RAID 0 géant à 24 disques.

Si vous voulez des performances et une certaine intégrité, utilisez RAID10. Vous perdrez de l'espace disque, mais vous obtiendrez une amélioration des performances.

Ou vous pouvez regarder des choses comme ZFS qui sont conçues dès le départ pour fonctionner avec d'énormes quantités de données sur des disques.

Subvention
la source
1
Pour info, je suis un développeur de logiciels qui gère les serveurs de notre division en parallèle. Cela signifie que j'ai beaucoup de lacunes dans mes connaissances. Mais, je fais cela avec succès depuis quelques années maintenant. C'est la première fois que je construis un serveur aussi gros, donc vos commentaires sont très appréciés. J'apprécie beaucoup votre commentaire sur les limitations de RAID 5. Ce que nous voulons, ce sont les performances et l'espace disque total disponible, mais nous sommes prêts à prendre en considération les configurations RAID qui nous donnent une certaine sécurité des données (notre dernière priorité).
Steve Amerige
1

Vos options:

  • RAID 0 : Cela transforme tous vos disques en une seule unité sans redondance. Cela a les performances de lecture et d'écriture les plus élevées et l'espace le plus utilisable de toutes les options, mais la perte d'un seul disque signifie la perte de toutes les données.

  • RAID 1 + 0 : Cela transforme tous vos disques en une seule unité avec toutes les données présentes sur deux disques. La vitesse de lecture est à peu près la même que pour RAID 0, la vitesse d'écriture est divisée par deux (car vous devez écrire chaque élément de données deux fois) et vous n'avez que la moitié de l'espace disponible. La perte d'un seul disque n'a aucun impact sur la disponibilité des données et un impact minimal sur les vitesses de lecture / écriture.

  • RAID 5 : Cela transforme tous vos disques en une seule unité, avec une valeur de parité sur un seul disque. La vitesse de lecture est légèrement inférieure à RAID 0, la vitesse d'écriture est beaucoup plus lente, peut-être plus lente que la vitesse d'écriture d'un seul disque non RAID (chaque écriture nécessite un cycle de lecture-modification-écriture sur au moins deux disques), et vous perdre la valeur d'espace d'un disque pour les informations de parité. La perte d'un seul disque peut entraîner une réduction importante de la vitesse de lecture (la reconstruction des données qui y étaient stockées nécessite la lecture des données de tous les autres disques), mais n'a aucun impact sur la disponibilité des données.

  • RAID 6 : il présente essentiellement tous les avantages et inconvénients de RAID 5, sauf qu'il stocke une somme de contrôle plus sophistiquée en plus d'un calcul de parité, et peut gérer la perte de deux disques sans perte de données.

Si la sécurité des données est vraiment hors de propos (cela inclut le temps passé à restaurer les données à partir de la source d'origine, ce qui peut prendre des jours et le temps perdu à refaire des calculs interrompus), je recommande RAID 0. Sinon, si vous avez une charge de travail qui est presque lit exclusivement et vous voulez une certaine fiabilité, je recommande RAID 6 (mais notez que les performances souffriront lors de la récupération d'un disque défaillant). Si vous avez une charge de travail en lecture-écriture, je recommande RAID 1 + 0.

Selon la nature précise de votre charge de travail (c'est-à-dire si une tâche donnée accède à un sous-ensemble bien défini de votre espace disque), vous pourrez peut-être configurer plusieurs baies RAID indépendantes, de sorte que la défaillance de l'une n'affecte pas les autres .

RAID 5 n'offre aucun avantage dans votre situation. Il a une pénalité de performance (en particulier pour l'écriture) par rapport à RAID 0, et avec le nombre de disques dont vous disposez, il est pratiquement certain qu'un deuxième disque échouera pendant la récupération, ce qui n'apportera aucun avantage en termes de sécurité des données.

marque
la source
1

D'accord, juste pour une question claire - la taille des rayures. La plus grande taille de bande est meilleure à moins que votre RAID ne soit stupide pour toujours lire / écrire la bande entière de données en tant que bloc d'E / S minimum.

Pourquoi? - une petite taille de bande implique d'impliquer plusieurs disques dans des E / S longues, moins il y a de chances de charger plusieurs disques avec une seule E / S logique. La grande bande signifie plus de chances qu'un seul disque (ou quelques-uns) soit impliqué dans les E / S. Cela peut sembler une carence car il n'y a pas de boost par rapport à plusieurs disques, mais votre charge presque aléatoire se déclenche et vous réalisez que la charge serait répartie sur tous les disques plus ou moins uniformément.

Plus de théorie derrière cela peut être trouvée ici: http://www.vinumvm.org/vinum/Performance-issues.html

poige
la source