TeraStation(TS-XHL)のRAID10からデータ復旧(サルベージ)してみた

我が家のファイルサーバTeraStation(TS-XHL)がアクセス不能になった際

HDDからデータを復旧(サルベージ)した記録です。

***ご参考にされる方はあくまで自己責任でお願いします。***

○経緯

忘年会で楽しく飲んでいる最中、自宅にいた奥さんからLineメッセージが届きました。

「何か黒い機械がピーピー鳴いているよ~(TT)」

ん~

ファイルサーバにしているバッファローのテラステーション(以降TS、TS-XHLと約す場合あり)が警告音を出しているのか。。。

「取りあえず電源ボタン長押しして電源オフしておいて~」っとお願い。

 

翌日、目覚めてから当該機を起動してみると…

あり、接続できない。

なんかHDD4が切り離されているみたい。

 

もう一度再起動

EMERGENCY MODEとか何とかメッセージが出ている。

表示パネルではHDD4台とも切り離されてしまった模様。

やっぱり接続できない。

全4台のHDDステータスランプは正常を示す緑色

(でもHDD4だけアクセスパターンが違うような…)

 

えぇ…

 

冗長化していた(と記憶していた)ので”HDD1本壊れたらメッセージでるだろうから、どっかにコピーして本体は古いからポイすればいいやー”なんて思っていたのですが、まさかのアクセス不能。。。orz

 

ま、自宅の個人データなので悶絶クラスではないですができることならデータ復旧させたい。

おそらくHDD4が壊れて切り離された後、何らかの理由でRAIDが外れたのだろう。

 

という訳で少ない正月休みをデータ復旧に当てることにしたのでした。

ついてないよ、ホント

 

○エマージェンシーモードの復旧は正直微妙…

早速Google先生に「TeraStation データ 復旧」でお問い合わせ

おお、出てくる出てくる。データ復旧業者様のサイトがワンサカ引っかかる。

業者様は一先ず置いておいてバッファローのサイトで対処法を確認。

 

「エマージェンシーモードはファームウエアのアップデートで復旧することもあります。」

ふーん。。。

えっ「も」!?

戻らないこと”も”あるってこと?

 

まあショウガナイ

ファームウエア、と言っているのは恐らく管理システム(Linux)のことで構造的にデータ領域はそのまま残しそうなのでトライしてみることに。

 

3回ほどトライして…やっぱダメ

本体の小窓に表示される情報から読み取るにデータ用のディスク領域が管理システムから見えていない。

外からほとんど操作できないのに管理システム”だけ”が壊れるってパターンは”停電でたまたま”とかレアケースなのでは。

Raidがおっ外れた後は、TS本体では自動で復旧はできないのだろう。

こうなっちゃうと業者様にお願いするか、HDD引っこ抜いて自力で復旧させるしかないかなあ。

 

○ちょっと待った!

TeraStationやLinkStationは小中規模のオフィス等で多く使われていると思いますが”使える”と”直せる”では必要な知識が異なります。

HDDの物理故障の場合は専門業者様(もしくは同等の技術と設備・機材を持つ方)でないと直すのは難しいです。

論理故障だとしても「Linuxって何?」とか「Raidって何?」という前提知識ですと途中で躓くこと必至ですのでデータ復旧ツール&業者様にご相談されるが吉と思います。

特に仕事で必要なデータでしたら数万円から数十万円であればお金を使って業者様にお願いする方が費用対効果が圧倒的に高いかと。

 

有名どころですとデジタルデータソリューション株式会社

TSのRaid論理障害と切り分けがつくのであれば私が参考にさせていただいたインターフェース工学株式会社様もなかなかよさそうに思えます。

“できる限り費用を抑えて自力で”という方向けに復旧ツールも販売しており、復旧ツール購入者様向けにサポートもついているようでお値段的にも良心的かと思います。

TeraStation専用 データ救出ツール NAS-RESCUE HDD4台用

新品価格
¥6,480から
(2018/1/7 16:48時点)

あ、私はデジタルデータソリューション様ともインターフェース工学様とも一切関係ございませんよw

 

○TSのデータ復旧方法は要するに…

ここから3時間くらいTSの復旧方法についてWebサーチ

で、得た結論

・物理故障の場合は業者様にお願いするしかない

・論理故障の場合
復旧に必要な分のRaid領域が正常な状態で残っていれば引っこ抜いたHDDを用いてLinux配下でソフトRaidを再構成。ズタボロだとやっぱり業者様にお願いするしかない

データ領域として確保しているRaid用パーティションが最低限必要な分、生き残っていればデータ復旧できる可能性がありそうですな。

しかしソフトRaidなんて何年いじってないんだろう。Solaris使ってた20年位前が最後かな。

自信ないなぁ。

 

お金かけて直す場合も基本は一緒です。

ツール(PCにHDDくっつけてツールでPC起動すると何とかデータ復旧しようと頑張ってくれる模様)は1万円台から、業者様に委託する場合は数万円くらいから、上は3ケタ万円!?

まじか、私が代わりにやるので5万ください!w

 

以降は技術情報と手順を中心に

 

○RAID構成の確認

本体からHDDを引っこ抜いてデータ復旧を試みるに当たり元のRAID構成が非常に有用な情報となります。

因みに私は半分忘れていました(汗

 

TS-XHLが適用できるRAID構成は…

RAID 6/5/10/1/0

我が家のTS-XHLはHDD4本構成で1本500GB

薄ーい記憶を辿ると実効領域が連続1TBだったと思うので

RAID0は無し(実効2TBになるはず)

RAID5は無し(実効1.5TBになるはず)

RAID1も無しかな…(実効500GB×2ではなかったような…)

消去法的にRAID6 or 10と想定して作業を進めることにしました。

 

経緯から見てHDD4は故障している可能性が極めて高いのでHDD1、HDD2、HDD3を使って復旧を試みます。

RAID6ならこの内2本生きていれば復旧できるはず。

RAID10だとちょっとややこしい
・Raid1ペアになっている2本は、内1本生きていれば良い
・Raid1片肺になっているHDD1本は生きていないとダメ

 

○準備するもの

必須なもの
・TSから引っこ抜いたHDD
・引っこ抜いたHDDの内、データ復旧に必要なHDDを接続できるだけのインターフェースを持ったPC
・復旧したデータを退避させるディスク(USB接続の外付HDDなど)
・復旧作業用Linux

できれば合った方が良いもの
・引っこ抜いたHDDをクローンするための機材類(HDD、HDD接続機器、クローンツールなど)

復旧作業中に元のHDDが壊れてしまうとどうにもならないのでHDDのクローンを作成しクローンHDDを使って復旧を試みるのがベター。

もちろんクローン中に元のHDDが壊れてしまうリスクもあるのですがそれよりはRaid再構築中にへちょってぶっ壊す確率の方が高いかも。

・USB接続の光学ドライブ
復旧作業用PCのSATAインターフェースには引っこ抜いたHDDだけを接続する方がややこしくない

 

○復旧作業用Linuxはknoppixがオススメ!

仕事で見た他のTSのsyslogの記憶からRAIDはLinuxのmdを使っているはず。

最初、mdが使えるLinuxなら何でもよかろうとCentOS7のインストールディスクを使ってRescueモードで立ち上げて

あれこれ操作しましたが最後のRaid0構成にした仮想パーティションをマウントするところでsuperblockのエラーで失敗しました。

superblockが問題なら修復すべし!もとい修復できるか確認すべし!ということでxfs_repareをドライラン(-nオプション)で実行したところ

xfs_repair: V1 inodes unsupported. Please try an older xfsporgs

うーむ、古いバージョンで実行してみてってか。

 

ここでまたGoogle先生にお問い合わせ

同様の事象をknoppixを使って回避された方の情報が検索されました。

早速、knoppixをダウンロード(最終版7.0.2、2012年6月)

http://ftp.riken.go.jp/Linux/knoppix/knoppix-jp/iso/

 

knoppixの素晴らしいところは最初っからNTFSがマウントできるってとこ。

(どのバージョンからかは忘れました。)

WindowsPCのデータ置き場としてTSを使っている場合、復旧データをWindowsPCでさくっと使えることが望ましい。

外付USB-HDDをNTFSでフォーマットし復旧データ退避用HDDとすれば復旧が済めばすぐにWindowsPCにくっつけて使えます。

そうかそうか、そうだった。とknoppixで再チャレンジして見事成功しました!

復旧作業用PCが新しいとknoppix側が対応していなくてダメかも。

 

○こんな感じでRAID10を再構築しました

物置に転がっていたデスクトップPCを引っ張り出して引っこ抜いたHDD3本(HDD1,2,3)をSATA接続します。

※引っこ抜いたHDDだけをSATA接続した方が後々分かりやすいかと。加えてTSに接続されていた順序にSATA接続する方が良いと思います。

USB接続の光学ドライブをデスクトップPCに挿して電源オン

BIOSメニューを出す。
→ここでknoppixのDVDをUSB接続光学ドライブにイン

USB接続の光学ドライブをブートディスクに選定、Go!

 

暫く待つとknopixのGUIが立ち上がります。

ターミナルを起動し
su –
(パスワードは不要)

cat /proc/mdstat

もしRAIDが何らか動いていれば情報が得られます。

私の環境では出力を要約するとこんな感じ

md4:inactive
md126:active
md123:active

parted -l

接続された記憶媒体等の情報がツラツラと表示されます。

私の環境では出力を要約するとこんな感じ

/dev/sda …HDD1のこと
/dev/sda1
/dev/sda2
/dev/sda3
/dev/sda4
/dev/sda5
/dev/sda6 …この領域が470MBくらい、データ領域

/dev/sdb …HDD2のこと
/dev/sdb1
/dev/sdb2
/dev/sdb3
/dev/sdb4
/dev/sdb5
/dev/sdb6 …この領域が470MBくらい、データ領域

/dev/sdc …HDD3のこと
/dev/sdc1
/dev/sdc2
/dev/sdc3
/dev/sdc4
/dev/sdc5
/dev/sdc6 …この領域が470MBくらい、データ領域

なるほど、各HDDの1~5番目パーティションは管理ツール(Linux)の領域

各HDDの6番目のパーティションがデータ領域としてRAID構成になっているんですな。

 

mddadm –examine RAIDデバイス

とコマンドを実行するとRAID情報が表示されます。

私の環境では出力を要約するとこんな感じ

mdadm –examine /dev/sda6

Raid LevelはRaid1
Stateはclean
デバイス名はmd126
/dev/sdb6とペア
両方のHDDは生きている。

mdadm –examine /dev/sdb6

Raid LevelはRaid1
Stateはclean
デバイス名はmd126
/dev/sda6とペア
両方のHDDは生きている。

 

mdadm –examine /dev/sdc6

Raid LevelはRaid1
Stateはclean
デバイス名はmd123
Raid1の片側は取り除かれている。

ほほーん

この情報から我が家のTSはRAID6ではなくてRAID10だということが分かりました。

/dev/sda6と/dev/sdb6がペアでRAID1、デバイス名md126

/dev/sdc6と/dev/sdd6(HDD4は取り除かれていますが)がペアでRAID1,デバイス名md123

md126とmd123をくっつけてRAID10、デバイス名md4にしていたと思われます。

/dev/sda6、/dev/sdb6、/dev/sdc6はRaid管理情報上では無事の様です。

これは期待が持てるか!?

 

さて一旦、Linuxをシャットダウンし引っこ抜いたHDDのクローン(復旧作業用)を作成します。

※HDDクローンの作成方法は割愛

HDD1とHDD2のクローンは無事成功。

…が、HDD3のクローンが全く進まない。通常数十MB/秒だが酷いと数MB/秒を下回ることも。

なるほどHDD4とペアのHDD3も調子悪かったんですね。そりゃダメだわ。

TSのファームウエア更新が失敗した理由もこれが一因かな。

しかしTSのHDD状態ランプや表示パネルの情報は全くアテにならんなぁ。。。

 

Raid1の片肺、Raid0の一部であるHDD3

HDD3が逝ってしまうと自力復旧はほぼ不可能。

HDD3のクローンが一番欲しいのだが何時終わるのか分からないのでは待っていられない。(私の性格w)

最優先で救出したいデータから順番にトライし出来るとこまでやってみよう。

復旧作業用PCにHDDを挿し直しkonoppixで起動。

ターミナルからRAID情報の確認

cat /proc/mdstat

あれ?RAID情報が表示されない。。。


表示されている場合は

mdadm –misc –stop [RAIDデバイス名]

で停止しないと以降のコマンドがエラーになるかも。

 

HDD1の第6パーティションとHDD2の第6パーティションをRAID1に

mdadm –assemble –run /dev/md126 /dev/sd[ab]6

 

HDD3の第6パーティションを片肺でRAID1に

mdadm –assemble –run /dev/md123 /dev/sdc6

 

md123とmd126でRAID0に

mdadm –assemble –run /dev/md4 /dev/md12[36]

 

RAID情報の確認

cat /proc/mdstat

私の環境では出力結果を要約するとこんな感じ

md4:active Raid0
md126:active Raid1
md123:active Raid1

おっ、復活したか!?

適当にマウントポイントを作ってmd4をマウント

mkdir /mnt/raid

mount -t xfs /dev/md4 /mnt/raid

いやっほーマウントできた!

ファイルも見えるよ!

NTFSフォーマットしたUSB外付HDDをマウントしてコピーを開始。

まずは優先度が高いファイルを救出

あっさりおっけー

あとは出来れば救出したいレベルのファイル救出に着手

やっぱり所々引っかかって延々進まない部分もあるが

そこはきっぱり切り捨て全体として9割ぐらいは復旧できました。

 

○まとめ

今回は運よくRaidパーティションが生き残っていたこと、作業中に新たな障害が発生しなかったこと、加えて復旧に必要な機材が自宅に揃っていたこともあり、何とかデータ復旧できましたがそれでも丸2日くらいは費やしてしまいました。

法人であれば迷わずデータ復旧専門業者様にお願いするのが良いと思います。

TeraStation/LinkStationなどのLinuxベースNASアプライアンス機は、廉価でRAIDも設定でき良い点も沢山あるのですが外から操作できる範囲が極めて限られているのでイレギュラーな障害が起きた場合は対応が難しいですね。

業務使用ならバックアップは必須だと思います。

私は個人使用としてはもう買わないかなあ。

 

○復旧にあたり参考にさせて頂いたサイトのリンク集

先人の皆様の足跡のお陰でなんとかデータをサルベージできました。感謝感謝でございます。

http://俺の技術メモ.net/raid5-double-fail-rescue/

https://www.spacewalker.jp/mt/spacewalker/archives/9166

http://nas-rescue.com/index.php?EM%E3%83%A2%E3%83%BC%E3%83%89%E3%81%8B%E3%82%89%E3%81%AE%E5%BE%A9%E6%97%A7%E6%96%B9%E6%B3%95

http://tsurezere.seesaa.net/archives/20170330-1.html

https://pc.casey.jp/archives/153903576

https://www.agilegroup.co.jp/technote/lg-nas-recovery.html

私の足跡も誰かのお役に立つとうれしいです。

 

TeraStation専用 データ救出ツール NAS-RESCUE HDD4台用

新品価格
¥6,480から
(2018/1/7 17:57時点)

TeraStation専用 データ救出ツール NAS-RESCUE HDD6台用

新品価格
¥10,800から
(2018/1/7 17:58時点)

TeraStation専用 データ救出ツール NAS-RESCUE HDD8台用

新品価格
¥16,200から
(2018/1/7 17:58時点)

LinkStationデータ取り出しHDD1台用

新品価格
¥2,700から
(2018/1/7 17:59時点)

LinkStationデータ取り出しHDD2台用

新品価格
¥5,400から
(2018/1/7 17:59時点)

LAN DISKデータ取り出しHDD1台用

新品価格
¥2,700から
(2018/1/7 17:59時点)

LAN DISKデータ取り出しHDD2台用

新品価格
¥5,400から
(2018/1/7 18:00時点)