Постоянно проверять, не вышел ли из строя второй жесткий диск - PullRequest
1 голос
/ 02 апреля 2012

Я хотел бы постоянно (каждые 30 секунд) проверять и не выходить из строя дополнительный (sdb) жесткий диск.Что было бы наиболее оптимальным способом сделать это.Должен ли я проверить, просто посмотрев, существует ли / dev / sdb, или есть лучший метод?Также я хотел бы проверить со вторичного жесткого диска, если первичный отказал, и если так, я хотел бы выполнить команду перезагрузки.

В настоящее время я думаю сделать

Для проверки, если вторичный жесткий дискне удалось Я постоянно выполняю это в то время как цикл

if [ -e /dev/sda ];
then
    echo "Secondary Hard drive is connected"
    sleep 30s
else
    echo "Secondary Hard drive died"
fi

Чтобы проверить, не вышел ли основной жесткий диск, я постоянно выполняю это в то время как цикл

if [ -e /dev/sda ];
then
    echo "Hard drive is connected"
    sleep 30s
else
    echo "Hard drive died"
    reboot
fi

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

Ответы [ 3 ]

5 голосов
/ 02 апреля 2012

Проблема в том, что существование / dev / sd_ явно не связано с функциональностью диска.Я думаю, что диск может загореться, и у вас все еще может быть узел / dev.

Вместо этого попробуйте взглянуть на SMART и, в частности, на что-то вроде smartd если ваше оборудование поддерживает это.

1 голос
/ 02 апреля 2012

Подумайте об использовании RAID1 (md) - в этом случае система выполняет проверку и всю уборку автоматически.

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

0 голосов
/ 28 июня 2013

Эта SMART-ссылка, которую опубликовал digitalRoss, похоже, решает проблему http://sourceforge.net/projects/smartmontools/?_test=b жесткий диск попробуйте проверить, существует ли утверждение, если / dev / sdb существует

...