バックアップ用ポータブルドライブに最適なファイルシステムに関する一考察

 バックアップ用に外付けハードドライブを購入したばかりだとしよう。次に行うべきはディスクのフォーマットだが、Ext2にしろFAT32にしろ、どのファイルシステムを選択したとしても何らかのトレードオフは付きものである。

 同様の考察はUSBメモリ購入時にも当てはまるが、それらの用途がバックアップ用ドライブである場合は更なる要素を検討しなくてはならない。バックアップ目的で運用する以上、信頼性が確保されていると同時に、いざという場合の障害発生時にはその場で使用できて然るべきだからだ。また一方でメタデータを含めたデータ全体を保管しておきたければ、どのファイルシステムでも構わないという悠長なことは言っていられなくなる。その他にも外回り活動の多い仕事に就いている場合は、ポケットなどに常時携帯しておくという要素も検討に入れる必要があるはずだ。

 私自身、バックアップからのリストアという作業とは長年無縁で過ごせてこれたのだが、その記録がついに潰えたのはこの2月の出来事であった(ただしハードドライブ自体の無事故運転歴は11年目に達しており今も記録延長中である)。今回はラップトップのファイルシステムが破損したため、作業途中のデータが一部失われてしまったのだが、問題はこの事故が外出先で発生したことだった。喪失したデータは全体から見ればわずかな量に過ぎなかったものの、普段の活動拠点から離れた場所でこうした状況に陥るのはかなり不便である。そのため将来的な再発時にはよりスムースに対処できるよう、ポケットサイズのハードドライブを携帯するようにしたのであった。

障害その1:半ば強制されるFATフォーマットの使用

 現状で入手できるフォーマット済みドライブの大半はMicrosoftが古くから使用しているFAT32形式でフォーマットされており、必要なコネクタを備えた現在のコンピュータであれば問題なく読み込めるはずである。つまりLinux、Windows、Mac OS Xの各システムにてFAT32からのファイルコピーが正常に行えることを承知していれば、これらの製品をそのままバックアップドライブに使用してもいいことになる。ただしFAT32には1つのファイルサイズが最大4GBという制限があり、ビデオ編集を始めDVD ISOや仮想マシンのイメージを扱うユーザにとってはこれが1つの制約となるかもしれない。そしてUnix系ユーザにとってより重要な問題は、ファイルパーミッションという概念そのものがFAT32ではサポートされていないことで、バックアップからのリカバリ時にはファイルの所有者や書き込み許可などを復元するのが一苦労となるはずだ。

 こうした技術的な制約はNTFSを使うことで解消されるはずだが、残念ながらLinuxおよびMac OS Xからの書き込み処理に関してはある程度のトラブルに遭遇することを覚悟しておく必要があるだろう。つまりNTFSはバックアップシステムとして使うにはリスクが高いのであり、書き込みに失敗する危険性のあるバックアップシステムなどは結局のところ使われなくなるのが関の山のはずである。これはつまりバックアップする習慣を失うということであり、それはどのユーザも願い下げのはずだ。

障害その2:閉ざされた存在のLinux標準

 Linux系フォーラムにて、外部ドライブのフォーマットに何を使用すべきかという質問をすれば、たいていはext2を使うべきだという回答が返ってくるはずである。これはLinux標準のネイティブなファイルシステムであり、過去10年以上に渡って堅実な選択肢としての地位を占め続けてきたが、その後継者であるext3との互換性も高いため仮にLinuxで使用されなくなるとしてもそれはかなり先の話となるはずだ。

こうしたext2を最適なオプションと見なせるのは、どこに出掛けても常にLinuxを使用できるという一種の理想郷に住んでいる場合の話である。しかしながら世界中に存在するPCの90%ではWindowsが使用されているのが現状なのであって、ext2パーティションはWindowsから読み込めないことを覚悟しておかなくてはならない。

 また一方でWindows側にてext2をサポートさせることを目指したプロジェクトも2種類存在している。その1つExt2 Installable File System(IFS)が可能とするのは、NT 4.0からVistaまでのWindowsにおけるシステムレベルでの書き込み/読み込み機能の実装である。その動作はかなり安定してはいるものの、Unixシステムに不可欠のファイルパーミッションを扱うことはできず、Logical Volume Manager(LVM)ボリュームを読み込むこともできない。また分類としてはオープンソースではなくフリーソフトとされている。

 もう1つのExt2fsdはGPLライセンスの適用下で公開されており、先のExt2 IFSが有す機能の多くはこちらでも実装されている。ただしWindows NTとVistaでは使用できず、また安定していない点に注意を喚起しているのは他ならぬ作成者自身である。またLVMが非サポートなのも同様だが、最新の開発ビルドではext3ジャーナルの読み込みがサポートされている。

 Macの場合に利用可能なオプションはext2fsxというオープンソースプロジェクトしか存在しないが、その開発活動は2006年末頃から実質停止されているようである。実際、サポート状況が確認されたMac OS Xもバージョン10.4止まりとなっている。もっとも同プロジェクトのディスカッションフォーラムにはその点に不満を感じた開発者たちが新規に参入しているようであり、Mac OS Xのバージョン10.5ユーザとしては今後の開発再開に希望をつなげるかもしれない。

不完全な中から最も負担の小さいアプローチの選択

 以上、どの選択肢もあまりパッとしないのではないだろうか? FAT32はLinuxからも読み込めるものの、ファイルパーミッションの設定がすべて失われる上に、一定サイズ以上のファイルは別途分割しなければならない。Linuxとの親和性が最も高いのはExt2ではあるが、逆にその扱いはLinuxシステムに限定されてしまう。

 後者の問題についての対策としては、ブータブルCDないしフラッシュドライブにてOSとしてのLinuxも携帯するようにするか、あるいはWindowsおよびMac用のext2対応ツールもバックアップデバイスに常備しておくことが考えられる。これも1つの実用的なソリューションではあるはずだが、実行時の作業を複雑化してミスを犯す危険性を高めるというデメリットも秘めている。例えば携帯していたはずのLinuxイメージが使用できなくなっていれば、すべては元の木阿弥である。またプロプライエタリ系OS側で使用するext2ソリューションはいずれも管理者権限を伴うインストールを必要とするため、本番となる緊急時のリカバリをする際に使用不可能という羽目に陥るかもしれない。

 ここでより現実に即した検討をしてみよう。実際に自分の手元にあるファイルで4GBという上限サイズを超えるものはいくつ存在しているだろうか? システムを除いたデータファイルのアクセスパーミッションおよび各ファイルの所有権を手作業で復元するのと、ハードドライブのクラッシュ時にOSを丸ごと再インストールし直すのでは、どちらがより手間がかかるだろうか?

 私自身がこれまで使用してきた手法は、自宅にあるデスクトップシステムに接続したバックアップ用3.5インチディスクではext2を使用し、外出時に携帯するポケットサイズのポータブルドライブではFAT32を使用するというものである。どちらのアプローチも百点満点のソリューションではなく、障害発生時に行うであろう作業手順が個々の環境ごとに異なることにもなるが、こうした体制で運用する方が双方の環境に対する緊急時のリカバリを簡単化できると判断した上での選択である。

 前述した私のアプローチは決して唯一無二の正解というものではない。読者諸兄もそれぞれが独自の方式にてバックアップを行っていると思うが、そのアプローチは実際の障害発生時にどの程度上手く機能してきただろうか?

Linux.com 原文