長~い道のり
自宅でバックアップやDLNA用として使っていたNAS、I-O DATA製LAN DISK HDL2-A4.0が故障してしまった。2TBx2台のHDDによるミラーリング構成ということもあり、すっかり安心しきっていたが、いざ使えなくなると復旧にかなり手間取った。データ救出を専門で行う業者が結構いい値段で請け負っているほどの作業だから、素人が苦労するのも当たり前だが、何とか復旧にこぎつけた。後に続く他の人に参考になるかもしれないと、備忘録的に残しておく。
アイ・オー・データ機器 リモートアクセス機能搭載 LAN接続型ハードディスク 4.0TB HDL2-A4.0
発端
HDL2-A4.0(以下HDL2)を購入したのは2013年2月。そこから4年以上、ほぼノートラブルで、Mac2台のTimeMachine先として、Regzaで撮りためた番組の保存先として利用していた。唯一、2016年9月に、内蔵HDD(HDD2側のSeagateバラクーダ)がお亡くなりになったが、この際は、新たにWesternDigitalのWD Blue(2TB)に入れ替えただけでRaid再構築も成功し、元の環境に戻った。
そんな安心感からか、HDL2自体を見ることもほとんどなかったが、2017年6月4日、ガリガリという変な音がしたため見てみると、前面にある3つのLEDが赤になっている。こういう時は再起動と、本体の電源ボタンを押して復帰させると、やはり赤ランプ。MacからMagical Finderで見てみると、システムがHDD1のマウントを失敗している。焦りながらチェックディスクをかけると、チェックディスクが異常終了。この状態で詳細設定画面を見ると、今度は両HDDともマウントされていない。どんどん深刻な事態になりつつあるとは思いながら、PDF保存してあった取扱説明書(21-140)を読むと、赤ランプがこの状態ではRaid再構築をせよとなっている。よく読まないまま、詳細設定画面からRaid再構築をかけると、今度は再構築に失敗し、「Raid崩壊」という文字が出てきた。
ネット上だったかで、どちらかのHDDのみで起動してみて成功したらそこからデータを救出するというのを見たので、それもトライしてみる。が、当然だめ。
元の構成
・HDD1=Seagate
・HDD2=WesternDigital
ここで、新規にHDDを購入。
TOSHIBA DT01ACA200 2TB 6Gbps SATA対応 3.5インチ内蔵ハードディスクドライブ
会社は傾いているがドライブには定評ある東芝を選ぶ。NTT-Xで6434円。これら3本のHDDをとっかえひっかえ構成を変えて試す。
- SG+To 起動はする。Raid再構成には失敗
- WD+To 起動しない
- SG+WD 元の構成。当然起動しない
- SGのみ 起動しない
- WDのみ 起動しない
- Toのみ 当然起動しない
この結果言えることは、どうやらSGではなくWDのシステム領域(起動に関する部分)がだめになっているのではないかということ。それでも、SG単体で起動しない理由や、かつてSG+SGからSG+WDにした際には何の問題もなかったのに今回SG+Toで再構成に失敗する理由が分からないが、とにかくにっちもさっちもいかないことは確定した。
ここから、長~い未知の道のりが始まることになる。
なお、復旧後にシステムのログを見てみると、5月29日にHDD2(WD Blue)側でRaid異常が起きていたようだった。それがきっかけかどうか、6月4日にHDD1(Seagete)で起動時ディスクエラーが出て、上述のような状況に陥った。
Linuxとな
高額な業者に頼んだり有料ソフトを使ったりせず、自力復旧するとまずは心に決める。頼りはネット。特に参考になったのは以下の2サイトだった。
「遊ぶ」の方はかなり専門的な内容なので、まずはより易しそうな「復旧する」に沿ってやってみることにする。
「復旧する」の方の手順としては、
1.ハードディスクをパソコンにUSBで直付けする
2.パソコンをLinux(ubuntu)で USBブートする
3.ubuntuで(NASから出した)ハードディスクを認識させる
4.パソコンのローカルディスクにデータを吸い上げる
となっている。まずは、NASから取り出したHDDをパソコンに接続するアダプターが必要だ。いつものAmazonさんからこちらを2199円で購入する。
Inateck SATA – USB3.0変換ケーブル 2.5インチ/3.5インチハードディスクドライブ HDD/SSD用SATA変換アダプタ 電源アダプター付
このHDL2で使われているHDDはLinuxでフォーマットされているため、HDDの中身を読んだり操作したりするためには、Linux環境が必要なのだという。しかしMacしか自宅にないわたしにとって、わざわざLinuxマシンを用意するのは面倒かつ現実的ではないので、「復旧する」にもある通り、LinuxのUSB起動環境を作ることにする。
USBでブート可能なUbuntuでは…
作成からUbuntuの起動まで頼りにしたのは、こちら。
- MacでUSBブート可能なUbuntuを作成する(Webサービスで起業を目指すプログラマーblog)
確かに何とかUbuntuの起動までできた。MacやWindowsとは違い、Linuxでは外部媒体をマウントするためにマウントポイントというものが明示的に必要らしい。「復旧する」サイトでは、3(3)でマウントポイントをmkdirコマンドで作成しているが、そんなことはしなくてもデフォルトのマウントポイントが/mnt/としてあるのを知ったのはずーっと後になってから。
起動しなかったHDD1(Seagate)の中を見てみると、データは残っている模様。そこで「復旧する」の最後にある「パソコンのローカルディスクにデータを吸い上げる」を試みる。簡単そうに書いてあるが、Linuxの知識なんてほとんどない私はここで行き詰まる。
まず、母艦であるMacにデータを移す方法が分からない。「復旧する」のスクリーンショットでは母艦のWindows7がすでにマウントされている。だからHDDと母艦との間でデータをやりとりすればいいのだろうが、私は母艦が見えない。
冷静になった事後から考えると、母艦のSSDをコマンドで探して、それをマウントすれば良かっただけかとも思えるが、当時はそこまで頭が回らなかった。
仮に母艦SSDが見えたとしても、私のMacbookProは総量でも512GBしか容量がなく、1TBほど使っていたNASのHDDデータをそのままでは吸い上げられない。ここに至ってそれに気づき、慌てて外付けHDDを用意する。ざっくり探して選んだのがこちら。
【送料無料】PQI JAPAN 6568-001TR2 2.5インチ ポータブルHDD H568V 1TB ホワイト【在庫目安:お取り寄せ】
NTT-Xで5780円だった。
VirtualBoxでUbuntu導入
そこでSSD領域は食ってしまうけども仕方なく、VirtualBoxでUbuntuをインストールすることにする。こちらも先人たちが細かくやり方を残してくれているので、それに従うだけ。
「動かすまで」が若干専門的なのと、少しだけ情報が古いこともあり、主に「試す」の方に頼った。スクリーンショットが多用されているので、分かりやすいのだが、少しだけ不親切なところが、このくだり。
この直前まで、VirtualBox側のマネージャー画面に見える歯車の「設定」についてだっため、その中でいろんなところを探したが「入力」の項目が見つからない。挙句、VirtualBoxのバージョンが違うのかなどいろいろ調べるなど、余計な回り道を余儀なくされた。
正解はこちら。このパネルを呼び出すためには、Mac側のツールバー「VirtualBox」>「環境設定」を選ばないといけない。そこまでたどり着くのにまた徒労感。それ以後、Ubuntuのインストールなどは指示通りに。
成功して(もうすでに復旧した後だけど)起動すればこういうデスクトップが現れる。なかなかにsleekだ。
あとは純粋Ubuntuの世界。頼りになるのは、
しかない。先の現状認識から、どうやらSeagateのシステムは大丈夫でWesternDigitalの方はだめらしいというあてはつくので、Seagateのシステムをバックアップし、それを東芝に移植して復活を目指すことにする。
まず、SATA-USB変換器にSeagateを接続、それでMacにつなぐ。以下、Terminal(日本語ではだっさい「端末」)でコマンドを延々と叩くことになるのだが、その前に解説サイトではあまりきちんと明記されていない(=linuxユーザには当たり前すぎて書かない)こと。
コマンドの最初にある「$」は一般ユーザ、「#」はスーパーユーザ(=sudo)
ということ。これを知らず、$が出ている状態(ルート権限がない、suではない状態)に続けて、サイトに書かれているままに「# mount」と打ち込み、怒られることを繰り返したのは、はい、わたしです。
つまり、コマンド入力例として、
# mount /dev/sdb1 /mnt/ (sdb1というドライブまたはパーティションを、mnt配下にマウントせよ)
と記述があった場合、多くは一般ユーザのままなのだから、実際に打ち込むのは、
sudo mount /dev/sdb1 /mnt/
という文字列になる、ということ。先頭の$か#かで、大きな違いが出てくるということに、コマンド入力に慣れていない人(わたし)はまず留意すべし。
それでなんとかマウントでき、「遊ぶ」サイトにあった「システム部分のバックアップ方法」に挑戦する。もうね、半角スペースのありなしとか、わずかなスペルミスとか、そんなことでコマンドがうまく通らないということに、わたしのような大雑把な人間にはまったくの苦行でしたよ、はい。
その結果、上のスクリーンショットに示されている通り、システム部分などのバックアップを終えたわけですよ。そして、「HDL2-A用のHDDを作成する」という項目に入ろうとしたところ。そのスクリプトまでダウンロードし、「超絶危険な」という文言にも「ここまできたら…」と覚悟を決めたのに、作業に入ろうとテキストをよく読んでみると、
なお、Ubuntuでは動かなかったとの情報を頂きました。ダメじゃん!
との一文が。ぷるぷる震えながらそれでもコマンドを打ち込むのだけれど、だめ。つまり、東芝を簡単にHDL2-A用に準備することは不可能ということ。
ところが、Seagateに替えて東芝をUSB経由でMacに接続、パーティションなどを見ると、最初にわけも分からずSeagateやWesternDigitalと交代で起動を試した時になされたと思われるけれど、もうすでにHDL2-A用にフォーマットされパーティションが切られているようだった。そこで、「遊ぶ」のシステムリストアにあった手順で、とりあえず東芝にシステムを入れておく。もしかすると入っていたのかもしれないが、東芝のみでは起動しなかったため、何かが足りなかったのかもしれない。
次に、データのバックアップ。Seagateと、USB接続したモバイルHDDをそれぞれマウントし、必要と思われるフォルダやデータをコピーしていく。これはコマンドではなく、GUIでMacやWindowsのようにできるので楽ではあるのだが、しかし時間がかなりかかる。細切れに時間を使い、なんとか必要なデータをバックアップし終える。
これで再チャレンジの舞台は整った。祈るような気持ちでまず東芝のみで起動に挑戦する。東芝はカリカリ音がSeageteよりもWesternDigitalよりも大きい。そして、こけた。
ではと、WesternDigital+東芝で起動にチャレンジ。ピとなるまでの長〜い時間。起動してしばらく。無音。赤ランプと警告音が鳴らない。システムを見てみると、なんと再構築を始めているではないか。これが早朝だったため、再構築100%を見届けることができない。不安を抱えつつ出勤。その夜、帰宅してHDL2を見るとグリーンランプ。システムでも再構築成功。なんとかとりあえずの復活はできた。
まだまだ続く苦難の道
現状の整理から。手元にあるのは、
- HDL2(WesternDigital+東芝)
- Seagate単体
- データを逃したUSB-HDD
システムで見ると、再構築を終えたHDL2の中身は真っ白。再構築というのは、つまりフォーマットにほかならない。
そこで今度はUSB-HDDに保存したデータをHDL2に戻さないといけない。が、そこで新たな問題が発生する。このUSB-HDDは、NTFSでフォーマットされており、Mac側から閲覧はできるのだけれど、書き込みの機能がOSになく、NASという、バーチャルなストレージにデータを書き込めない。
そこで、ネットでいろいろ調べると、いろいろ方法はあったが、一番洗練されていると思われたのが、こちら。
MacにNTFSフォーマットのストレージが接続されると、読み書き可能な状態で再マウントしなおしてくれるアプリ「Mounty for NTFS」を使ってみた。
AppStoreに負けない態度も頼もしい。これをインストールして、ようやく書き込める準備はできた。
しかしいざデータを移行しようとすると、今度は、Mac側で、「操作を完了できません。予期しないエラーが起きました(エラーコード-50)」というのが出て、コピーできない。果てしなく面倒だが、対処法はこちら。
予期しないエラー エラーコード-50 データコピー出来ない!?
Mac側のターミナルでコマンド処理する方法だが、もうUbuntuで慣れてしまい、かつてほど拒否感もない。「rm」がリムーブの意味ということすらわかってしまう。
ともあれ、これで無駄なデータを削除し、やっとコピー開始。しかしNAS越しであることやデータ自体が大きいこともあり、細切れに時間を使ってようやく終了したのが、7月中旬。仕事や育児で自由に時間が取れなかったとはいえ、1か月半かけてなんとか素人がデータサルベージに成功、環境を復元できた。
先人たちの努力に大いに感謝するとともに、NASやミラーリングといっても過信は禁物と身にしみた一件だった。
ちなみに、この復旧にかかった費用は、しめて1万4413円。数万円から数十万円かけて業者に頼むよりずっと低いのは当然として、ubuntuにも少しは慣れたことや、ハードディスクというものをもう一段深く理解したような気にもなれ、個人的な体験知として得たものも多かった。