e2image - 重要な ext2/ext3/ext4
ファイルシステムメタデータをファイルに保存する
e2image [
-rsI ]
device image-file
e2image プログラムは、
device 上にある重要な
ext2/ext3/ext4
のファイルシステムのメタデータを
指定されたファイル
image-file に保存する。
このイメージファイルは
dumpe2fs や
debugfs
といったプログラムで
-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 (tytso@mit.edu)
が作成した。
入手方法¶
e2image は e2fsprogs
パッケージの一部で、
http://e2fsprogs.sourceforge.net
から入手できる。
関連項目¶
dumpe2fs(8),
debugfs(8)