Фізично визначте несправний жорсткий диск


25

Скажімо, у вашого сервера було 6 здорових жорстких дисків. Диск виходить з ладу (не зможе встановити / виявити, випаде з рейду з помилками) або виходить з ладу (SMART стає гіршим тощо). Вам потрібно поміняти поганий диск. Відкриваючи корпус, ви бачите .. шість однакових жорстких дисків.

Як ви можете сказати, хто з них більше не здоровий / діє / функціонує?

Система буде Linux, швидше за все, сервер ubuntu, використовуючи найпростіший програмний RAID. Жорсткі диски були б SATA і підключалися безпосередньо до материнської плати. (немає рейдового контролера)

Я не хочу випадково відключати диски, поки я не виберу правильний. Усі диски здаються мені однаковими; Я думаю, що існує якийсь загальний спосіб визначити, який саме привід, про який я не знаю. Хтось має якісь вказівки / поради / найкращі практики? Спасибі!

EDIT: Я хотів, щоб це було «узагальнено» ручно-хвилястим способом, але це просто вийшло як «неповне» та «жахливе». Моє ліжко!


4
Якщо вам доведеться вимкнути машину і розібратися, який жорсткий диск - це що, ви повинні витратити час, поки машина знижується, щоб ідентифікувати кожен жорсткий диск і позначити його якось так, щоб цього, коли це повториться, у вас цього не було проблема.
Рой Ріко

2
"RAID (чи що завгодно)"? Звучить, як користувач розпущений всередині машинного приміщення.
romandas

1
Правильний сервер підкаже, який диск, увімкнувши індикатор помилки накопичувача поганого диска.
Джон Гарденєр

8
Людина, кожен так швидко стрибає з цього, як наївний ... відверто кажучи, я думаю, що це гарне питання, яке мені довелося зіткнутися з самим собою!
Марк Хендерсон

2
Мені цікаво, якщо там, для хобі, можна якось побудувати (з паяльником в руці і так далі) світлодіодні приводи сигналізації, щоб фізично їх ідентифікувати в межах випадкової ОС (коли немає пристойного дискового / контролера рейдового класу на сервері) присутні, щоб зробити свою магію) ...
Оскар Дювеборн

Відповіді:


26

У мене була така точна проблема на (баштовому) сервері, як ви пояснюєте, і це було просто:

smartctl видасть серійний номер накопичувача

Інколи постачальники постачають свої власні інструменти, такі як hdparm, які будуть робити те саме.

Тому виведіть серію поганого диска, а потім використовуйте дзеркало стоматолога та ліхтарик, щоб знайти привід.

На стійці у вас зазвичай є індикаторні індикатори, як казали інші люди, але я думаю, що те саме стосується.


Упс ... smartctl, а не hdparm був тим, про кого я думаю. Мені потрібно відредагувати свою відповідь, щоб це відобразити.
Барт Сільверстрім

рекомендується нагадати мені правильну команду :-)
Барт Сільверстрім

1
hdparm -i показує мені серійні номери моїх накопичувачів. Це може бути відповідь конкретного постачальника
Ian Clelland,

1
відмінно! Я зараз не можу спробувати, але, схоже, це відповідь! Зараз я позначаю свої жорсткі диски останніми N цифрами їх серійних номерів (якщо припустити, що це унікально, на кожен сервер) у місці, яке виставлено під час встановлення. Також з googling команда виглядає як "smartctl -i"
privatehuff

15

Розміщення наклейок на накопичувачі (залежно від конструкції лотка) може бути неможливим. До вмирання приводу, наклейки могли висихати та опадати.

ledctl (від пакету ledmon) - це справді шлях із цим.

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

або

ledctl locate=/dev/sda

засвітить індикатор несправності накопичувача на вашому шасі для зазначеного приводу. Я подав два приклади, щоб проілюструвати, що не має значення ЯК ви визначите накопичувач. Ви можете використовувати серійні, імена тощо ... Яку б інформацію не було, ви можете використовувати. На диски посилаються декілька способів під / dev / та / dev / disk / path.

Щоб вимкнути світло, просто виконайте його ще раз, змінивши locate на locate_off так:

ledctl locate_off=/dev/sda

6

Зазвичай вам доведеться сподіватися, що з'єднання позначені певним чином, тоді вони працюють з ідентифікацією несправного пристрою. Наприклад ... і комусь доведеться прокоментувати, щоб виправити мене ... якщо у вас є два канали IDE, у вас є до 2 дисків на кожному, ви можете мати sda, sdb, sdc і sdd. Якщо sdd не вдалося, це був би другий привід на кабелі другого каналу IDE.

Якщо це SATA і мені подобається система, яку я маю в задній кімнаті, порти позначаються міткою для кожного з накопичувачів sata. Знову ж, буквене позначення накопичувача проходить через те, на що збираються накопичувачі, починаючи з порту 0 роз'ємів SATA і рухаючись вгору.

Якщо є якісь виробничі відмінності, dmesg | grep sd або dmesg | grep hd повинні дати деякі підказки.

Якщо у вас є серійні номери, я думаю, що команда hdparm може дати вам її в програмному забезпеченні, щоб ви могли простежити її таким чином. Можливо, ви хочете десь позначити накопичувачі, якщо це так, тому вам не доведеться турбуватися про це, коли виявите проблему.

... Я знав, що є ще одна причина, що я віддав перевагу апаратному RAID перед програмним RAID ... миготливими фарами. Дійсно, як блимаючі вогні.

EDIT: smartctl, а не hdparm, дає серійний номер. Моє ліжко.


+1 для мерехтливих вогнів
Оскар Дювеборн

3

Деякі накопичувачі виставляють "файл" локації, /sysв який можна повторити сигнал 1 для ввімкнення індикаторної індикації пошуку або 0 для вимкнення.

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

Я про це не здогадувався! Це чудово!
diq

2

Шість внутрішніх HDDS? Якщо вони є зовнішніми накопичувачами гарячої заміни, носій гарячої заміни, швидше за все, має індикатор помилки, який допоможе вам визначити поганий диск. Також багато програм управління Raid мають можливість спалахнути світло на певному диску, щоб визначити, що це таке. Якщо вони всі внутрішні, без вогнів, то ви перейдете до свого програмного забезпечення RAID, яке повідомляє вам, які ідентифікатори є хорошими, і ви дивитесь на SCSI-ідентифікатори тощо, щоб зрозуміти це. Якщо вони встановлені на автоматичну функцію, то ваш доктор-контролер RAID повинен повідомити вам, в якому порядку в ланцюзі SCSI присвоюються ідентифікатори. Щасти. Візьміть резервну копію зараз, поки все ще працює!


2

Принаймні, програмне забезпечення / контролер RAID, який розповів вам про збій диска, повинен повідомити, який диск вийшов з ладу (ідентифікаційний номер). 0 зазвичай - той, що знаходиться вгорі ліворуч, рухаючись вниз, а потім праворуч (якщо в двох або більше стовпців). Порти, ймовірно, мають маркування.


2

Для короткої відповіді - "lsscsi". Детальна відповідь - "lshw -c диск" покаже вам порти HDD і SATA, в яких вони підключені.


2

Якщо у вас немає місця пошуку та не можете легко знайти серійні номери на зовнішній стороні накопичувачів, іноді ця сирна техніка може допомогти: створіть багато активності на цьому конкретному накопичувачі, а потім шукайте накопичувач із світлодіодним активністю на твердому . Найкраще дотримуватися більш детальної перевірки серійного номера, але це може допомогти звузити пошук.

Наприклад:

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

(Цикл "в той час" технічно не потрібен, але він продовжуватиме рух, поки ви переходите до центру обробки даних. "Сон 1" допомагає уникнути високого використання процесора, створеного швидким циклом, якщо "дд" не вдасться сказати. .привід відключений.)


1

Коли все інше виходить з ладу, ви можете ідентифікувати несправні диски та працювати назад.

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

Незалежно від того, які індикатори активності дисків НЕ включаються, швидше за все, погано (і, сподіваємось, це лише одне.) Зауважте, що якщо у вас налаштовані гарячі запасні частини, вони також не загоряться.


0

Вони повинні бути розміщені на шасі та відповідати програмному забезпеченню RAID.

У наших Dells це не так, як ви могли б подумати. На нашому 0: 0 - ліворуч, 0: 1 - ліворуч внизу, 0: 2 - внизу, середнє і т. Д. На всіх серверах, які я використовував (крім домашніх завдань), програмне забезпечення RAID вказуватиме порт, і він буде маркований.


0

scsirastools має набір інструментів, які дозволяють робити різні діагностичні тести на дисках SCSI. Ви також можете використовувати sgmon для вимкнення диска під управлінням програмним забезпеченням. Це, принаймні, дозволить вам визначити фізичний диск, який ви можете знайти за допомогою діагностики.

Якщо у вас є апаратний RAID-контролер, BIOS контролера або програмне забезпечення для управління повинні мати засоби, що дозволяють ідентифікувати погані диски.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.