2012-04-02 3 views
1

セカンダリ(sdb)ハードディスクが故障しているかどうかを30秒ごとにチェックしてみたいと思います。そうする最も最適な方法は何でしょうか。/dev/sdbが存在するかどうかを確認するだけでよいのでしょうか、それとも良い方法がありますか? また、プライマリが失敗した場合はセカンダリハードドライブからチェックしたいと思います。もしそうなら、再起動コマンドを実行したいと思います。セカンダリハードドライブは、私は常にプライマリハードドライブは、私は常にwhileループセカンダリハードディスクが故障していないか常に確認しています

でこれを実行できなかったかどうかを確認するにはループ

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 

私はハードドライブの故障を模倣する方法はわかりませんが、私はこのやり方や入力方法、 deは動くでしょう。 事前にお手伝いいただき、ありがとうございます。

+0

興味があるだけ存在するかどうかをチェックしてみてください問題をクリアしているようですか? – ArjunShankar

+0

ループでコードを実行するよりも、cronジョブが効率的です。 – Benjamin

+1

あなたはこれを考慮したいと思うかもしれません:ハードドライブの故障は、 '/ dev'から消えるデバイスファイルに必ずしも対応しないかもしれません。 – ArjunShankar

答えて

5

問題は、/ dev/sd_の存在がドライブ機能に明確に結びついていないことです。私はドライブが火を奪う可能性があり、あなたはまだ/ devノードを持っているかもしれないと思います。

ハードウェアでサポートされている場合は、S.M.A.R.T.、具体的にはsomething like smartdを参照してください。あなたはセカンダリハードドライブは何使うのです:

+0

+1。これは、HDDがスマートに対応していれば、正しい方法です。また:http://linux.die.net/man/8/smartd – ArjunShankar

+0

私はこれを試しました。それがまさに必要なものです。どうもありがとうございました :) – Quillion

1

RAID1(md)の使用を検討してください。この場合、システムは自動的にチェックを行い、すべてのハウスキーピングを自動的に行います。

注:ハードドライブがクラッシュした場合は、直接再起動することはお勧めできません。

関連する問題