Linux 2.2系ではext2fsが主流でしたが、 Linux 2.4系ではext3fsが主流になりつつある。ext3と同じくジャーナリングシステムが採用されているファイルシステムとしては,ReiserFSやIRIX(SGI)で採用されているXFS,ほかにもJFSなどがある。実は,ReiserFSなどのほうがext3よりもディスクへのアクセス性能の点で優れている。しかし,ext3はext2と上位互換性を持っているという点が大きな特徴だ。ext3はext3に対応していないカーネルやユーティリティなどからはext2のように扱えるのだ。この場合,ジャーナリング機能が動作しないだけであり,アクセスそのものは通常と同じように読み書きできる。
基本的にはext2の強化版。
ext3ファイルシステムの動作には,「writeback」,「ordered」,「journal」という3つのモードがある。標準はorderedモードで動作し,メタデータ(ディレクトリ構造など中枢部分)のみをジャーナリングし,ファイルそのものはジャーナリングされない。このモードは標準で設定されるということもあり,速度面と堅牢性の面から最もバランスが考えられている。
一方,writebackモードに設定すれば,堅牢性の面が犠牲となるがアクセス速度が向上する。さらにjournalモードであれば,速度は犠牲となるが堅牢性が増す。5.1.1 常備能力
ジャーナリングにより、回復は数秒ですむ。e2fsckが不要。5.1.2 データの一貫性
より強力な一貫性を提供する。5.1.3 速度
ジャーナリングがハードドライブのヘッドの動作を効率化する。5.1.4 簡単な移行
ext2 -> ext3へは再フォーマット不要。> 5.3参照
5.2.1 fdiskでパーティション作成
fdiskの使用は、”root”でシェルから行う。たとえば、IDEのセカンダリのデバイスに行う場合、[1.]# /sbin/fdisk /dev/hdb
fdiskコマンド
m =ヘルプ表示。
p =現在の(設定をしようとしている)パーティションを表示。
d =パーティションの削除。
n =新しいパーティションを作成。
サイズの指定は +sizeM (M=メガバイト)。
w =ディスクにパーティションテーブルを書き込む。
t =ファイルシステムを用意。
linux swap <- 82
linux ext2 or ext3 <- 83
l =ファイルシステムタイプの一覧表示。
q =ディスクを変更しないで、終了。5.2.2 ext3ファイルシステムのフォーマット
fdisk等でパーティションを作成した後、フォーマットを行う。たとえば、[1.]# /sbin/mkfs –t ext3 /dev/hdbXX
これにより、指定されたドライブの、それまで存在するデータをすべて永久に破壊します。[2.]# /sbin/mke2fs –j /dev/hdXX :これでもフォーマットできる。
[-j] [-J journal-options]5.2.3 e2labelを使用してラベルを割り当てる
ドライブのパス名を使用しないで、/etc/fstabにラベルで指定出来る。[1.]# /sbin/e2label /dev/hdaXX /mount/point
各パーティションにラベルを割り当て、/etc/fstabに追加する[2.]# pico –w /etc/fstab
そして、各ラベル付パーティションを以下のように付け加える。[3.]# LABEL=/mount/point /mountpoint ext3 defaults 1 2
5.2.4 不明なラベルのパーティションがある場合
次のコマンドで調べる。[1.]# /sbin/tune2fs –l /dev/hdaXX |grep volume以上のように、ラベルでマウントポイントを指定することが出来る。
tune2fsプログラムは、パーティションのデータを変更せずにジャーナルを既存のext2ファイルシステムに追加することができる。
マウントされているとrootディレクトリに”.journal”としてみえる。[1.]# /sbin/tume2fs –j /dev/hdXX
実行後ext3に変換される。
実行後は、/etc/fstabの中でパーティションタイプを
ext2 -> ext3に変更をしておくこと。5.3.1 rootファイルシステムの変換の場合
ブートするためにはinitrdイメージ(or RAM disk)を使用する必要がある。この作成には、[1.]# mkinitrd
man mkinitrd参照。さらに、LILO or GRUBの設定が、initrdをロードするので確認。>変換がうまくできていない場合、/rootはext3でなくext2でマウントされる。
ext3は、最近(2年ぐらい)のものなので、一部のディスクユーティリティはサポートしていない。たとえば、
[1.]# resize2fs
ext3未サポートなので、一時的にext2に戻して使用しなければならない。
:パーティションの縮小等に使用。
パーティションをext2にもどすには、rootでログインして、アンマウントする。[2.]# umount /dev/hdbXX
ファイルシステムをext2に変更。[3.]# /sbin/tune2fs –o ^has_jounal /dev/hdbXX
has_jounal = -j オプション を使った場合と同様に ext3ジャーナルをセットまたはクリアできる。
パーティションのエラーチェック[4.]# /sbin/e2fsck –y /dev/hdxx
パーティションを再度ext2としてマウント[5.]# mount –t ext2 ./dev/hdbXX /mount/point
パーティションのrootレベルでマウントディレクトリに移動して、不要な”.jounal”を削除する。[6.]# rm –f .jounal
基本的に、ext3はext2でもマウントできる。ただし、その場合はジャーナルは使用しない。
第5章おわり