Setting of ext3 on Linux-2.2.x
前置き
サーバの強化を目的にファイルシステムをext2からext3に移行しようと思い立ちました。
方針としては、カーネルをlinux-2.2.26からlinux-2.4.28にアップデートしてからと考
えたのですが、いかんせんベースシステムがSlackware-7.0と古めかしいため、gcc,modutil,
e2fsprogs等々を先にアップデートしていたら、ブートしなくなっちゃいました(^^;。
「あ゛〜あかんかったかぁ...」と薄笑いをうかべながらルートパーティションをフォーマットし、
バックアップからリストアしているメッセージをボーと眺めながら、「カーネルは2.2.26のまま
でいこ...」と決心したのでした。
e2fsprog-1.29
Slackware-7.0標準のe2fsprogs-1.15ではext3のサポートはされてないのでアップデートする必要があります。
現時点(2004/12/23)で最新はe2fsprog-1.35なんですが、gettext関係をアップデートしないとmake
が通らないようなので、ちょっと古目のバージョンを入れることに...。
カーネルパッチ&再構築
linux-2.2.x系では標準でext3は組み込まれていないので、パッチを当てることになります。
- cd /usr/src
- tar xvzf
ext3-0.0.7a.tar.gz
- cd linux
- cat ../ext3-0.0.7a/linux-2.2.19.kdb.diff | patch -p1
- cat ../ext3-0.0.7a/linux-2.2.19.ext3.diff | patch -p1
./Makefileへのパッチがリジェクトされるので手パッチを当てます。
「EXTRAVERSION =」を「EXTRAVERSION = ext3」に変更。
- make menuconfig
Filesystems -> Second extended fs development code
をスタティックに組み込み。特に、ルートパーティションをext3化する場合は、
必ずスタティックに組み込みましょう。
- make bzImage && make modules && make modules_install && make bzlilo
- cd ../pcmcia-cs-3.1.34
- make config && make all && make install
- cp /etc/pcmcia/network.O /etc/pcmcia/network
/etc/pcmcia/networkをLANカード2枚挿しの関係で修正を加えているので、
元に戻します。
- reboot
ext2からext3への変換
ext3のご利益
- df -T
ext3でマウントされていることを確認(^^)/。
Filesystem Type 1k-blocks Used Available Use% Mounted on
/dev/hda3 ext3 3945160 1119584 2625168 30% /
- おもむろに電源を切り、再度電源投入します。
Dec 23 20:23:08 lib100 kernel: EXT3-fs: 03:03: orphan cleanup on read-only fs
Dec 23 20:23:08 lib100 kernel: EXT3-fs: 03:03: 8 orphan inodes deleted
Dec 23 20:23:08 lib100 kernel: EXT3-fs: recovery complete.
Dec 23 20:23:08 lib100 kernel: EXT3-fs: mounted filesystem with ordered data mode.
とコンソールにメッセージが表示されジャーナルからリカバリが行われたことが読み取れます。
もちろんfsckは実行されません。
これでいつLib100のバッテリ(≒UPS)が腐っても安心?。
[更新]