
ddrescue を使用して、故障した外付け USB HDD Maxtor M3 4TB をバックアップしようとしています。
最初は300kB/s程度だったので、外付けボックスを取り外してドライブをSATA経由でデスクトップに直接接続したところ、速度が700kB/s程度に向上しました。-a(最小読み取り速度)-b(ブロックサイズ)-c(一度にコピーするセクター数)を試した結果、次のようになりました。
-a 20M -b 4096B -c 2048
上記の組み合わせにより、速度は約 1800kB/s に向上しました。さらに、現在の速度は数バイト/秒から 115MB/秒まで変動し、全体の平均は前述の 1800kB/秒前後に留まっています。通常の「正常なドライブ」速度で 1 秒間読み取り、その後タイムアウトを待って停止し、速度を落として続行しているように感じます。
速度の向上に役立つ他のパラメータを使用した経験はありますか? 現在の速度では 4TB ドライブ全体に約 1 か月かかるため、改善があれば大変ありがたいです。
編集 - フルコマンド
完全なコマンドは
sudo ddrescue -a 20M -b 4096 -c 2048 -f -n -vv /dev/sdi /dev/sdh video_drive.log
編集2 - ああ、だからこんなに遅いのか
ドライブが故障して SMART サポートが無効になることもありますが、正常に動作している期間に、フィールドの値が高く増加していることに気付きましたRead Error Rate
。Hardware ECC Recovered
エラーが見られないのは ECC リカバリが原因で、レートが非常に低いのもそのせいだと思います。
答え1
ディスクを読み取るときはddrescue
、すべてのブロックを読み取る必要があります。どのブロックが不良であるかを事前に知ることはできません。そのため、必然的に不良ブロックを読み取ろうとします。ディスクは、このブロックを正しく読み取ろうと懸命に努力しますが、その後、諦めてエラーを返します。この動作は、消費者向けハード ドライブでは無効にしたり制御したりすることはできません。
したがって、ddrescue
再試行しなくても、不良ブロックによってプロセスが大幅に遅くなります。続行する以外にできることは何もありません。