Question Comment un seul disque dans une baie matérielle SATA RAID-10 peut-il tout arrêter complètement?


Prélude:

Je suis un code-singe de plus en plus pris en charge par SysAdmin pour ma petite entreprise. Mon code est notre produit et, de plus en plus, nous fournissons la même application que SaaS.

Il y a environ 18 mois, j'ai transféré nos serveurs d'un fournisseur d'hébergement haut de gamme vers un pousseur rackable barebones dans un centre de données de niveau IV. (Littéralement de l’autre côté de la rue.) C’est beaucoup plus nous-mêmes - mise en réseau, stockage et surveillance.

Dans le cadre du déménagement, pour remplacer notre système de stockage directement lié loué à la société d’hébergement, j’ai construit un NAS à deux nœuds basé sur des châssis SuperMicro, des cartes RAID 3wares, Ubuntu 10.04, deux douzaines de disques SATA, DRBD et. Tout est documenté avec amour dans trois articles de blog: Construire et tester un nouveau NAS SATA RAID10 NFSv4 SATA de 9 To: Partie I, deuxieme PARTIE et Partie III.

Nous avons également mis en place un système de surveillance Cacit. Récemment, nous avons ajouté de plus en plus de points de données, tels que les valeurs SMART.

Je n'aurais pas pu faire tout cela sans le impressionnant  boffins  à  ServerFault. Ce fut une expérience amusante et éducative. Mon patron est heureux (nous avons économisé des tonnes de $$$), nos clients sont contents (les coûts de stockage sont en baisse), Je suis heureux (amusant, amusant, amusant).

Jusqu'à hier.

Panne & Récupération:

Quelque temps après le déjeuner, nous avons commencé à recevoir des informations sur les performances médiocres de notre application, un système de gestion de contenu multimédia en continu à la demande. À peu près au même moment, notre système de surveillance Cacti a envoyé une tempête de neige d’emails. L'une des alertes les plus éloquentes était un graphique de iostat en attente.

enter image description here

Les performances sont devenues si dégradées que Pingdom a commencé à envoyer des notifications "serveur en panne". La charge globale était modérée, il n'y avait pas de pointe de trafic.

Après avoir ouvert une session sur les serveurs d'applications, les clients NFS du NAS, j'ai confirmé que presque tout connaissait des temps d'attente d'E / S extrêmement intermittents et extrêmement longs. Et une fois que j’ai sauté sur le nœud NAS principal lui-même, les mêmes retards étaient évidents lorsqu’on essayait de naviguer dans le système de fichiers de la matrice à problèmes.

Il est temps d’échouer, cela s’est bien passé. En 20 minutes, tout a été confirmé comme étant parfaitement opérationnel.

Autopsie:

Après toute défaillance du système, j'effectue un post-mortem pour déterminer la cause de la défaillance. La première chose que j'ai faite a été de rentrer dans la boîte et de passer en revue les journaux. C'était hors ligne, complètement. Temps pour un voyage au centre de données. Réinitialisation du matériel, sauvegarde et exécution.

Dans /var/syslog J'ai trouvé cette entrée effrayante:

Nov 15 06:49:44 umbilo smartd[2827]: Device: /dev/twa0 [3ware_disk_00], 6 Currently unreadable (pending) sectors
Nov 15 06:49:44 umbilo smartd[2827]: Device: /dev/twa0 [3ware_disk_07], SMART Prefailure Attribute: 1 Raw_Read_Error_Rate changed from 171 to 170
Nov 15 06:49:45 umbilo smartd[2827]: Device: /dev/twa0 [3ware_disk_10], 16 Currently unreadable (pending) sectors
Nov 15 06:49:45 umbilo smartd[2827]: Device: /dev/twa0 [3ware_disk_10], 4 Offline uncorrectable sectors
Nov 15 06:49:45 umbilo smartd[2827]: Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
Nov 15 06:49:45 umbilo smartd[2827]: # 1  Short offline       Completed: read failure       90%      6576         3421766910
Nov 15 06:49:45 umbilo smartd[2827]: # 2  Short offline       Completed: read failure       90%      6087         3421766910
Nov 15 06:49:45 umbilo smartd[2827]: # 3  Short offline       Completed: read failure       10%      5901         656821791
Nov 15 06:49:45 umbilo smartd[2827]: # 4  Short offline       Completed: read failure       90%      5818         651637856
Nov 15 06:49:45 umbilo smartd[2827]:

Alors je suis allé vérifier les graphiques de Cacti pour les disques dans le tableau. Nous voyons ici que, oui, le disque 7 est en train de s’écrouler comme le dit syslog. Mais nous constatons également que les erreurs de lecture SMART du disque 8 fluctuent.

enter image description here

Il n'y a pas de message concernant le disque 8 dans syslog. Plus intéressant est que les valeurs fluctuantes du disque 8 sont directement corrélées aux temps d'attente IO élevés!  Mon interprétation est la suivante:

  • Le disque 8 rencontre un problème matériel étrange qui entraîne des durées de fonctionnement intermittentes longues.
  • D'une manière ou d'une autre, cette condition d'erreur sur le disque bloque toute la matrice

Peut-être existe-t-il une description plus précise ou correcte, mais le résultat final est que le disque en question a un impact sur les performances de l'ensemble du tableau.

Questions)

  • Comment un seul disque dans une baie matérielle SATA RAID-10 peut-il tout arrêter complètement?
  • Suis-je naïf de penser que la carte RAID aurait dû gérer cela?
  • Comment puis-je empêcher un disque défectueux d'avoir un impact sur l'ensemble de la matrice?
  • Est-ce que je manque quelque chose?

99
2017-11-16 11:14


origine


Une autre question bien écrite de votre part, +1. Toujours un plaisir de lire (mais malheureusement au-dessus de mon tableau d’avoir même une idée). - tombull89
@daff: Nous avons économisé 66% sur un budget comparable avec cette configuration de HP. Nous mettons une durée de vie de trois ans sur cette boîte, elle n’a pas besoin de durer plus longtemps. Rappelez-vous qu’il s’agit d’une boîte de rangement qui coûte du plumet sur une année. - Stu Thompson
3Ware n'est pas mauvais en soi. J'ai eu un comportement insignifiant d'une carte PERC sur un système Dell, qui est supposé être un matériel serveur décent. La carte 3Ware devrait avoir une batterie embarquée, etc., donc je ne me sentirais pas trop mal à propos de cette décision. D'accord, vous pourriez être critiqué pour la décision SAS vs SATA, mais vous ne perdez pas de données et votre question donne l'impression que vous avez des sauvegardes et une surveillance en place, alors vous vous en sortez plutôt bien :-) - Bart Silverstrim
@StuThompson: bien sûr, il est moins coûteux d'utiliser un matériel grand public et le plus souvent, tout se passera bien, en particulier lorsque, comme dans votre cas, il existe un bon concept de haute disponibilité. Cependant, comme vous l'avez montré, il existe des cas où le matériel grand public ne le coupe pas lorsque de mauvaises choses se produisent. Je peux pratiquement vous garantir qu'un seul disque SAS défectueux sur un bon contrôleur PERC (Dell) ou SmartArray (HP) ne vous aurait pas causé d'autre problème qu'un appel de support pour obtenir un disque de remplacement. Nous avons eu beaucoup de disques SAS morts au fil des années en production, mais ils ne les ont jamais détruits. - daff
La plupart des disques SATA ne prennent pas en charge TLER (récupération d'erreur limitée dans le temps). Lorsqu'un disque SATA typique rencontre un problème physique, il envoie un message "suspendu pendant que je travaille sur ce problème" au sous-système de disque (ce qui se passe normalement comme il est dit). Le disque continuera ensuite à passer 10 à 30 secondes (généralement) à chaque erreur détectée jusqu'à ce qu'il atteigne le seuil "Je suis mort". Les disques SAS et les disques SATA prenant en charge TLER sont configurés par leur HBA pour indiquer au sous-système de disque "J'ai un problème, que dois-je faire?" ainsi, le HBA peut décider de l'action appropriée en gros immédiatement. (Simplifié pour la brièveté) - Chris S


Réponses:


Je déteste dire «n'utilisez pas de SATA» dans des environnements de production critiques, mais j'ai souvent été confronté à cette situation. Les disques SATA ne sont généralement pas conçus pour le cycle de travail que vous décrivez, bien que vous ayez spécifié disques spécialement conçus pour un fonctionnement 24x7 dans votre configuration. D'après mon expérience, les disques SATA peuvent échouer de manière imprévisible, affectant souvent l'ensemble de la matrice de stockage, même lorsque vous utilisez RAID 1 + 0, comme vous l'avez fait auparavant. Parfois, les disques tombent en panne de manière à bloquer l’ensemble du bus. Une chose à noter est de savoir si vous utilisez des extensions SAS dans votre configuration. Cela peut faire une différence dans la manière dont les disques restants sont impactés par une panne de lecteur.

Mais il aurait peut-être été plus logique de partir avec Disques SAS midline / nearline (7200 tr / min) contre SATA. Le prix est légèrement supérieur à celui du SATA, mais les disques fonctionneront / échoueront de manière plus prévisible. La correction des erreurs et la génération de rapports dans l'interface / protocole SAS sont plus robustes que dans l'ensemble SATA. Donc, même avec des lecteurs dont les mécaniciens sont les mêmes, la différence de protocole SAS peut avoir évité la douleur ressentie lors de la panne de votre disque.


47
2017-11-16 11:48



En écrivant la question que je viens de a connu mon choix de SAS allait venir. : / IOPS et le débit sont bien dans les capacités de ma configuration. Mais je n’ai pas pleinement évoqué certaines des différences les plus subtiles. Nous avons mis une durée de vie de 3 ans sur cette boîte. Sera sûr d'utiliser SAS la prochaine fois. - Stu Thompson
Oui, c'est quelque chose à considérer la prochaine fois. Les disques SAS proches que j'ai mentionnés ne fonctionnent pas nécessairement mieux que les disques SATA, mais il s’agit de choses comme la récupération d’erreur et les pannes de disque lorsque le SAS est plus facile à gérer. J'ai un système de stockage SATA à 48 disques Sun Fire x4540 avec 6 contrôleurs, et les pannes de disque individuelles tendaient à verrouiller le serveur. Dure leçon. - ewwhite
Un bon ami à moi est dans le monde du stockage d'entreprise. Il a lu tout ça et a dit "Ce type a raison. Ce qui se passe, c’est que SATA est conçu pour signaler un échec complet et un incident intermittent interrogera le bus sans basculement. Généralement, cela n’a jamais été vu puisque la plupart des configurations SATA ne forment qu’un seul lecteur" - Stu Thompson
@StuThompson Avez-vous depuis construit une nouvelle boîte avec SAS proche de la ligne? J'aimerais lire sur vos expériences. Votre question m'a déjà beaucoup aidé, je construirai probablement une boîte similaire dans un proche avenir. - chrishiestand
@chrishiestand Non, je n'ai pas. J'ai quitté la compagnie en janvier 13; si j'étais resté, nous aurions construit la boîte de remplacement avec une ligne proche. Hélas, l’existence du NAS était trop étroitement liée au mien et les données ont été déplacées vers le SAN d’un fournisseur de services. - Stu Thompson


Comment un seul disque peut-il faire tomber la matrice? La réponse est que cela ne devrait pas, mais cela dépend en quelque sorte de la cause de la panne. Si le disque devait mourir d'une manière qui se comporte, il ne devrait pas l'enlever. Mais il est possible que cela échoue de manière "périphérique" que le contrôleur ne peut pas gérer.

Êtes-vous naïf de penser que cela ne devrait pas arriver? Non je ne pense pas. Une telle carte RAID matérielle aurait dû traiter la plupart des problèmes.

Comment l'empêcher? Vous ne pouvez pas anticiper des cas étranges comme celui-ci. Cela fait partie du rôle d'administrateur système ... mais vous pouvez travailler sur des procédures de récupération pour l'empêcher d'avoir un impact sur votre entreprise. Le seul moyen d'essayer de résoudre ce problème maintenant est d'essayer une autre carte matérielle (probablement pas ce que vous voudriez faire) ou de remplacer vos disques par des disques SAS au lieu de disques SATA pour voir si le système SAS est plus robuste. Vous pouvez également contacter votre fournisseur de la carte RAID pour lui dire ce qui s'est passé et voir ce qu'il dit. Après tout, ils sont supposés être spécialisés dans la connaissance des tenants et aboutissants de l’électronique d’entraînement. Ils auront peut-être plus de conseils techniques sur le fonctionnement des disques, ainsi que sur leur fiabilité ... si vous pouvez vous adresser aux personnes appropriées.

Avez-vous manqué quelque chose? Si vous souhaitez vérifier que le lecteur présente une défaillance de boîtier, extrayez-le du module RAID. Le tableau sera dégradé, mais vous ne devriez pas avoir plus de ralentissements et d’erreurs étranges (en dehors du statut de tableau dégradé). Vous dites qu’à l’heure actuelle, cela semble fonctionner correctement, mais si des erreurs de lecture du disque surviennent, vous devez remplacer le lecteur tant que vous le pouvez. Les lecteurs avec une capacité élevée peuvent parfois avoir des erreurs URE (meilleure raison de ne pas exécuter RAID 5, remarque latérale) qui n'apparaissent pas tant qu'un autre lecteur n'est pas en panne. Et si vous rencontrez un problème de casse provenant de ce lecteur, vous ne souhaitez pas que les données corrompues soient migrées vers les autres lecteurs de la matrice.


17
2017-11-16 11:58



Ouais ... nous avons déjà mis en place une nouvelle politique de remplacement comme "Si les erreurs de lecture fluctuent, alors tirez dessus". Maintenant que j'y pense, nous avons eu un taux d'échec assez élevé sur ces disques. 4 sur 22 en 18 mois. Hmmm .... - Stu Thompson
4 disques en 18 mois? c'est tout à fait un taux là ... bien que les disques ne soient pas conformes aux spécifications, il pourrait aussi y avoir un problème de refroidissement / débit d'air à regarder. Ou peut-être quelque chose d'étrange avec le contrôleur. Quelques réflexions ... gardez un œil sur les bûches. Si vous parvenez à contacter n'importe qui dans 3Ware avec du travail réel sur les cartes et pas seulement avec un script, vous voudrez peut-être l'exécuter et voir ce qu'ils disent. - Bart Silverstrim
En fonction de l’ensemble où vous voyez les erreurs, vous pouvez également vérifier qu’il n’ya pas non plus de malus ou de marginaux avec les câbles. Si les erreurs semblent être concentrées sur le même port, il est possible que le nombre d'échecs ne soit pas fortuit. - Bart Silverstrim
Je viens de voir que les valeurs SMART de ce lecteur Bum fonctionnaient à environ 31 ° C, soit 4 ° C de plus que tous les autres lecteurs. Les choses qui vous font aller hmmmm .... - Stu Thompson
@DanNeely: Sur 14 disques (11 données, 3 systèmes), il s'agissait du seul avec une température plus élevée. Je suis presque certain que le débit d'air était bon, mais je vérifierai explicitement demain. - Stu Thompson


Je ne suis pas un expert, mais je vais me lancer à l'aventure en raison de mon expérience des contrôleurs RAID et des matrices de stockage.

Les disques échouent de différentes manières. Malheureusement, les disques peuvent échouer ou être défectueux de manière à affecter gravement leurs performances mais le contrôleur RAID ne le considère pas comme une panne.

Si un disque tombe en panne de manière évidente, tout logiciel de contrôleur RAID devrait être assez performant pour détecter le manque de réponse du disque, le supprimer du pool et déclencher les notifications. Cependant, je suppose que ce qui se passe ici est que le disque subit une défaillance inhabituelle qui, pour une raison quelconque, ne provoque pas de défaillance du côté du contrôleur. Par conséquent, lorsque le contrôleur effectue un vidage d'écriture ou une lecture à partir du disque affecté, le retour prend beaucoup de temps et, à son tour, suspend l'ensemble de l'IO en fonctionnement et donc la matrice. Pour une raison quelconque, cela ne suffit pas pour que le contrôleur RAID affiche "ah, le disque défaillant", probablement parce que les données finissent par revenir.

Mon conseil serait de remplacer immédiatement le disque en panne. Après cela, je jetterais un œil à la configuration de votre carte RAID (3ware, je pensais qu’elles étaient plutôt bonnes) et découvrais ce qu’elle considérait comme un disque en panne.

P.S. bonne idée d'importer SMART dans les cactus.


10
2017-11-16 11:57



Une fois que j'ai connecté les points, la première chose à faire était de retirer le disque de la matrice; le disque de rechange rempli. C'était la nuit dernière. Aujourd'hui, j'ai sorti le disque et je l'ai retourné. Le lecteur fautif: geekomatic.ch/images/wd-re4-flux-read-error.jpg - Stu Thompson
L'une des raisons pour lesquelles je pense que chaque système essentiel à une mission a besoin d'une carte pour le nettoyage des données. Je l'ai vu trop souvent pour que cela compte, en particulier sur les baies SATA. Cependant, il est déjà arrivé que des disques SAS d'extrémité supérieure échouent sans déclencher le contrôleur. - Jens Ehrich


Vous avez besoin des fonctionnalités des périphériques de stockage de classe entreprise. Plus précisément, les disques d'entreprise WD RE 4 possèdent deux fonctionnalités nécessaires pour empêcher ce problème dans les matrices RAID. La première technologie énumérée ci-dessous empêche les vibrations harmoniques en rotation de provoquer une usure inutile des composants mécaniques du disque dur. La deuxième technologie est la cause de votre problème, le protocole SATA n’a pas cette fonctionnalité. Pour obtenir ces fonctionnalités, vous avez besoin de SAS et si vous insistez sur les disques SATA, vous pouvez acheter des cartes SAS vers SATA Interposer telles que le LSISS9252.

Technologie RAFF améliorée Le système électronique sophistiqué surveille le variateur et corrige les vibrations linéaires et rotationnelles en temps réel. Il en résulte une amélioration significative des performances dans les environnements soumis à de fortes vibrations par rapport à la génération précédente de disques.

Récupération sur erreur limitée dans le temps (TLER) spécifique au RAID Empêche les défaillances de lecteur causées par les processus étendus de récupération sur erreur de disque dur communs aux lecteurs de bureau.

http://en.wikipedia.org/wiki/Error_recovery_control#Overview

Aussi s'il vous plaît voir le lien ci-dessous:

http://en.wikipedia.org/wiki/Error_recovery_control#Raid_Controllers

Voir également: Western Digital TLER Document expliquant en détail le processus de récupération d'erreur. Prévention des erreurs de récupération des erreurs sur les disques durs Serial ATA WD Caviar RAID Edition:

http://www.3dfxzone.it/public/files/2579-001098.pdf


7
2018-02-25 19:34





Juste une supposition: les disques durs sont configurés pour réessayer les erreurs de lecture plutôt que de signaler une erreur. Bien que ce comportement soit souhaitable dans un environnement de bureau, il est contre-productif dans un RAID (le contrôleur doit réécrire tout secteur dans lequel la lecture des autres disques échoue pour que le lecteur puisse le remapper).


6
2017-11-16 13:30



Très possible. Si tel est le cas, il ne fait aucun doute que ce n’est pas cool, car ils sont spécifiés comme des unités "Édition RAID". : | - Stu Thompson
Absolument pas cool, car ce paramètre est la définition même de "édition RAID" :) - Simon Richter


mon coup dans le noir:

  • le lecteur 7 échoue. il a des fenêtres d'échec où il n'est pas disponible.

  • le lecteur 8 contient également des erreurs plus "légères"; corrigé en réessayant.

  • RAID10 est généralement "un RAID0 de plusieurs paires RAID1", les lecteurs 7 et 8 sont-ils membres de la même paire?

si tel est le cas, il semble que vous rencontriez le cas "ne devrait pas arriver" de défaillance de deux disques sur la même paire. presque la seule chose qui peut tuer un RAID10. Malheureusement, cela peut arriver si tous vos lecteurs proviennent du même lot d'expédition, ce qui les rend légèrement plus susceptibles de mourir simultanément.

J'imagine qu'en cas de panne du lecteur 7, le contrôleur a redirigé toutes les lectures sur le lecteur 8; toute tentative de nouvelle erreur entraînait de gros délais qui provoquaient une avalanche de tâches bloquées, ce qui réduisait les performances pendant un certain temps.

vous avez de la chance que le lecteur 8 ne semble pas encore mort, vous devriez donc pouvoir réparer sans dataloss.

Je commencerais par changer les deux lecteurs sans oublier de vérifier le câblage. Ceci pourrait être causé par une connexion lâche. Si vous ne le faites pas correctement, cela risque davantage de se produire dans les lecteurs adjacents. De plus, certaines cartes multiport ont plusieurs connecteurs à deux ports. Si les lecteurs 7 et 8 se trouvent sur le même, cela pourrait être la source de votre problème.


6
2017-11-16 14:11



Le lecteur 8 est la cause de l'interruption du service, je l'ai déjà tiré. Le lecteur 7, alors qu’il a perdu certains sektors, est dans cet état depuis un certain temps et fonctionne toujours bien. Non, ils sont dans des paires différentes. (C’était quelque chose que j’avais envisagé, ainsi qu’un désalignement possible de mes requêtes Cacti / SNMP.)  La carte possède 16 ports, 4 câbles, 4 ports par câble dans un panneau arrière. Si le problème concerne la carte, le câble ou le fond de panier, je le saurai assez tôt lors de l'insertion du lecteur de remplacement 8. - Stu Thompson


Les cartes intercalaires SATA sont une autre solution.

J'ai récemment connu exactement le même sort et j'ai trouvé ce fil. La teneur générale est que SAS protocole convient mieux au RAID que le SATA, car SATA manque de fonctionnalités. C'est pourquoi les mêmes disques physiques sont équipés de contrôleurs SAS, puis vendus sous le nom de Nearline SAS.

En cherchant plus loin, j'ai trouvé:

http://www.lsi.com/products/storagecomponents/Pages/LSISS9252.aspx

J'enquête sur la mise à niveau de l'un de mes stockages avec un lot de ces derniers. Actuellement, la différence de prix entre 3 To SATA et SAS est de 400% (prix de la vanille, même marque, caractéristiques et magasin, Allemagne). Je ne peux évidemment pas dire si cette stratégie fonctionne bien, mais cela vaut la peine d'essayer.

Commentaires très bienvenus :-)


3
2018-02-22 19:12



Eh bien belle théorie. Après avoir rassemblé certaines informations, seuls les fabricants de bacs de stockage peuvent intégrer ces cartes et leur ajout ne signifie pas nécessairement une meilleure gestion des erreurs. - korkman


J'ai vu un disque SATA avec des composants électroniques défectueux verrouiller solidement le démarrage d'un firmware d'un Areca 12; il n'y avait aucun moyen d'accéder au BIOS et encore moins de démarrer la machine à partir de n'importe quel support tant que le disque dur incriminé n'a pas été trouvé en extrayant des disques dans un fichier binaire. mode de recherche.


2
2018-05-06 18:57