前回は突然のHDDトラブルと専門業者によるデータ救出の顛末を紹介しました。ハードウェア的に認識不能となったHDDを前にして、多少PCの知識を持っている程度の筆者では手も足も出なかったのに対し、専門業者の手にかかるとほぼ全てのデータが取り出せた、その過程は魔法を見るような思いでした。
依頼した業者(PCエコサービス)のサイトを見ると、どうやらその魔法のネタは「PC-3000」という専用の復旧ツールのようなので、少しこのツールについて調べてみました。
PC-3000データ復旧ツール
「PC-3000」というのは、チェコのプラハに本社を置く「ACE Lab」社が開発したHDDのデータ復旧やデジタル・フォレンジック用の専用ハードウェアで、マザーボードに装着する拡張ボードタイプ(PC-3000 Express/UDMA)から現場に持ち込んで使えるタブレットタイプのポータブルタイプ(PC-3000 Portable)まで、いくつかの種類があるようです。
加えてNVMeやSSD、各種メモリーカード用のアダプタも用意され、HDDだけでなく、さまざまな記憶装置に対応しています。
具体的な仕組み等の解説は見当たらないものの、YouTubeにはHDDやSSDの復旧作業を紹介する動画がいくつか上がっており、それらを見ると、HDDのfirmwareをバイパスしてPC-3000自体が直接スピンドルモーターやヘッドを制御し、必要なデータを読み取っているようです。
これは言葉で言うのは簡単なものの、実現するためには、復旧対象のHDDが内蔵しているものと同等のfirmwareを用意して、それをHDDが動作する際よりも緻密に操作する必要があるわけで、複数のメーカーの膨大なHDDの種類を考えるとちょっと気が遠くなります。実際、紹介動画を見ていても、ずらりと並んだリストからどのfirmwareを使うか選択するようなシーンも写っていました。
データ復旧作業の多くはソフトウェア的に自動化されていて、紹介動画を見る限り、メニューから必要な作業をクリックしていくだけで、破損したHDDからデータが救出(別HDDへのコピー)できるし、パスワードロックもクリック1つで解除できるのはちょっとびっくりでした。
このツールを使えば、相当のダメージを負ったHDDからもデータを救出できそうだ、と感心する一方、「壊れて認識できなくなったから大丈夫」と思って、古いHDDを廃棄するのは危険なのだ、とあらためて感じました。
こんな便利なツールなら、次のHDDトラブルに備えて手元にも1台、と値段を調べてみたものの、最小構成で7,000ドル、各種アダプタを加えると1万ドルを越えていて、国内で入手するには最低でも100万円強かかりそうです。やはり、いざという時は専門業者にお願いした方がいいでしょう。
RAIDとバックアップ
PC-3000のようなすごいツールを利用できない個人としては、「HDDは必ず壊れる」という前提で、いかに必要なファイルを守るかを考えることになります。
そのためには「バックアップ」や「RAID」という方法があり、8年前くらいにファイルサーバ機を構築した際には「RAID」を使うことを選択しました。
当時は、「バックアップを使うと、同名のファイルがあちこちに散らばってしまい、バージョン管理等が面倒だから、オリジナルのファイルをRAIDで保護したパーティションに置き、そこを共有領域として複数のマシンからNFS等でマウントして使う」という方針でシステムを構築しました。
この方針に基づき、当初は1TBのHDDを2本、ミラーリング(RAID1)に組んで1TBの共有領域を作り、数年後、共有領域が手狭になってきたので2TBのHDDを2本追加して、共有領域を3TBに増設しました。
この方針が間違っていたわけではなく、今回のトラブルにおいても、RAIDを組んでいたHDDを別のマシンに持っていくと、問題なくファイルを読み書きできました。
一方、この方針が今回のトラブルの遠因になったことも否定できません。というのも、ファイルサーバ機に利用していたマシンではSATAが6ポートで、そのうち1つは起動用HDD、もう1つはPlamo Linux用で、残りの4ポートが2つのRAID1で塞がってしまったため簡単にHDDを増設することができず、起動用HDDに溜めていたファイルを共有領域にコピーすることが躊躇(ためら)われた結果、ついつい放置してしまったのでした。
RAIDの本来の目的は、複数のHDDを束ねることで冗長性を持たせ、1つのHDDが壊れてもシステムは停止しないという「可用性の高さ」であり、「ファイルの保護」というのはその副産物でしょう。逆に言うと、RAIDが提供する「可用性の高さ」を正しく享受するには、システムを停止せずに壊れたHDDを交換できるホットスワップ機能が必要で、電源を落さないと交換できない内蔵HDDでRAIDを組んでもあまり意味が無い、ということです。
確かにRAID1で組んでおけば、書き込んだファイルはリアルタイムでバックアップされるものの、筆者の場合、そこまでの信頼性は必要ありません。むしろ、1日に数度、rsyncで複数のHDD間のファイルを同期させる方が、同容量のHDDで組まないといけないRAID1に比べ、容量の異なるHDDを自由に組み合わせることができるので、増設も容易になるでしょう。そう考えて、とりあえずファイルサーバ機は起動用HDDを交換し、1TB×2だったRAIDは引退させ、4TBのHDDに換装しました。
引退したRAID上のファイルは2台のPCに配置し、両者を適宜rsyncで同期させるようにはしたものの、今後、どのように運用していくかは鋭意検討中、というところです。
先のトラブル以来、バックアップについてあれこれ考えた結果、重要なのは「自分にとって本当に必要なファイル」は何かを見極めることだ、という結論に至りました。
手元に貯めこんでいるファイルの多くはダウンロードしたもので、失くしたとしてもネット上で探し回れば何とかなりそうですし、自分で作ったファイルの中にも、ここ何年も見ていないし、多分、今後も見返すことが無さそうなものが多数あります。それらをどのように整理していくべきか、いわゆる「断捨離」ではないけれど、何年か以上開かなかったファイルは、自動的に圧縮して外付けHDDに移していく、みたいな機能が必要かなぁ…… と考えたりもしています。