smartmontoolsを使用してSMART-Testsを実行するとき、それらは決して終了しません。x86とARMのDebian、x64のOS X、外部ドライブと内部ドライブを含むさまざまな異なるシステムとディスクで、常に「中断(ホストリセット)」が発生します。ディスクをすべて空にしてキャプティブモードで実行した場合でも(ddでゼロ化)。
何が悪いのですか?
smartmontoolsを使用してSMART-Testsを実行するとき、それらは決して終了しません。x86とARMのDebian、x64のOS X、外部ドライブと内部ドライブを含むさまざまな異なるシステムとディスクで、常に「中断(ホストリセット)」が発生します。ディスクをすべて空にしてキャプティブモードで実行した場合でも(ddでゼロ化)。
何が悪いのですか?
回答:
テスト中にドライブが入出力アクティビティを処理しない場合、ドライブがスタンバイ状態になり、Interrupted (host reset)
状態が発生する可能性があります。適切な間隔でディスクからの読み取りを試みます。
while true; do dd if=/dev/disk1 of=/dev/null count=1; sleep 60; done
(/dev/disk1
適切なデバイスと交換してください。ヒットするまで60秒ごとにそのデバイスから1つのセクターを読み取りますctrl-c
)
これは私の環境で役に立ちました:OS X 10.6.8、WD Elements USB接続ドライブ、SAT-SMART-driver 0.8。
キャプティブテストでは、理論的にはドライブをオンラインに保つ必要があります。ただし、smartctl
テストが完了する前にハードウェアコマンドの送信がタイムアウトする可能性があり、カーネルがリンクをリセットし、上記と同じ状況になります(バグ#303)。
詳細については、smartmontools-supportメーリングリストのこのスレッドを参照してください。ここで与えられた洞察についてクリスチャン・フランケに感謝します。
journalctl -fk
ます。
/dev/disk1
デバイスまたはパーティション、すなわち、のようなことになっ/dev/sda
たりしますか/dev/sda1
?
私は東武からの解決策を試しましたが、私の場合、テストを開始して中断した後、いつでも外付けUSBドライブをスリープモードで見つけ続けましたが、カーネルキャッシュからの読み取りに終わり、キャッシュはディスクに十分な大きさでしたスリープモードに入ります。smartctlを呼び出してステータスを要求すると、常にディスクを「ウェイクアップ」できることに気付きました。だから:同じ考えのこのバージョンは私のためのトリックをしました:
sudo bash -c 'while true; do smartctl -a /dev/sdb > /dev/null; sleep 60; done'
5時間後、外部USBディスクはまだ回転しています。初めて、外部ディスクでsmartctl long testの終了を確認できました。
このソリューションには、ディスクヘッドが不必要に毎分動かされないという利点もあると思います。長期実行は予測時間内にほぼ正確に終了しました(keep-awakeスクリプトは実行に時間を追加しませんでした)
Ariの答えのバリエーションは、を使用するwatch
ことです。smartctl
出力が実際にステータスを追跡するのに興味深い場合があるためです。
sudo watch -d -n 60 smartctl -a /dev/sdx
これによりsmartctl -a
、60秒ごとに出力が自動更新されるので、セルフテストの残り時間がわかり、変更を強調表示できます(テストが実際に進行していることを簡単に確認できます)。
watch
。