CentOS 6.4 64 ビットを実行している hp DL380 G5 サーバーで、数日に 1 回、ランダムに、外付け USB ハード ディスクへのバックアップが失敗します。 をcd /mnt/backup
実行しても、というエラーls
メッセージが表示されますls: reading directory .: Input/output error
が、というmount -l
レポート/dev/sda1 on /mnt/backup type ext4 (rw)
が表示されます。 オンサイトで確認してもらうと、必ず、外付けドライブのライトがゆっくり点滅しているという報告が返ってきます。これは、スリープ状態の場合、正常な動作のようです。 しかし、rsnapshot が実行されるまでスリープ状態に入るように要求していないのですが、rsnapshot によって、その前にスクリプトが失敗します。 電力を節約しようとしているのでしょうか。 これを回避するにはどうすればよいでしょうか。
rsnapshot は次のように不満を述べています:
/usr/bin/rsnapshot daily: ERROR: /mnt/backup/.snapshots does not exist.
もちろん、現場の担当者がドライブを抜き差しすれば、再マウントできますし、.snapshots
確かに存在し、rsnapshot はエラーなしで実行されます。次のランダムな発生までしばらくは、ということです。ところで、これはかなり新しい WD Passport ドライブです。
それで、どうやって起きたままにしておくように指示すればいいのでしょうか?
答え1
このハードウェア電源オフが Linux カーネルの通常の機能であれば、正しく処理されます。いや、これは HP ハードウェアからの素晴らしいサプライズだと思います。
簡単な回避策を提案します。crontab に以下を入力してください:
* * * * * dd if=/dev/sda of=/dev/null bs=512 count=1
これにより、ペンドライブのパーティション テーブルが 1 分ごとに読み込まれます。ペンドライブからの読み取り操作のみが行われるため、ペンドライブの寿命が短くなることはありませんが、スリープ モードがオンになるのを防ぎます。
私のシステムでは、このような問題は発生しませんでした。ペンドライブがマウントされている場合はマウントされ、それを忘れて 2 週間後にそのパーティションを使用しようとした場合、カーネル警告が 1 つも表示されずに電源をオンにすることができました。
答え2
おそらく、HDD スリープとファームウェア キャッシュを防ぐ最善の方法は、ディスクのランダムなセクターを読み取ることです。
* * * * * bash -c 'dd if=/dev/sda of=/dev/null count=1 skip=$RANDOM'
私にとっては問題なく動作しました。