続・玩式草子 ―戯れせんとや生まれけん―

第38回 HDDトラブルは突然に[その2]

この記事を読むのに必要な時間:およそ 2 分

前回は突然のHDDトラブルと専門業者によるデータ救出の顛末を紹介しました。ハードウェア的に認識不能となったHDDを前にして,多少PCの知識を持っている程度の筆者では手も足も出なかったのに対し,専門業者の手にかかるとほぼ全てのデータが取り出せた,その過程は魔法を見るような思いでした。

依頼した業者(PCエコサービス)サイトを見ると,どうやらその魔法のネタは「PC-3000」という専用の復旧ツールのようなので,少しこのツールについて調べてみました。

PC-3000データ復旧ツール

「PC-3000」というのは,チェコのプラハに本社を置く「ACE Lab」が開発したHDDのデータ復旧やデジタル・フォレンジック用の専用ハードウェアで,マザーボードに装着する拡張ボードタイプ(PC-3000 Express/UDMA)から現場に持ち込んで使えるタブレットタイプのポータブルタイプ(PC-3000 Portable)まで,いくつかの種類があるようです。

加えてNVMeやSSD,各種メモリーカード用のアダプタも用意され,HDDだけでなく,さまざまな記憶装置に対応しています。

ACE Lab社のサイトとPC-3000 UDMA

ACE Lab社のサイトとPC-3000 UDMA

具体的な仕組み等の解説は見当たらないものの,YouTubeにはHDDやSSDの復旧作業を紹介する動画がいくつか上がっており,それらを見ると,HDDのfirmwareをバイパスしてPC-3000自体が直接スピンドルモーターやヘッドを制御し,必要なデータを読み取っているようです。

これは言葉で言うのは簡単なものの,実現するためには,復旧対象のHDDが内蔵しているものと同等のfirmwareを用意して,それをHDDが動作する際よりも緻密に操作する必要があるわけで,複数のメーカーの膨大なHDDの種類を考えるとちょっと気が遠くなります。実際,紹介動画を見ていても,ずらりと並んだリストからどのfirmwareを使うか選択するようなシーンも写っていました。

それだけの種類のfirmwareをどのように用意したのかも興味あるところで,企業秘密であるfirmwareをHDDメーカーが社外に提供することは無いでしょうから,市販のHDDを分解するなどして集めたのでしょうか?

データ復旧作業の多くはソフトウェア的に自動化されていて,紹介動画を見る限り,メニューから必要な作業をクリックしていくだけで,破損した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に移していく,みたいな機能が必要かなぁ…… と考えたりもしています。

著者プロフィール

こじまみつひろ

Plamo Linuxとりまとめ役。もともとは人類学的にハッカー文化を研究しようとしていたものの,いつの間にかミイラ取りがミイラになってOSSの世界にどっぷりと漬かってしまいました。最近は田舎に隠棲して半農半自営な生活をしながらソフトウェアと戯れています。

URLhttp://www.linet.gr.jp/~kojima/Plamo/index.html