Назад | Перейти на главную страницу

Определите физически неисправный жесткий диск

Итак, допустим, на вашем сервере 6 исправных жестких дисков. Диск выходит из строя (не монтируется / обнаруживается, выходит из рейда с ошибками) или выходит из строя (ухудшение SMART и т. Д.). Вам нужно заменить неисправный диск. Когда вы открываете корпус, вы видите ... шесть одинаковых жестких дисков.

Как узнать, какой из них уже не здоров / не работает / не работает?

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

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

РЕДАКТИРОВАТЬ: Я хотел, чтобы это было «обобщено» в некоторой степени, но это просто получилось «неполным» и «ужасным». Виноват!

У меня была именно такая проблема на (башенном) сервере, как вы объяснили, и это было легко:

smartctl выведет серийный номер диска

Иногда поставщики поставляют свои собственные инструменты, такие как hdparm, которые делают то же самое.

Так что выведите серийный номер неисправного диска, а затем используйте зеркало стоматолога и фонарик, чтобы найти диск.

На стойке у вас обычно будут световые индикаторы, как говорили другие, но я уверен, что то же самое применимо.

Наклеить наклейки на диски (в зависимости от конструкции лотка) может быть невозможно. К моменту выхода из строя накопителя наклейки могут высохнуть и отвалиться.

ledctl (из пакета ledmon) действительно подходит для этого.

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

или

ledctl locate=/dev/sda

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

Чтобы снова выключить свет, просто запустите его снова, изменив locate на locate_off следующим образом:

ledctl locate_off=/dev/sda

Обычно вы должны надеяться, что соединения каким-то образом помечены, а затем будут работать с идентификатором отказавшего устройства. Например ... и кто-то должен был бы прокомментировать меня ... если у вас есть два канала IDE, у вас есть до 2 дисков на каждом, у вас могут быть sda, sdb, sdc и sdd. В случае сбоя sdd это будет второй диск на кабеле второго канала IDE.

Если это SATA и такая же система, как у меня в задней комнате, порты помечены для каждого из дисков sata. Опять же, буквы дисков идут от a до того, к чему идут диски, начиная с порта 0 разъемов SATA и продвигаясь вверх.

Если есть какие-либо производственные различия, dmesg | grep sd или dmesg | grep hd должны дать некоторые подсказки.

Если у вас есть серийные номера, я думаю, что команда hdparm может предоставить их вам в программном обеспечении, чтобы вы могли отследить их таким образом. Возможно, вы захотите где-нибудь пометить диски, чтобы не беспокоиться об этом, когда вы обнаружите проблему.

... Я знал, что есть еще одна причина, по которой я предпочел аппаратный RAID программному RAID ... мигающие индикаторы. Очень нравится мигающий свет.

РЕДАКТИРОВАТЬ: smartctl, а не hdparm, дает серийный номер. Виноват.

Некоторые диски предоставляют "файл" в /sys в который вы можете повторить эхо 1 для включения светового индикатора локации или 0 для выключения.

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

Для краткого ответа - «lsscsi». Для подробного ответа - «lshw -c disk» покажет вам порты жесткого диска и SATA, к которым они подключены.

Если у вас нет светового индикатора и вы не можете легко найти серийные номера на внешней стороне дисков, иногда может помочь эта дрянная техника: создайте БОЛЬШУЮ активность на этом конкретном диске, а затем найдите диск с горящим индикатором активности . Лучше всего дополнительно проверить серийный номер, но это может помочь сузить поиск.

Например.:

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

(Цикл while технически не нужен, но он будет поддерживать работу, пока вы отправляетесь в центр обработки данных. «Сон 1» помогает избежать высокой загрузки ЦП, создаваемой быстрым циклом, если «dd» выходит из строя из-за того, что ... .. привод отключается.)

Шесть внутренних HDDS? Если это внешние диски с горячей заменой, скорее всего, на носителе с горячей заменой есть индикатор ошибки, который поможет вам определить неисправный диск. Также многие программы управления Raid имеют возможность мигать светом на конкретном диске, чтобы определить, какой из них есть. Если они все внутренние и не имеют индикаторов, значит, вам нужно, чтобы программное обеспечение RAID сообщало вам, какие идентификаторы подходят, и просматривает идентификаторы SCSI и т. Д., Чтобы понять это. Если для них установлено значение auto, то в документации вашего RAID-контроллера должно быть указано, в каком порядке в цепочке SCSI назначены идентификаторы. Удачи. Сделайте резервную копию сейчас, пока все еще работает!

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

Когда ничего не помогает, вы можете определить исправные диски и работать в обратном направлении.

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

Какие бы индикаторы активности дисков НЕ загорались, скорее всего, это плохо (и, надеюсь, это только один). Обратите внимание, что если у вас настроено горячее резервирование, они тоже не загораются.

Они должны быть нанесены на корпус и соответствовать программному обеспечению RAID.

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

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

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