e2image(8) 重要な ext2/ext3/ext4 ファイルシステムメタデータをファイルに保存する

書式

e2image [ -rsI ] device image-file

説明

e2image プログラムは、 device 上にある重要な ext2/ext3/ext4 のファイルシステムのメタデータを 指定されたファイル image-file に保存する。 このイメージファイルは dumpe2fsdebugfs といったプログラムで -i オプションを使えば検査できる。 このプログラムは酷く破損したファイルシステムを エキスパートが回復するときの手助けができる。 将来的には、被害を受けたファイルシステムを回復する手助けとして、 このイメージファイルを用いるように e2fsck を拡張する予定である。

image-file が - の場合、 e2image の出力は標準出力に送られる。 これにより、出力を gzip(1) のような他のプログラムにパイプすることができる。 (今のところ、このオプションがサポートされているのは、 -r オプションを使って raw イメージファイルを 作成する場合のみである点に注意すること。 なぜなら、今のところは通常のイメージファイルを作成する過程で、 パイプを使って行うことのできない ファイルへのランダムアクセスが必要なためである。 この制限は将来のバージョンの e2image で取り除かれると期待される。)

(ブート時や毎週といった) 一定の期間毎に、 全てのファイルシステムのイメージファイルを作成したり、 (fdisk -l コマンドで生成される) パーティションのレイアウトを保存するのは、 とても良い考えである。 ファイルシステムが被害を受けたときに イメージファイルデータにアクセスできることを保証するために、 イメージファイルは中に入れたファイルシステムとは 別のファイルシステムに置いておくべきである。

ディスク容量を節約するため、 e2image はイメージファイルをスパースな (sparse) ファイルとして作成する。 よって、イメージファイルを他へコピーするときには、 前もって圧縮するか、 GNU 版の cp では --sparse=always オプションを使ってコピーするべきである。

ext2 イメージファイルの大きさは、ファイルシステムのサイズと 使用している inode の数に大きく依存する。 典型的な 10 GB のファイルシステムで 1,200,000 個の inode のうち 200,000 個が使われている場合、 イメージファイルの大きさは約 35 MB になるだろう。 4 GB のファイルシステムで 550,000 個の inode のうち 15,000 個が使用されている場合、 イメージファイルの大きさは約 3 MB になるだろう。 イメージファイルは (ファイルシステムと比べて) とても小さく圧縮できる傾向がある。 ディスク上で 32 MB を使用しているイメージファイルは、 一般に 3 〜 4 MB に圧縮される。

イメージファイルを使ったファイルシステムメタデータの復旧

-I オプションを指定すると、e2image はイメージファイルに格納されている メタデータをデバイスにインストールし直す。 これは緊急の場合に、ファイルシステムメタデータを デバイスに復旧するのに使用できる。

警告!!!! -I オプションは、他の方法が失敗した場合の 最終手段としてのみ使用すべきである。 イメージファイルが作成された後でファイルシステムが変更されていると、 データが失われるだろう。 他の復旧手段を後で試そうと思う場合は、 通常はファイルシステムのフルイメージバックアップを作成すべきである。

RAW イメージファイル

-r オプションを使うと、通常のイメージファイルではなく、 raw イメージファイルが作成される。 raw イメージファイルは、通常のイメージファイルと 2 つの点が異なる。 1 つ目は、ファイルシステムのメタデータが適切な位置に置かれ、 e2fsck, dumpe2fs, debugfs などが raw イメージファイル上で 直接実行できるという点である。 raw イメージファイルが使うディスクスペースを最小化するため、 このファイルはスパースなファイルとして作成される。 (スパースなファイルの作成が実装されていないユーティリティで このファイルをコピー・圧縮・展開する場合は注意すること。 ファイルがファイルシステム自身と同じ大きさになってしまうだろう!) 2 つ目は、raw イメージファイルが間接ブロックと間接データブロックを 含んでいるという点である。 現行のイメージファイルはこれらのブロックを含んでいないが、 将来的には変更されるかもしれない。

raw イメージファイルは、e2fsprogs のバグレポートの 一部としてメンテナにファイルシステムを送る場合に時々利用される。 バグレポートで送る場合には、以下のコマンドが推奨される (hda1 を適切なデバイスで置き換えること):


e2image -r /dev/hda1 - | bzip2 > hda1.e2i.bz2

これにより、データブロックを含まないメタデータ情報のみを送ることができる。 しかしこれでも、ディレクトリブロック内のファイル名によって、 バグ報告者が秘密にしておきたいファイルシステムの内容についての情報が 明らかにされてしまう。 その心配を取り除くためには、 -s オプションを指定することができる。 これにより e2image は、イメージファイルを書き込む前に、ディレクトリエントリをごちゃ混ぜにして、 ディレクトリブロックの使用されていない部分を 0 で埋める。 ただし -s オプションはハッシュツリーにインデックス化された ディレクトリについての問題の分析を妨げてしまう。

著者

e2image は Theodore Ts'o ([email protected]) が作成した。

入手方法

e2image は e2fsprogs パッケージの一部で、 http://e2fsprogs.sourceforge.net から入手できる。