Есть ли способ программно контролировать индикаторы активности жесткого диска в Linux? - PullRequest
2 голосов
/ 25 октября 2010

Также как в основном вопросе, есть ли способ сделать это? (Кроме того, чтобы вызвать высокую нагрузку IO) Может быть, какое-то средство в глубине ядра, которое контролирует это?

Я хочу написать небольшой скрипт для определения неисправных дисков в моем программном массиве raid. (Мигание индикатора активности определенным повторяющимся образом и т. Д.)

Я прочитал обо всех хороших идеях здесь: https://serverfault.com/questions/64239/physically-identify-the-failed-hard-drive к сожалению, я не пометил ни один из своих накопителей, и все они сгруппированы вместе, так что просмотр серийных номеров отсутствует.

Ответы [ 2 ]

3 голосов
/ 25 октября 2010

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

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

#!/bin/bash

badDrive=$1
while true ; do
    dd -if "$badDrive" -of "/dev/null" -bs 512 -count 204800 conv=noerror >/dev/null 2>&1
    sleep 2
done

Это будет считывать 100 МБ с диска, игнорируя ошибки чтения, спать в течение двух секунд, а затем сделать это снова.Передайте путь к устройству на жестком диске, например /dev/sda.

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

1 голос
/ 15 апреля 2013

Вы можете в своей программе вызвать его

baddrive (Checkdrivestatus)

и ограничить его 10 циклами.

таким образом, вы можете запустить flashbaddrive, он, в свою очередь, проверит drivestatus и передаст его baddrive, чтобы прошить неисправный диск на 10 секунд или около того, и отключится.

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

На жестких дисках они обычно работают без интерфейса sata / scsi / ide или с разъема на плате контроллера.

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

другая стратегия заключается в последовательном доступе к дискам / dev / sda, sdb, sdc, sde, sdf и т. Д. и вы можете увидеть, торчит ли свет, или не загорается. полностью мертвый диск может погасить свет в зависимости от того, как контроллер настроен для доступа к нему.

...