Identifier physiquement le disque dur défectueux


25

Supposons donc que votre serveur dispose de 6 disques durs sains. Un disque tombe en panne (ne se montera / ne détectera pas, abandonne le raid avec des erreurs) ou échoue (SMART s'aggrave, etc.). Vous devez échanger le mauvais disque. Lorsque vous ouvrez le boîtier, vous voyez .. six disques durs identiques.

Comment savoir lequel n'est plus en bonne santé / montage / fonctionnement?

Le système serait Linux, probablement un serveur Ubuntu, utilisant tout au plus un logiciel RAID simple. Les disques durs seraient SATA et connectés directement à la carte mère. (pas de contrôleur de raid)

Je ne veux pas déconnecter les lecteurs de manière aléatoire jusqu'à ce que je sélectionne le bon. Les lecteurs me semblent tous identiques; J'imagine qu'il existe un moyen commun d'identifier le lecteur dont je ne suis pas au courant. Quelqu'un at-il des conseils / astuces / meilleures pratiques? Merci!

EDIT: J'avais voulu que cela soit «généralisé» d'une manière ondulée à la main, mais il s'est révélé comme «incomplet» et «horrible». Ma faute!


4
Si vous devez arrêter la machine et déterminer de quel disque dur il s'agit, vous devez prendre le temps pendant que la machine est en panne pour identifier chaque disque dur et l'étiqueter d'une certaine manière, donc lorsque cela se reproduira, vous n'avez pas problème.
Roy Rico

2
Un "RAID (ou autre)"? Cela ressemble à un utilisateur lâche à l'intérieur de la salle des machines.
romandas

1
Un serveur approprié vous indiquera quel lecteur en activant l'indicateur d'erreur de lecteur du mauvais lecteur.
John Gardeniers

8
Homme tout le monde est si rapide à sauter sur ce point que d'être naieve ... franchement, je pense que c'est une bonne question, une que j'ai eu à traiter avec moi-même!
Mark Henderson

2
Je suis curieux de savoir s'il est possible, à des fins de loisir, de construire (avec du fer à souder à la main, etc.) des voyants de signalisation pour les identifier physiquement à partir d'un système d'exploitation aléatoire (lorsqu'il n'y a pas de contrôleur de disque / raid de qualité serveur décent) présent pour faire leur magie) ...
Oskar Duveborn

Réponses:


26

J'ai eu ce problème exact sur un serveur (tour) comme vous l'expliquez, et c'était facile:

smartctl affichera le numéro de série du lecteur

Les fournisseurs expédient parfois leurs propres outils spécifiques, comme hdparm, qui feront de même.

Sortez donc la série du mauvais lecteur, puis utilisez un miroir de dentiste et une lampe de poche pour trouver le lecteur.

Sur un rack, vous aurez généralement des voyants lumineux comme d'autres l'ont dit, mais je parie que la même chose s'appliquerait.


Oups ... smartctl, pas hdparm était celui auquel je pense. Je dois modifier ma réponse pour refléter cela.
Bart Silverstrim

a voté pour m'avoir rappelé la bonne commande :-)
Bart Silverstrim

1
hdparm -i me montre les numéros de série de mes disques - Cela peut être une réponse spécifique au fournisseur, cependant
Ian Clelland

1
excellent! Je ne peux pas l'essayer maintenant mais il semble que c'est la réponse! Je vais maintenant étiqueter mes disques durs avec les N derniers chiffres de leurs numéros de série (en supposant que ce soit unique, par serveur) dans un endroit qui est exposé pendant le montage. Aussi de googler la commande semble être "smartctl -i"
privatehuff

15

La pose d'autocollants sur les lecteurs (selon la conception du plateau) peut ne pas être possible. Au moment où le lecteur meurt, les autocollants pourraient être séchés et tomber.

ledctl (du package ledmon) est vraiment la solution.

ledctl locate=/dev/disk/by-id/[drive-id]

ou

ledctl locate=/dev/sda

allumera le voyant de panne du lecteur sur votre châssis pour le lecteur spécifié. J'ai fourni deux exemples pour illustrer que peu importe COMMENT vous identifiez le lecteur. Vous pouvez utiliser le numéro de série, le nom, etc. Toutes les informations dont vous disposez peuvent être utilisées. Les lecteurs sont référencés de plusieurs manières sous le chemin / dev / et / dev / disk /.

Pour éteindre la lumière, il suffit de l'exécuter à nouveau, en modifiant la localisation de Locate_off comme suit:

ledctl locate_off=/dev/sda

6

Habituellement, vous devez espérer que les connexions sont étiquetées d'une certaine manière, puis fonctionnent à partir de l'identité du périphérique défaillant. Par exemple ... et quelqu'un devrait commenter pour me corriger ... si vous avez deux canaux IDE, vous avez jusqu'à 2 lecteurs sur chacun, vous pouvez avoir sda, sdb, sdc et sdd. Si sdd échouait, ce serait le deuxième lecteur sur le câble du deuxième canal IDE.

Si c'est SATA et comme le système que j'ai dans l'arrière-boutique, les ports sont étiquetés pour chacun des disques sata. Encore une fois, le lettrage du lecteur va de à travers tout ce que les lecteurs montent, en commençant par le port 0 des connecteurs SATA et en remontant.

S'il y a des différences de fabrication, le dmesg | grep sd ou dmesg | grep hd devrait donner des indices.

Si vous avez les numéros de série disponibles, je pense que la commande hdparm pourrait vous les donner dans le logiciel afin que vous puissiez les suivre de cette façon. Vous voudrez peut-être étiqueter les disques quelque part si tel est le cas afin que vous n'ayez pas à vous en soucier lorsque vous constatez un problème.

... Je savais qu'il y avait une autre raison pour laquelle je préférais le RAID matériel au RAID logiciel ... des lumières clignotantes. Vraiment comme les lumières clignotantes.

EDIT: smartctl, pas hdparm, donne le numéro de série. Ma faute.


+1 pour les lumières clignotantes
Oskar Duveborn

3

Certains lecteurs exposent un "fichier" de localisation /sysdans lequel vous pouvez faire écho à 1 pour allumer le voyant lumineux de localisation ou 0 pour l'éteindre.

$ for light in $( find /sys -name "locate" ) ; do echo 1 > $light ; sleep 10 ; echo 0 > $light; done

Je n'en avais aucune idée! C'est bien!
diq

2

Six disques durs internes? S'il s'agit de lecteurs externes remplaçables à chaud, le support remplaçable à chaud dispose probablement d'un voyant d'erreur pour vous aider à identifier le mauvais lecteur. De nombreux programmes de gestion de raid ont également la possibilité de faire clignoter la lumière sur un lecteur particulier pour déterminer lequel est lequel. S'ils sont tous internes sans lumière, alors vous êtes dans votre logiciel RAID pour vous dire quels ID sont bons, et regarder les ID SCSI, etc. pour le comprendre. S'ils sont définis sur auto, votre document de contrôleur RAID devrait vous indiquer l'ordre dans la chaîne SCSI auquel les ID sont attribués. Bonne chance. Faites une sauvegarde maintenant pendant que les choses tournent encore!


2

À tout le moins, le logiciel / contrôleur RAID qui vous a parlé du disque défectueux doit vous dire quel disque a échoué (numéro d'identification). 0 est généralement celui en haut à gauche, se déplaçant vers le bas, puis vers la droite (si dans deux colonnes ou plus). Les ports sont probablement étiquetés.


2

Pour une réponse courte - "lsscsi" Pour une réponse détaillée - "lshw -c disk" vous montrera les ports HDD et SATA dans lesquels ceux connectés.


2

Si vous n'avez pas de lumière de localisation et que vous ne pouvez pas facilement trouver les numéros de série à l'extérieur des lecteurs, cette technique ringarde peut parfois vous aider: créez BEAUCOUP d'activité sur ce lecteur spécifique, puis recherchez le lecteur avec la LED d'activité allumée en continu . Il est préférable de poursuivre avec une vérification plus détaillée du numéro de série, mais cela peut aider à affiner la recherche.

Par exemple:

# while true; do dd if=/dev/disk/by-id/scsi-drive-that-is-dying of=/dev/null; sleep 1; done

(La boucle while n'est pas techniquement nécessaire, mais elle gardera les choses en mouvement pendant que vous vous dirigez vers le centre de données. Le "sommeil 1" permet d'éviter l'utilisation élevée du processeur créée par une boucle rapide si le "dd" échoue à cause de dire .. . le lecteur étant déconnecté.)


1

Lorsque tout le reste échoue, vous pouvez identifier les disques non défaillants et revenir en arrière.

find / -type f -exec cat {} \; >> /dev/null

Quels que soient les lecteurs, les voyants d'activité ne s'allument PAS sont probablement mauvais (et j'espère que ce n'est qu'un.) Notez que si vous avez configuré des disques de secours, ils ne s'allumeront pas non plus.


0

Ils doivent être étiquetés sur le châssis et correspondre au logiciel RAID.

Sur nos Dells, ce n'est pas comme vous le pensez. Sur le nôtre 0: 0 est en bas à gauche, 0: 1 est en haut à gauche, 0: 2 est en bas au milieu, etc. Dans tous les serveurs que j'ai utilisés (sauf les travaux faits maison), le logiciel RAID indiquera le port, et ce sera étiquetés.


0

scsirastools dispose d'un ensemble d'outils qui vous permettent d'effectuer divers tests de diagnostic sur des disques SCSI. Vous pouvez également utiliser sgmon pour éteindre un disque sous contrôle logiciel. Cela vous permettrait au moins d'identifier le disque physique de vous pourriez le localiser avec les diagnostics.

Si vous avez un contrôleur RAID matériel, le BIOS ou le logiciel de gestion du contrôleur doit avoir une fonction qui vous permet d'identifier les disques défectueux.

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.