故障したドライブからデータを保存する


12

外付けの3½ "HDDは故障の危険にさらされているようです。アイドル時にカチカチという音がします。

私は交換用ドライブを購入しましたが、疑わしいドライブのデータを可能な限り節約できる最良の方法でデータを取得するための最適な戦略を知りたいと思います。

他のディレクトリよりも重要なディレクトリがあります。ただし、ディレクトリを選択することで、すべてを保存できる可能性が低くなると思います。また、ディレクトリを効果的に優先順位付けできるように、マウントし、ファイルリストをダンプしてからアンマウントする必要があります。これを行うには時間がかかるという事実に加えて、私はこのアプローチから離れています。

を使用することを検討しましたddが、データの特定の部分のみの救助を妨げる可能性のある読み取りエラーやその他の問題をどのように処理するのかわかりません。ドライブの他の部分が保存されないようにします。私は理想的には、できるだけ多くを取得するために単一のパスを実行し、エラーのために失敗したものを再試行することに戻ると思います。

たとえば、オーバーヒートの問題を回避するために、操作をフルティルトで実行するよりも、コピー速度を遅くする(たとえば、x MB / GBごとに一時停止する)方が良いでしょうか?

「あなたのバックアップはどこにいるのか」という群衆のために:これは実際には私のバックアップドライブですが、音楽ではなく、バックアップではない、つまりバックアップされていない重要でないものもいくつか含まれています。

ドライブは、このやや不吉な音以外の明確な障害の兆候を示していません。最近、いくつかのエラーをfsckする必要がありました。孤立したiノード、不正な空きブロック/ iノード数、iノードビットマップの違い、削除されたiノードのゼロdtime。全部で約20のエラー。

パーティションのファイルシステムはext3です。


回答:


9

あなたは使用することができるddrescuedd_rescueまたはmyrescue任意の読めないセクターに中止することなく、障害が発生したディスクのクローンを作成します。(Myrescueは設定が簡単ではありませんが、読み取り不能な領域をスキップしようとするため、デフォルトの戦略が優れています。)これにより、空白を含むすべてがコピーされ、優先順位を設定できなくなります。しかし、このような低レベルのアプローチは、ファイルシステムレベルのツールよりも優れた利点があります:ディレクトリが読めない場合、あなたはまだのようなツールを使って生の画像を検索して、それが含まれているファイルを回復する可能性があるforemostmagicrescuephotorecに含まTestDiskはなど、


のリンクmagicrescueが壊れているようです。代わりにitu.dk/~jobr/magicrescueを意味しましたか?
ランドローニ14

@landroniはい、この学生は卒業したと思います、ありがとう。
ジル「SO-悪であるのをやめる」

「Myrescue [..]のデフォルト戦略が改善されました」デフォルトでddrescue設定された例を投稿することを検討しますmyrescueか?ありがとう!
ランドローニ14

1
以下のためにddrescue/ dd_rescueあなたは、次のパス(例えば半減サイズ毎時間)が小さいと、大きなブロックサイズと変更に最初のパスを作ります。もちろん、これにはログファイルを使用する必要があります(manページを参照)。
ペテルフ14

紛らわしいことに、Debianベースのシステムではコマンドddrescueはpackageから来ていますgddrescue; dd_rescueパッケージからddrescue; そしてmyrescueパッケージからmyrescue
ランドローニ14

8

ドライブの何が問題なのかを正確に知ることなく、最良のオプションを知る方法はありません。機械的な故障の場合、加熱を避けることで解決できますが、サーボデータのエラーが原因である場合、熱は問題になりません。

私はすぐに新しいドライブに一意のデータのコピーを開始しrsyncます。 rsyncすべてのデータを取得するまで、必要に応じて一時停止、再開、再起動できます。

次に、ドライブでデータスクラブを実行します。ext3Linuxを実行しているとファイルシステムから推測するので、これを試してください:

# umount /dev/sdX
# badblocks -n /dev/sdX

(最初にドライブをアンマウントすることが重要です。)

これにより、ディスクからすべてのセクターが読み取られ、変更せずに書き戻されます。これにより、ドライブファームウェアはすべてのセクターでエラーをチェックし、見つかった不良セクターを再マッピングします。これは、高価なSpinRiteプログラムの機能の中で最も重要な部分です。badblocks失敗して、ドライブからすべての一意のデータを取得していない場合にのみ、ステップアップします。SpinRiteは、それよりも一生懸命に試行badblocksします。


2

ディスクが死にかけている場合は、最初のことを確認してくださいあなたができるようにの良いクローンとして作る(ジルの答えを参照)だけにして、ドライブで遊んに進みます。そうすれば、何かがおかしくなった場合に備えて、少なくともいくつかのデータが常に得られます(障害のあるハードウェアでよく起こります)。

使用する場合ddrescue(またはdd_rescue、他についてはわかりません)、いつでも部分的にクローンされたデータと関連するログファイルのコピーddrescueを作成し、ドライブを修正することになっていた何かを実行した後に再度実行することで、改善を試みることができます。よく複製された部分はそのままにして、不足している部分を読み取ろうとします。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.