Configuration recommandée du lecteur pour un server Web

Quelle est la configuration de votre server Web typique? Généralement, je vais avoir un lecteur pour le operating system et un lecteur de données. Le lecteur de données est généralement un RAID 5, mais je ne me souviens pas de ce que j'avais l'habitude de reorder pour le lecteur de operating system. RAID 1 est-il idéal pour cela?

Je travaille pour une grande société d'hébergement, et la chose la plus commune que je vois dans mon segment d'entreprise (pas nécessairement que je recommand, mais ce que je vois), en supposant que le server est autonome / utilisant un stockage local, est un réseau RAID 1 OS, et un tableau de données RAID5.

Maintenant, au fur et à mesure que les disques durs augmentent, RAID 5 devient vraiment less idéal, car votre probabilité de bash un URE lors d'une reconstruction à un seul disque est assez élevée.

Mais puisque vous semblez poser des questions sur le lecteur du operating system, oui, RAID 1 est standard et généralement suffisant, sauf si vous allez utiliser d'autres applications hors de ce lecteur.

J'utilise un Datacenter et je suis le CTO pour une opération d'hébergement de bonne taille. Nous demandons vivement de ne jamais utiliser le RAID 5.

UTILISEZ UN BON SUD QUI EST POSSIBLE


RAID5 utilise SEULEMENT un lecteur de parité par bande et de nombreux arrays RAID5 sont 5 (si vos counts sont différents ajustez les calculs de manière appropriée) les lecteurs (4 données et 1 parité, même si ce n'est pas un seul lecteur qui détient toute la parité comme dans RAID 3 & 4 mais lisez la suite).

RAID 5 EST DIFFERENT, MAIS SO SO RAID 10 et 1: si vous avez 10 lecteurs ou dites 20 Go chacun pour 200 Go, le RAID5 utilisera 20% pour la parité (en supposant que vous l'installez comme deux sets de 5 lecteurs), vous disposerez ainsi de 160 Go de stockage.

Maintenant, puisque RAID10, comme la mise en miroir (RAID1), utilise 1 (ou plus) lecteur miroir pour chaque lecteur principal, vous utilisez 50% pour la redondance afin d'get le même 160 Go de stockage, vous aurez besoin de 8 paires ou de 16 à 20 Go, ce qui est Pourquoi RAID5 est tellement populaire. Cette introduction est juste pour mettre en perspective.

RAID5 est physiquement un set de bandes comme RAID0 mais avec la récupération de données incluse. RAID5 se réserve un bloc de disque de chaque bloc de rayures pour datatables de parité. Le bloc de parité contient un code de correction d'erreur qui peut corriger toute erreur dans le bloc RAID5, en fait il est utilisé en combinaison avec les blocs de données restants pour recréer un seul bloc manquant, disparu car un disque a échoué. L'innovation de RAID5 sur RAID3 et RAID4 est que la parité est dissortingbuée sur une base de round robin pour qu'il puisse y avoir une lecture indépendante de différents blocs des différents lecteurs. C'est pourquoi RAID5 est devenu plus populaire que RAID3 et RAID4 qui doit lire de manière sychérable le même bloc de tous les lecteurs set. Donc, si Drive2 échoue, les blocs 1,2,4,5,6 et 7 sont des blocs de données sur ce lecteur et les blocs 3 et 8 sont des blocs de parité sur ce lecteur. Cela signifie que la parité sur Drive5 sera utilisée pour recréer le bloc de données à partir de Disk2 si le bloc 1 est demandé avant qu'un nouveau lecteur remplace Drive2 ou lors de la reconstruction du nouveau rlocation Drive2. De même, la parité sur Drive1 sera utilisée pour réparer le bloc 2 et la parité sur Drive3 réparera le bloc4, etc. Pour le bloc 2, toutes datatables sont sécurisées sur les disques restants mais pendant la reconstruction du rlocation de Drive2, un nouveau bloc de parité sera calculé à partir de datatables du bloc 2 et seront écrites dans Drive 2.

Le RAID 5 READ-WRITE-PENALTY: Maintenant, lorsqu'un bloc de disque est lue à partir du tableau, le logiciel RAID / firmware calcule quel bloc RAID contient le bloc de disque, qui conduit le bloc de disque est activé et quel lecteur contient le bloc de parité pour ce RAID bloquez et lit SEULEMENT le lecteur de données unique. Il renvoie le bloc de données. Si vous modifiez plus tard le bloc de données, il recalcule la parité en soustrayant l'ancien bloc et en ajoutant la nouvelle version puis dans deux opérations distinctes, il écrit le bloc de données suivi du nouveau bloc de parité. Pour ce faire, il faut d'abord lire le bloc de parité à partir de quel lecteur contient la parité pour ce bloc de rayures et relire datatables non modifiées pour le bloc mis à jour depuis le lecteur d'origine. Cette lecture-lecture-écriture-écriture est connue sous le nom de pénalité d'écriture RAID5 puisque ces deux écritures sont séquentielles et synchrones, l'appel du système d'écriture ne peut pas revenir jusqu'à ce que la relève et les deux écritures soient complétées, pour plus de security, l'écriture sur RAID5 est jusqu'à 50% plus lente que RAID0 pour un tableau de la même capacité. (Certains logiciels RAID5 évitent de relire en conservant une copy non modifiée du bloc original en memory.)

RAID10 est l'une des combinaisons de RAID1 (mirroring) et RAID0 (ssortingping) qui sont possibles. Il y avait une confusion à propos de ce que signifiait RAID01 ou RAID10 et les différents fournisseurs de RAID les définissaient différemment. Il y a environ cinq ans, j'ai proposé la langue standard suivante qui semble s'être saisie. Lorsque N paires en miroir sont regroupées, cela s'appelle RAID10 car la mise en miroir (RAID1) est appliquée avant le ssortingping (RAID0). L'autre option consiste à créer deux sets de bandes et à les réfléchir l'une à l'autre, c'est RAID01 (car le RAID0 est appliqué en premier). Dans un système RAID01 ou RAID10, chaque bloc de disque est complètement déduit sur son miroir. En termes de performance, RAID01 et RAID10 sont fonctionnellement équivalents. La différence intervient lors de la récupération où RAID01 souffre de certains des mêmes problèmes que je décrirai affectant RAID5 alors que RAID10 ne le fait pas.

Maintenant, si un disque dans le réseau RAID5 décède, est supprimé, ou s'il est arrêté, datatables sont returnnées en lisant les blocs des disques restants et en calculant datatables manquantes en utilisant la parité, en supposant que le disque disparu n'est pas le lecteur de bloc de parité pour ce RAID bloc. Notez qu'il faut 4 lectures physiques pour replace le bloc de disque manquant (pour un groupe de 5 lecteurs) pour quatre blocs de disque sur cinq entraînant une dégradation de performance de 64% jusqu'à ce que le problème soit découvert et qu'un nouveau lecteur puisse être mappé pour commencer récupération. Les performances sont dégradées encore pendant la récupération car tous les lecteurs sont activés afin de rebuild le lecteur de rlocation (voir ci-dessous).

Si un disque dans le réseau RAID10 décède, datatables sont renvoyées à partir de son lecteur miroir en une seule lecture avec un minimum (6,25% en moyenne pour un set de 4 paires dans son set) réduction de performance lorsque deux blocs non contigus sont nécessaires de la paire endommagée (puisque les deux blocs ne peuvent pas être lus en parallèle des deux disques) et aucun autre.

On commence à avoir une idée de ce qui se passe et pourquoi je n'aime pas RAID5, mais, comme ils le disent en info-mercerie tard dans la nuit, il y a plus.

Qu'est-ce qui ne va pas en plus d'un peu de performance, je ne sais pas que je manque?

OK, de sorte que cela nous amène à la dernière question du jour qui est: Quel est le problème avec RAID5? Il récupère un disque échoué correctement? Ainsi, les écritures sont plus lentes, je ne fais pas assez d'écriture pour m'inquiéter et le cache les aide beaucoup aussi, j'ai beaucoup de cache! Le problème est que malgré la fiabilité améliorée des lecteurs modernes et les codes de correction d'erreur améliorés sur la plupart des lecteurs, et même malgré les 8 octets supplémentaires de correction d'erreur que EMC met sur chaque bloc de disque de lecteur Clariion (si vous avez la chance d'utiliser des systèmes EMC ), il est plus qu'un peu possible qu'un disque devienne floconneux et commence à renvoyer les ordures. Ceci est connu comme une défaillance partielle des médias. Maintenant, les controllers SCSI réservent plusieurs centaines de blocs de disque pour être remappés pour replace les secteurs de décoloration par ceux qui ne sont pas utilisés, mais si le lecteur fonctionne, cela ne durera pas très longtime et SCSI NE déclarera pas les erreurs corrigibles dans le operating system. Par conséquent, vous ne saurez pas que le lecteur devient instable jusqu'à ce qu'il soit trop tard et qu'il n'y ait plus de secteurs de rlocation et que le lecteur commence à renvoyer les ordures. [Notez que les lecteurs IDE / ATA récemment populaires ne comportent pas (TMK) le remappage du secteur incorrect dans leur matériel, de sorte que les ordures sont returnnées beaucoup plus tôt.] Lorsqu'un lecteur returnne les ordures, puisque RAID5 ne vérifie PAS la parité en lecture (RAID3 et RAID4 font BTW et les deux fonctionnent mieux pour les bases de données que RAID5 pour démarrer) lorsque vous écrivez le secteur des ordures, la parité des ordures sera calculée et votre intégrité RAID5 sera perdue! De même, si un disque échoue et que l'un des disques restants est floconneux, le rlocation sera reconstruit avec des ordures répandant également le problème sur deux blocs au lieu d'un seul.

Besoin de plus? Pendant la récupération, les performances de lecture d'une masortingce RAID5 sont dégradées jusqu'à 80%. Certains arrays avancés vous permettent de configurer davantage la preference vers la récupération ou vers la performance. Cependant, cela augmentera le time de récupération et augmentera la probabilité de perdre un deuxième disque dans le tableau avant que la récupération ne se termine, entraînant une perte catastrophique de données. RAID10, d'autre part, ne récupérera qu'un lecteur de 4 paires ou plus avec une performance SEULEMENT des lectures de la paire de récupération dégradées, ce qui rend la performance atteinte sur le tableau globalement seulement environ 20%! De plus, il n'y a pas de time de calcul de parité utilisé pendant la récupération – c'est une copy de données droite.

Qu'en est-il de cette chose à propos de perdre un deuxième disque? Eh bien, avec RAID10, il n'y a pas de danger à less que le miroir qui récupère échoue également et que 80 p. 100 ou plus soient less susceptibles que tout autre lecteur dans un réseau RAID5 échouera! Et comme la plupart des défaillances multiples des lecteurs sont causées par des défauts de fabrication non détectés, vous pouvez rendre cette possibilité encore plus petite en vous assurant de réfléchir chaque lecteur avec un numéro de lot différent. ("Oh", vous dites, "ce schenario ne semble pas probable!" Pooh, nous avons perdu 50 lecteurs pendant deux semaines lorsqu'un lot de 200 lecteurs IBM a commencé à échouer. IBM a découvert que le seul lot de lecteurs aurait leurs roulements de broche geler pendant tant d'heures d'exploitation. Heureusement, en partie grâce à RAID10 et en partie à un effort herculéen par les techniciens de la DG et nos propres personnes pendant 2 semaines, aucune donnée n'a été perdue. TOUJOURS, un système de files RAID5 a été une perte totale après un deuxième disque a échoué pendant la récupération. Heureusement, tout était sur bande.

Conclusion? Pour la security et la performance, privilégiez RAID10 en premier, RAID3 seconde, RAID4 tiers et RAID5 dernier! La raison originale pour les spécifications RAID2-5 était que le coût élevé des disques faisait RAID1, reflétant, peu pratique. Ce n'est plus le cas! Les disques sont basés sur les produits, même les plus grands lecteurs les plus rapides sont less chers en dollars absolus que les lecteurs étaient alors et le coût par MB est une fraction de ce qu'il était. RAID5 a-t-il déjà un sens? Évidemment, je ne le pense pas.

Pour mettre les choses en perspective: si un lecteur coûte $ 1000US (et la plupart sont beaucoup less chers que cela), passer d'un réseau RAID10 à 4 paires à un réseau RAID5 à 5 unités permettra d'économiser 3 lecteurs ou 3000 USD. Quel est le coût des heures supplémentaires, de l'usure sur les techniciens, les DBA, les gestionnaires et les clients même d'une crise de récupération? Quel est le coût de la réduction des performances et peut-être une réduction de la satisfaction de la clientèle? Enfin, quel est le coût des affaires perdues si datatables sont irrécupérables?

Copié sur le site de BAARF – mais il vaut la peine de le constater.

Utilisez RAID 10 autant que possible – passez sur le disque supplémentaire.

En supposant que les applications ne fonctionnent pas à partir de cela et que ce soit simplement l'hébergement des files OS, un RAID 1 devrait être parfaitement adapté.

Si vous utilisez des applications supplémentaires sur le volume du operating system, vous devez prendre en count la charge.

Pour nos servers, nous exécutons le operating system sur C: (RAID 1), Applications sur D: (RAID 1) et Logs / Data sur E: (RAID 1). S'il y a quelque chose qui doit avoir une redoublement, il se dirige vers un lecteur SAN.

Si la vitesse et la fiabilité sont importantes, RAID0 + 1 devrait donner les meilleures performances (sans parité à calculer) avec une capacité de survie maximale de deux unités. Mais tous les controllers ne le supporte pas.

Ça dépend! S'il s'agit d'un site Web simple et statique, une paire de disques RAID 1 devrait être bien, car le contenu du disque finira par être mis en cache dans la RAM de toute façon.

Si c'est un site Web complexe axé sur la database, j'aimerais simplement avoir une paire RAID 1 pour le operating system (ce que vous requestz actuellement), mais une configuration de disque différente pour datatables (base).

Une configuration typique de stockage de servers Web dans mon organisation ressemble à ceci.

Système d'exploitation = Raid 1
Logs = Raid 1 ou Raid 10
Data = Raid 5 ou Raid 10 (Le type de tableau ici dépend des exigences de performance.)

J'espère que cela vous aidera.