我希望经常(每隔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我不确定如何模拟硬盘故障,但我希望得到关于如何做到这一点的输入和/或建议,以及代码是否可以工作。提前感谢任何人的帮助:)
发布于 2012-04-02 23:57:36
问题是/dev /sd_的存在与驱动器的功能没有明确的联系,我认为驱动器可能会着火,你可能仍然有一个/dev节点。
相反,请尝试使用S.M.A.R.T.,如果您的硬件支持something like smartd,请特别使用它。
发布于 2012-04-02 23:48:21
考虑一下使用RAID1 (md) -在这种情况下,系统会自动执行检查和所有的内务处理。
注:如果硬盘崩溃,直接重新启动可能不是一个好主意。
发布于 2013-06-28 06:25:40
digitalRoss发布的这个S.M.A.R.T链接似乎清除了http://sourceforge.net/projects/smartmontools/?_test=b hard drive try checking if语句if /dev/sdb存在的问题
https://stackoverflow.com/questions/9979047
复制相似问题