不断检查二级硬盘驱动器是否出现故障

时间:2012-04-02 15:20:14

标签: linux bash unix hard-drive

我希望不断(每30秒)检查并查看辅助(sdb)硬盘驱动器是否出现故障。这样做的最佳方式是什么。我应该通过简单地查看/ dev / sdb是否存在来检查,还是有更好的方法? 另外我想检查辅助硬盘驱动器是否主要失败,如果是,我想执行重启命令。

目前我正在考虑做

为了检查辅助硬盘驱动器是否出现故障,我会在while循环中不断执行此操作

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

要检查主硬盘驱动器是否出现故障,我会在while循环中不断执行此操作

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

我不确定如何模仿硬盘驱动器故障,但我想要输入和/或建议如何执行此操作,以及代码是否有效。 感谢任何人提前帮助他们:)

3 个答案:

答案 0 :(得分:5)

问题是/ dev / sd_的存在与驱动功能没有明显的联系。我认为驱动器可能会着火,你可能仍然有一个/ dev节点。

相反,如果您的硬件支持,请尝试查看S.M.A.R.T.,特别是something like smartd

答案 1 :(得分:1)

考虑使用RAID1(md) - 在这种情况下,系统会自动进行检查和所有内务管理。

注意:如果硬盘崩溃,直接重启可能不是一个好主意。

答案 2 :(得分:0)

digitalRoss发布的S.M.A.R.T链接似乎清除了问题http://sourceforge.net/projects/smartmontools/?_test=b hard drive尝试检查if / dev / sdb是否存在