Identificare fisicamente il disco rigido guasto


25

Quindi, supponiamo che il tuo server avesse 6 dischi rigidi sani. Un'unità si guasta (non si monterà / rileverà, abbandonerà il raid con errori) o si guasterà (SMART peggiora, ecc.). Devi sostituire il disco rigido. Quando apri il case vedi sei dischi rigidi identici.

Come si può sapere quale non è più in salute / montaggio / funzionamento?

Il sistema sarebbe Linux, molto probabilmente il server Ubuntu, usando al massimo il software RAID. I dischi rigidi sarebbero SATA e collegati direttamente alla scheda madre. (nessun controller raid)

Non voglio disconnettere casualmente le unità fino a quando non scelgo quella corretta. Le unità sembrano tutte identiche a me; Immagino che ci sia un modo comune per identificare quale unità è quella di cui non sono a conoscenza. Qualcuno ha qualche puntatore / suggerimento / best practice? Grazie!

EDIT: Volevo che questo fosse "generalizzato" in un modo ondulato a mano, ma era appena uscito come "incompleto" e "orribile". Colpa mia!


4
Se devi spegnere la macchina e capire quale disco rigido è cosa, dovresti prenderti il ​​tempo mentre la macchina è spenta per identificare ogni disco rigido ed etichettarlo in qualche modo, quindi questo quando si verifica di nuovo, non hai questo problema.
Roy Rico,

2
Un "RAID (o altro)"? Sembra un utente allentato all'interno della sala macchine.
Romandia,

1
Un server appropriato ti dirà quale unità accendendo l'indicatore di errore dell'unità dell'unità guasta.
John Gardeniers,

8
Amico, tutti sono così veloci a saltare su questo come essere ingenui ... francamente, penso che sia una buona domanda, una che ho dovuto affrontare da solo!
Mark Henderson

2
Sono curioso di sapere se lì, per scopi amatoriali, è possibile in qualche modo costruire (con il saldatore in mano e così via) guidare i LED di segnalazione per identificarli fisicamente all'interno di un sistema operativo casuale (quando non c'è un discreto controller disco / raid di livello server presente per fare la loro magia) ...
Oskar Duveborn,

Risposte:


26

Ho avuto questo esatto problema su un server (tower) proprio come hai spiegato, ed è stato facile:

smartctl produrrà il numero seriale dell'unità

I venditori a volte spediscono i propri strumenti specifici, come hdparm, che farà lo stesso.

Quindi emetti il ​​seriale dell'unità difettosa, quindi utilizza lo specchio di un dentista e una torcia per trovare l'unità.

Su un rack di solito avrai spie come hanno detto altre persone, ma scommetto che lo stesso si applicherebbe.


Whoops ... smartctl, non hdparm era quello a cui sto pensando. Devo modificare la mia risposta per riflettere ciò.
Bart Silverstrim,

votato per avermi ricordato il comando giusto :-)
Bart Silverstrim,

1
hdparm -i mi mostra i numeri di serie dei miei dischi - Potrebbe essere una risposta specifica del fornitore, però
Ian Clelland,

1
eccellente! Non posso provarlo ora ma sembra che questa sia la risposta! Ora etichetterò i miei dischi rigidi con le ultime N cifre dei loro numeri di serie (supponendo che questo sia univoco, per server) in un posto che è esposto mentre montato. Anche da Google il comando sembra essere "smartctl -i"
privatehuff

15

L'inserimento di adesivi sulle unità (a seconda del design del vassoio) potrebbe non essere fattibile. Al momento della morte dell'unità, gli adesivi potrebbero essere asciugati e fatti cadere.

ledctl (dal pacchetto ledmon) è davvero la strada da percorrere.

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

o

ledctl locate=/dev/sda

illuminerà la spia di guasto dell'unità sul telaio per l'unità specificata. Ho fornito due esempi per illustrare che non importa come si identifica l'unità. È possibile utilizzare seriale, nome, ecc ... È possibile utilizzare qualsiasi informazione disponibile. Le unità sono referenziate in diversi modi nel percorso / dev / e / dev / disk /.

Per spegnere la luce, basta eseguirla di nuovo, cambiando Locate in Locate_off in questo modo:

ledctl locate_off=/dev/sda

6

Di solito dovresti sperare che le connessioni siano etichettate in qualche modo quindi funzionino dall'identità del dispositivo guasto. Ad esempio ... e qualcuno dovrebbe commentare per correggermi ... se hai due canali IDE, hai fino a 2 unità su ciascuno, potresti avere sda, sdb, sdc e sdd. Se sdd fallisse sarebbe la seconda unità sul cavo del secondo canale IDE.

Se è SATA e come il sistema che ho nella stanza sul retro, le porte sono etichettate per ciascuna delle unità SATA. Ancora una volta, le lettere di unità vanno da un qualunque cosa le unità salgono, a partire dalla porta 0 dei connettori SATA e salendo.

Se ci sono differenze di fabbricazione, dmesg | grep sd o dmesg | grep hd dovrebbe fornire alcuni indizi.

Se hai i numeri di serie disponibili, penso che il comando hdparm potrebbe dartelo nel software in modo da poterlo rintracciare in quel modo. Potresti voler etichettare le unità da qualche parte se è così, quindi non devi preoccuparti di questo quando scopri che c'è un problema.

... Sapevo che c'era un altro motivo per cui preferivo il RAID hardware al RAID software ... luci lampeggianti. Mi piacciono molto le luci lampeggianti.

EDIT: smartctl, non hdparm, fornisce il numero seriale. Colpa mia.


+1 per le luci lampeggianti
Oskar Duveborn,

3

Alcune unità espongono un "file" di individuazione /sysin cui è possibile fare eco a 1 per accendere la spia di individuazione o 0 per spegnere.

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

Non ne avevo idea! Questo è fantastico!
diq

2

Sei HDDS interni? Se si tratta di unità hot swap esterne, è probabile che il vettore hot swap abbia una spia di errore che consente di identificare l'unità guasta. Inoltre, molti programmi di gestione delle incursioni hanno un'opzione per far lampeggiare la luce su un determinato disco per determinare quale sia quale. Se sono tutti interni senza luci, allora sei nel tuo software RAID che ti dice quali ID sono buoni e guarda gli ID SCSI, ecc. Per capirlo. Se sono impostati su auto, il documento del controller RAID dovrebbe indicare a quale ordine nella catena SCSI sono assegnati gli ID. In bocca al lupo. Fai un backup ora mentre le cose sono ancora in esecuzione!


2

Per lo meno il software / controller RAID che ti ha detto dell'unità guasta dovrebbe dirti quale unità si è guasta (numero ID). 0 è di solito quello in alto a sinistra, spostandosi verso il basso, quindi verso destra (se in due o più colonne). Le porte sono probabilmente etichettate.


2

Per una risposta breve - "lsscsi" Per una risposta dettagliata - "lshw -c disk" mostrerà le porte HDD e SATA in cui sono collegate.


2

Se non hai luce di localizzazione e non riesci a trovare facilmente i numeri di serie all'esterno delle unità, a volte questa tecnica di formaggio può aiutare: creare MOLTA attività su quella specifica unità e quindi cercare l'unità con il LED di attività acceso fisso . È meglio seguire un controllo più dettagliato del numero di serie, ma questo può aiutare a restringere la ricerca.

Per esempio:

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

(Il ciclo while non è tecnicamente necessario, ma manterrà le cose in movimento mentre ci si dirige verso il data center. Il "sleep 1" aiuta ad evitare l'uso elevato della CPU creato da un ciclo veloce se il "dd" non riesce a causa di dire .. . l'unità viene disconnessa.)


1

Quando tutto il resto fallisce, è possibile identificare le unità non guaste e lavorare all'indietro.

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

Qualunque sia la spia delle attività delle unità NON si accendono, probabilmente sono difettose (e si spera sia solo una.) Nota che se hai hot-spares configurato, anche questi non si accendono.


0

Dovrebbero essere etichettati sullo chassis e corrispondere al software RAID.

Sui nostri Dells, non sono come penseresti. Sul nostro 0: 0 è in basso a sinistra, 0: 1 in alto a sinistra, 0: 2 in basso al centro, ecc. In tutti i server che ho usato (tranne i lavori fatti in casa), il software RAID indicherà la porta, e sarà etichettati.


0

scsirastools ha una serie di strumenti che ti permettono di fare vari test diagnostici sui dischi SCSI. Puoi anche utilizzare sgmon per spegnere un disco sotto il controllo del software. Ciò ti consentirebbe almeno di identificare il disco fisico che potresti individuare con la diagnostica.

Se si dispone di un controller RAID hardware, il BIOS o il software di gestione del controller dovrebbe disporre di una funzione che consenta di identificare i dischi danneggiati.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.