web-dev-qa-db-ja.com

より高速なディスク回復(ddrescueの実行が遅い)

優れたバックアップを持つことの価値を学んでいます。

500GBのハードドライブが故障しています。走り出した

ddrescue /dev/sdb1 backup.img mapfile

見た瞬間にもよりますが、40日から70日かかりました。

私は この投稿 を読み、-c 1Kiオプションを使用してddrescueを高速化する方法を示します。今15日くらい見ています。

私が見逃している別のトリックはありますか?またはより良いツール?これは本当に故障したハードドライブを回復することを伴うのですか?

7
rexroni

ddrescueにはこのオプションがあります:

   -a, --min-read-rate=<bytes>
          minimum read rate of good areas in bytes/s

コマンドラインで10Mのような適切なサイズで指定すると、運が良ければ、まだ読み取ることはできても非常に遅い領域が最初にスキップされ、ドライブが読み取り可能な他の領域が続行されます。パフォーマンス的に。

最終的にどれだけ足りないかに応じて、その後もスローパスで追跡できます。

ddrescue--reverseモードで実行するか、--input-position=Xを使用して特定のオフセットから強制的に開始することもできます。これにより、ddrescueが高速領域にスキップしない場合、それ自体は手動で強制することができます。

これは本当に、故障したハードドライブを回復するのに必要なことですか?

非常に多くの異なるタイプの障害があるため、わかりにくいです。また、ドライブの種類、エラーの処理方法、場合によってはコントローラー自体が不良ドライブにどのように反応するかにも依存します。 dmesgでノイズがないか確認し、バスのリセットがあるかどうかを確認します。ドライブで読み取りエラーが発生しただけではバスのリセットは発生しません。 (その場合は、おそらく/sys/block/.../device/timeoutを増やしてください)

ドライブがSCTERCをサポートしている場合(デスクトップコンシューマードライブの場合はそうではありません)、ドライブに内部エラー修正を行わずに直接読み取りエラーを返すように指示できる場合があります。

9
frostschutz