Zidentyfikuj fizycznie uszkodzony dysk twardy

25

Powiedzmy, że twój serwer miał 6 zdrowych dysków twardych. Napęd ulega awarii (nie można go zamontować / wykryć, wypadnie z rajdu z błędami) lub ulega awarii (SMART pogarsza się itp.). Musisz wymienić zły dysk. Po otwarciu skrzynki zobaczysz ... sześć identycznych dysków twardych.

Jak rozpoznać, który z nich nie jest już zdrowy / montowany / funkcjonuje?

Systemem byłby system Linux, najprawdopodobniej serwer Ubuntu, korzystający z co najmniej prostego oprogramowania RAID. Dyski twarde byłyby SATA i podłączone bezpośrednio do płyty głównej. (bez kontrolera RAID)

Nie chcę losowo odłączać dysków, dopóki nie wybiorę właściwego. Wszystkie dyski wydają się identyczne ze mną; Wyobrażam sobie, że istnieje jakiś powszechny sposób na określenie, który dysk jest nieświadomy. Czy ktoś ma jakieś wskazówki / porady / najlepsze praktyki? Dzięki!

EDYCJA: Chciałem, żeby to było „uogólnione” w sposób falisty, ale po prostu okazało się, że jest „niekompletne” i „okropne”. Mój błąd!

privatehuff
źródło
4
Jeśli musisz wyłączyć maszynę i dowiedzieć się, który dysk twardy jest odpowiedni, powinieneś poświęcić trochę czasu, gdy maszyna jest wyłączona, aby zidentyfikować każdy dysk twardy i oznaczyć go w jakiś sposób, więc gdy to się powtórzy, nie masz tego kwestia.
Roy Rico,
2
„RAID (czy cokolwiek)”? Brzmi jak luźny użytkownik w maszynowni.
romandas
1
Właściwy serwer powie ci, który dysk, włączając wskaźnik błędu dysku uszkodzonego dysku.
John Gardeniers,
8
Człowieku, wszyscy tak szybko wskakują na to jak naiwni ... szczerze mówiąc, myślę, że to dobre pytanie, z którym musiałem sobie poradzić!
Mark Henderson
2
Jestem ciekawy, czy tam, dla celów hobbystycznych, można w jakiś sposób skonstruować (z lutownicą w dłoni i tak dalej) napędzać diody sygnalizacyjne, aby zidentyfikować je fizycznie z losowego systemu operacyjnego (gdy nie ma przyzwoitego kontrolera dysku / raidu klasy serwerowej obecni, aby wykonać swoją magię) ...
Oskar Duveborn

Odpowiedzi:

26

Miałem dokładnie ten problem na serwerze (wieżowym), tak jak to wyjaśniłeś, i było to łatwe:

smartctl wyświetli numer seryjny napędu

Sprzedawcy czasami wysyłają własne narzędzia, takie jak hdparm, które robią to samo.

Więc wypisz numer seryjny uszkodzonego dysku, a następnie użyj lusterka dentystycznego i latarki, aby znaleźć dysk.

Na stojaku zwykle masz lampki sygnalizacyjne, jak mówili inni, ale założę się, że to samo miałoby zastosowanie.

Tom Ritter
źródło
Ups ... myślę o smartctl, nie hdparm. Muszę edytować swoją odpowiedź, aby to odzwierciedlić.
Bart Silverstrim,
głosowano za przypomnienie mi właściwego polecenia :-)
Bart Silverstrim,
1
hdparm -i pokazuje mi numery seryjne moich dysków - może to być jednak odpowiedź specyficzna dla dostawcy
Ian Clelland
1
doskonały! Nie mogę tego teraz spróbować, ale wygląda na to, że to odpowiedź! Teraz będę oznaczać dyski twarde ostatnimi N cyframi ich numerów seryjnych (zakładając, że jest to unikatowe dla każdego serwera) w miejscu, które jest widoczne podczas montażu. Również po googlowaniu komenda wygląda na „smartctl -i”
privatehuff
15

Naklejanie naklejek na dyski (w zależności od konstrukcji tacy) może być niemożliwe. Zanim dysk umrze, naklejki mogą wyschnąć i spaść.

ledctl (z pakietu ledmon) jest naprawdę dobrym rozwiązaniem.

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

lub

ledctl locate=/dev/sda

zapali się lampka awarii napędu na obudowie dla określonego napędu. Podałem dwa przykłady, aby zilustrować, że nie ma znaczenia JAK zidentyfikujesz dysk. Możesz użyć numeru seryjnego, nazwy itp. ... Można użyć dowolnej dostępnej informacji. Dyski są wymieniane na wiele sposobów w ścieżce / dev / i / dev / disk /.

Aby wyłączyć światło, po prostu uruchom je ponownie, zmieniając locate na locate_off w następujący sposób:

ledctl locate_off=/dev/sda
UCS75
źródło
6

Zwykle trzeba mieć nadzieję, że połączenia są w jakiś sposób oznakowane, a następnie pracować na podstawie tożsamości uszkodzonego urządzenia. Na przykład ... a ktoś musiałby skomentować, aby mnie poprawić ... jeśli masz dwa kanały IDE, masz do 2 dysków na każdym, możesz mieć sda, sdb, sdc i sdd. Jeśli SDD nie powiedzie się, będzie to drugi dysk na kablu drugiego kanału IDE.

Jeśli jest to SATA i podobnie jak system, który mam na zapleczu, porty są oznaczone dla każdego z dysków sata. Ponownie, litery dysków zaczynają się od „do”, niezależnie od tego, do czego prowadzą dyski, zaczynając od portu 0 złączy SATA i przesuwając się w górę.

Jeśli istnieją jakiekolwiek różnice produkcyjne, dmesg | grep sd lub dmesg | grep hd powinny dać pewne wskazówki.

Jeśli masz dostępne numery seryjne, myślę, że polecenie hdparm może ci je dać w oprogramowaniu, abyś mógł je w ten sposób prześledzić. Jeśli tak jest, możesz chcieć gdzieś oznaczyć dyski, więc nie musisz się tym martwić, gdy znajdziesz jakiś problem.

... wiedziałem, że istnieje inny powód, dla którego wolę sprzętową macierz RAID niż programową macierz RAID ... migające lampki. Naprawdę lubię mrugające światła.

EDYCJA: smartctl, nie hdparm, podaje numer seryjny. Mój błąd.

Bart Silverstrim
źródło
+1 za mrugające światła
Oskar Duveborn
3

Niektóre dyski wyświetlają „plik” lokalizacji, w /sysktórym można powtórzyć 1, aby włączyć lampkę wskaźnika lokalizacji lub 0, aby wyłączyć.

$ for light in $( find /sys -name "locate" ) ; do echo 1 > $light ; sleep 10 ; echo 0 > $light; done
crh
źródło
Nie miałem o tym pojęcia! To jest świetne!
diq
2

Sześć wewnętrznych HDDS? Jeśli są to zewnętrzne dyski z funkcją wymiany podczas pracy, nośnik wymiany podczas pracy prawdopodobnie ma lampkę błędu, która pomaga zidentyfikować uszkodzony dysk. Również wiele programów do zarządzania rajdami ma opcję flashowania światła na konkretnym dysku, aby ustalić, który jest który. Jeśli wszystkie są wewnętrzne bez świateł, oznacza to, że program RAID mówi ci, które identyfikatory są dobre, i patrzysz na identyfikatory SCSI itp., Aby je rozgryźć. Jeśli są ustawione na automatyczne, to dokument kontrolera RAID powinien powiedzieć, w jakiej kolejności w łańcuchu SCSI przypisane są identyfikatory. Powodzenia. Zrób kopię zapasową teraz, gdy wszystko jeszcze działa!

BillN
źródło
2

Przynajmniej oprogramowanie / kontroler RAID, który powiedział ci o uszkodzonym dysku, powinien poinformować cię, który dysk się zepsuł (numer identyfikacyjny). 0 jest zwykle tym w lewym górnym rogu, przesuwającym się w dół, a następnie w prawo (jeśli jest w dwóch lub więcej kolumnach). Porty są prawdopodobnie oznaczone.

mrdenny
źródło
2

Krótka odpowiedź - „lsscsi” Szczegółowa odpowiedź - „lshw -c disk” pokaże porty HDD i SATA, w których te są podłączone.

Sarath Kumar S.
źródło
2

Jeśli nie masz światła lokalizacji i nie możesz łatwo znaleźć numerów seryjnych na zewnątrz dysków, czasami ta tandetna technika może pomóc: stworzyć DUŻĄ aktywność na tym konkretnym dysku, a następnie poszukaj dysku z diodą LED aktywności na stałe . Najlepiej jest przeprowadzić bardziej szczegółową kontrolę numeru seryjnego, ale może to pomóc w zawężeniu wyszukiwania.

Na przykład:

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

(Pętla while nie jest technicznie potrzebna, ale będzie utrzymywać ruch podczas przechodzenia do centrum danych. „Uśpienie 1” pomaga uniknąć dużego obciążenia procesora spowodowanego przez szybką pętlę, jeśli „dd” zawiedzie z powodu powiedzenia .. . dysk jest odłączany).

Steve Bonds
źródło
1

Gdy wszystko inne zawiedzie, możesz zidentyfikować nie uszkodzone dyski i pracować wstecz.

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

Niezależnie od tego, które lampki aktywności napędów NIE zapalą się, są prawdopodobnie złe (i mam nadzieję, że to tylko jedna). Pamiętaj, że jeśli masz skonfigurowane części zapasowe, również się nie zapalą.

toppledwagon
źródło
0

Powinny być oznaczone na podwoziu i odpowiadać oprogramowaniu RAID.

W naszych komputerach Dell nie są takie, jak myślisz. W naszym 0: 0 to lewy dolny róg, 0: 1 to górny lewy, 0: 2 to dolny środkowy itd. Na wszystkich serwerach, z których korzystałem (z wyjątkiem zadań domowych), oprogramowanie RAID wskaże port i będzie to oznaczone.

dubRun
źródło
0

scsirastools ma zestaw narzędzi, które pozwalają przeprowadzać różne testy diagnostyczne na dyskach SCSI. Możesz także użyć sgmon, aby wyłączyć dysk pod kontrolą oprogramowania. Pozwoliłoby to przynajmniej zidentyfikować fizyczny dysk, który można zlokalizować za pomocą diagnostyki.

Jeśli masz sprzętowy kontroler RAID, system BIOS lub oprogramowanie zarządzające kontrolera powinno mieć narzędzie umożliwiające identyfikację uszkodzonych dysków.

ConcernedOfTunbridgeWells
źródło