2014年4月26日土曜日

BUFFALO LinkStation LS-WH1.0TGL/R1 のデータを復旧

BUFFALO LinkStation LS-WH1.0TGL/R1 のハードディスクを抜き出して、
パソコンにつなげてデータを抜き出す、復旧、サルベージさせる方法。

RAID1なので、どちらか1本をPCに接続する。
SATAケーブルでもUSB-SATA変換でもいい。

knoppixのisoファイルをダウンロードしてDVD-Rに焼く
knoppixをDVD-Rから起動する。

knoppixはXFSフォーマットに対応しているので読み込めるが少し手順が必要。


○knoppixが起動したら画面左下のアイコンをクリック
「システムツール」→「Konsole」クリック(console?)
または画面左下のアイコン、左から3つ目くらいのTerminal emulatorをクリックして起動

○ハードディスクをマウント
ls /devでみてsd??のファイルを確認。
sda? sdb? sdc? sde?と続くのでどれだか判断が出来ないが
適当にマウントしてみるのが早いだろう。
LS-WH1.0TGL/R1ではパーティションが6個に分かれていた。
今回使ったPCではsdcがsdc1からsdc6まであったのでsdcと確定。
1から6のどれかだが、マウントしてみるのが早いだろう。
LS-WH1.0TGL/R1では「sdc6」だった。
よって、「/dev/sdc6」をマウントする。

 su
 mkdir /from
 mount -t xfs /dev/sdc6 /from

○コピー先のディスクを確認する
起動に使ったPCの内蔵ハードディスクにコピーすることにする。
内蔵ハードディスクのマウントポイントの確認は「df」コマンド。
不要なのが多く見えてわかりにくいが
dfの出力結果の右側「マウント位置」に「/media/~」で始まる行が内蔵ハードディスク
「~」の部分は数字とアルファベットの長い不明な文字が続くかそういうものらしい。
今回のPCは「/media/8C7C5F297C5F0CF8」だった。

○ファイルのコピー
実際はディスクが壊れたりしているとファイルひとつずつなど試行錯誤が必要だが
まずは全部コピーしてみる。

 su
 mkdir /media/8C7C5F297C5F0CF8/to
 cp -r /from /media/8C7C5F297C5F0CF8/to


ひたすら、どきどきしながら待ちます。
確認としてはもうひとつterminalを開いてvmstat 10で
10秒おきにioの欄を見て、それなりの数字が出ていればコピー進行中
数字が小さければとまってしまっている判断になる。
手元のPCでは、bi,boともに20000-90000の間の数字で推移していた。


ほかの方法としてはddコマンドを使ってもいいだろうか。

「xfs_check」「xfs_repair -L」コマンドもあるようだがたぶん危険。c
mountできないならcheckすら危険でcheckも行わずに復旧業者がいいように思う。

○確認としてddでコピーしてみた
ディスクの物理障害ならエラー出るだろうと確認
dd if=dev/sdc1 of=/to/sdc1.dd
dd if=dev/sdc2 of=/to/sdc2.dd
dd if=dev/sdc4 of=/to/sdc4.dd
dd if=dev/sdc5 of=/to/sdc5.dd
dd if=dev/sdc6 of=/to/sdc6.dd

dd if=dev/sdc6 of=/dev/null
または読み取り確認のみ

dd if=dev/sdc6 of=/to/sdc6.dd conv=sync,noerror
オプションでconv=syncでエラーの場所を0うめ、noerrorで処理継続らしいが未確認

RAID1のうち、今回1本目はsdc2にエラーあり。
2本目はsdc6にエラーあり。

このNASでいろいろ覚えました。って余裕が言えるのはデータが消えなかったからです。
うーんこわいです。