道端の鳩

突然の鳩のフン

RAID1を組もうとしたけど断念して定期バックアップにした話

 最近PC周りの環境を色々と変えていて、変えるに当たってストレージも冗長化しておこうと思いTOSHIBAのMD04ACA300を二台購入した。以前にRAID1/0が可能だと謳う玄人志向のGW3.5FX2-U3Eを買っていたので、これに二台を挿してRAID1にしようと思った。が、結論から言ってしまうとやめた。

 

 当初の僕の認識としては、RAID1は「二台のHDDに同じ内容を書き込み、片方のHDDに致命的なエラーが発生してももう片方のHDDにデータが残っているため、エラーHDDを正常な新しいHDDに換装することでシステムの持続ができる」というものだった。それを信じて疑わなかった僕は、まずHDDの片方だけ(以下HDD①とする)をシンプルボリュームとしてマウント、フォーマットし、既存の2.5TBのストレージからHDD①へ全データをコピー、更に新規データをHDD①へ保存していた。楽観していた僕は、「よしよし、これでケースのセッティングをRAID1にすればもう片方のHDD(HDD②)に同期してくれるんだよな」と思い、データが書かれたHDD①と未フォーマットのHDD②を挿した状態でHDDケースのRAIDコントローラをRAID1に切り替えたのだった。

 

 『ディスクの管理』で確認すると、二台が一台のHDDとして認識され、未割り当て状態になっていた。

 

 あーうん、なるほどね?このRAIDコントローラはそういう挙動をするのね?そう自分を納得させながら、ファイルシステムが認識されなくなった現状にしばらくポカンとしていた。データは既存のデータも新規のデータもまだ他の場所に残っていたから、このままフォーマットをかけて新たに書き込んでもいいけども、じゃあこれで次にHDDのどちらかが壊れたらどうやってRAID1環境をリビルドするのか?などと考え、少なくともこのHDDケースでRAID1を組むのは骨折り損になると結論し、RAIDコントローラを個別認識モードに切り替えて未割り当て状態になってしまったHDD①のデータを復旧することを試みた。

 データの復旧に最適なソフトを知らなかったので、Twitterで聞いてみたところ『TestDisk』というソフトが無料でかつ高機能だと言うことを知り、これを使ってみることにした。

 TestDiskについては

「TestDisk」の使い方 - パソコントラブルと自己解決

【TestDisk】について

が詳しい。説明はそれらのサイトに譲るとして、問題だったのはうちのHDDは3TBであるため、パーティションテーブルをGPTにしていたのに対し、上記のような詳しいサイトは主にMBRの場合の復旧方法しか記載がなく、GPTについて書いてあってもちょろっとで正直よく分からなかったということだ。

 それでも説明を読みながらディスクタイプにGPTを指定し、AnalyzeをQuick searchで実行してみた。するとまずこのAnalyzeがとても遅い。しかし目的のパーティションが見つかれば途中で中断してもいいらしいので、それらしきものが見つかった時点で中断した。解説サイトによればここでパーティションの中からファイル・フォルダの一覧が見られるはずなのだが、見れない。このままwriteをかけてしまうのはあまりに危険かと思ったので、一度このプロセスを破棄して再度ディスクタイプをIntelで認識させてAnalyzeしてみた。するとQuick searchはすぐに終わり、表示されたパーティションの中を見るとファイル・フォルダ一覧が表示できる状態になっていた。GPTじゃないんだけど、これでいいのか?と思いながらも、まあ中身見えたし…とwriteを実行。した結果、該当のパーティションはRAWとして認識されるようになった。つまり失敗である。

 それでもTestDiskからディスクタイプをIntelで指定してみると相変わらず中身は見えていたので、もうしょうがないからとファイルコピーのオプションを使ってHDD②へデータを丸ごとサルベージすることになった。

 データのサルベージが終わったあと、適当な差分比較ツールを使って2.5TBの既存のストレージとHDD②を比較し、救出に失敗していたファイルを改めてHDD②に移してデータの復旧を完了とした。

 

 さて、RAID1を組むことは諦めたわけだが、データの冗長化はしたい。そこで、友人の助言も得てWindows標準のタスクスケジューラーとフリーソフトFastCopyを合わせてHDD①からHDD②へ定期的なバックアップを取る方法を取った。

 タスクスケジューラーは指定した条件で特定のコマンドを実行してくれる機能を持ち、FastCopyは同期や移動など多機能でコマンドから実行できるファイルコピーツールだ。

使い方は

Windows TIPS:タスクスケジューラの基本的な使い方(Windows 7/8/8.1編) - @IT

FastCopyで簡単かつ高速に同期でバックアップする方法 - BTOパソコン.jp

あたりを読めば大体分かると思う。

 まあRAID1のようにリアルタイムに同期することはできないけれど、RAIDのシステムが壊れた時のことを考えると、扱い慣れたシンプルボリュームどうしをソフトウェアで扱ったほうが楽だな、という結論に至った。

 以上が長くなったけど、RAID1を組もうとして失敗した話の一部始終。何か参考になれば。