壊れたHDDからデータ救出 (FreeBSD)ディスククラッシュした反省から、ファイルサーバのHDDをRAID構成にして、そのメモを書き連ねてきた。でも、クラッシュしたHDDからのデータ救出についても忘れないようにメモしておこう。
HDDの調子が悪くなったのは、運悪く1週間の出張に出た日のことであったようだ(/var/log/messagesに残っていたメッセージによる)。それから数日は、HDDアクセスのリトライを繰り返しながらも何とか生き延びていたらしい。しかし、出張に出ていた私はそんなことはつゆ知らず、1週間後に帰ってきたときには、お亡くなりになってしまっていた。
家に戻って事態を知った私は、大あわてでデータ救出に取りかかった…のだが、代わりのHDDが無い。結局その日は何もできず、次の日に新しいHDDを2台購入してから作業に入った。作業用の領域も考えて、2倍以上の容量を持ったHDDが欲しかったのだが、壊れたHDDが300GBだったので、これ以上の容量のを買うのも難しく、結局300GBのを2台買ってきた。
壊れたHDDはad4、新しく買ってきたHDDはad6, ad7である。
とりあえず、現状より状況が悪化するのを防ぐため、壊れたHDDを丸々コピーする。
# dd if=/dev/ad4 of=/dev/ad6 bs=512 conv=sync,noerror
dd: /dev/ad4: Input/output error
287+0 records in
287+0 records out
146944 bytes transferred in 1.999582 secs (73487 bytes/sec)
dd: /dev/ad4: Input/output error
dd: /dev/ad4: Input/output error
288+0 records in
288+0 records out
147456 bytes transferred in 3.441004 secs (42853 bytes/sec)
dd: /dev/ad4: Input/output error
…(こんなのが延々と続く)…
読み取りエラーが発生しても、無視して続きをコピーして欲しいため、conv=sync,noerrorを付けるのが重要。bsも、HDDのセクタサイズと同じにして、読み取りエラーの影響を小さくする。参考にしたサイトの情報によると、countを指定しないとまずい、ということであったが、別に付けなくても問題なかった。
さて、これでオリジナルのコピーができた。
(1/2) 次»
コメント(0)|コメントを書く
カテゴリー一覧
最近のコメント
プロフィール
このブログを友達に教える