■Red Hat Linux 7.2はどこが変わった?

2001年10月31日にRed Hat Linuxの最新バージョンであるRed Hat Linux 7.2が発売された。Red Hat Linux 7.2には,ジャーナリングサポートのファイルシステム「ext3」,ブートマネージャとして「GRUB」が採用されるなど機能を高めるだけでなく,GUIによる設定ツールの充実などより管理しやすいパッケージになっている。
今回は,Red Hat Linux 7.2が従来のバージョンパッケージとどのように変わっているのか,その概要を説明しよう

icon Red Hat Linux 7.2の機能強化

 Red Hat Linux 7.2は,すでにカーネル2.4対応として大きく変化した7,7.1と続く3世代目のアップデートになるバージョンだ。そのためディストリビューションとしての大きな変化はあまり見られない。大きな点では,幾つかのシステム関連パッケージがバージョンアップしていることだ(Table 1)。

Table 1■Red Hat Linux 7.2のコアコンポーネントのバージョン

コンポーネント Red Hat Linux 7.2 Red Hat Linux 7.1
カーネル
2.4.7
2.4.2
gcc
2.96
2.96
glibc
2.2.4
2.2.2
GNOME
1.4
1.2
KDE
2.2.1
2.1
XFree86
4.1.0
4.0.3

 Red Hat Linux 7.2と従来のバージョンとの大きな違いは,前述したように「ext3ファイルシステムの採用」,「ブートマネージャGRUBの採用」の2点だ。

ext3ファイルシステムの採用

 ext3ファイルシステムとは,従来のLinuxで標準的に使われてきたファイルシステム「ext2」の後継に相当するものだ。ext3の大きな特徴は,ファイルを書き込む際に,履歴を保持する仕組みが採用されている点だ。このジャーナリングシステムを採用するメリットは,万が一システムがダウンした際にファイルシステムの不整合が起こる可能性が比較的少なくなり,またチェックディスクが行われる際の所要時間が少ないという特徴を持つ。

 従来Linuxが異常終了をしたり,停電などでいきなり電源を落としてしまった場合などには自動的に次回起動時にfsckが動作する。大容量なハードディスクの場合には,このディスクチェックに異常なほどの所要時間が必要になり,その間はシステムがダウンしたままになってしまう。

 しかしext3ファイルシステムでは,ジャーナリングシステムに記録された履歴部分からファイルの破壊状況を調べるため,fsckに必要な時間を大幅に短縮できるのだ。

 ext3と同じくジャーナリングシステムが採用されているファイルシステムとしては,ReiserFSやIRIX(SGI)で採用されているXFS,ほかにもJFSなどがある。実は,ReiserFSなどのほうがext3よりもディスクへのアクセス性能の点で優れている。しかし,ext3はext2と上位互換性を持っているという点が大きな特徴だ。ext3はext3に対応していないカーネルやユーティリティなどからはext2のように扱えるのだ。この場合,ジャーナリング機能が動作しないだけであり,アクセスそのものは通常と同じように読み書きできる。そのため互換性の心配がないのだ。

 Red Hat Linux 7.2では,このext3ファイルシステムを標準のファイルシステムとして採用し,新規のハードディスクにインストールする際ext3ファイルシステムとしてフォーマットされる(Fig.1)。ただし,必要があればext2ファイルシステムを利用することもできる。

 なおRed Hat Linuxの旧バージョンからのアップデートであれば,アップデートの際にext3ファイルシステムへの自動移行をすることも可能だ。

One Point!もし既存のext2ファイルシステムをext3ファイルシステムに手動で変更したいのであれば,tune2fsコマンドに「-j」オプションを付加させて実行すればよい。

Fig.1■インストール時におけるファイルシステムの選択
Fig.1

 ext3ファイルシステムの動作には,「writeback」,「ordered」,「journal」という3つのモードがある。標準はorderedモードで動作し,メタデータ(ディレクトリ構造など中枢部分)のみをジャーナリングし,ファイルそのものはジャーナリングされない。このモードは標準で設定されるということもあり,速度面と堅牢性の面から最もバランスが考えられている。

 一方,writebackモードに設定すれば,堅牢性の面が犠牲となるがアクセス速度が向上する。さらにjournalモードであれば,速度は犠牲となるが堅牢性が増すといった関係だ。

 これらの動作モードは,/etc/fstabファイルに「data=モード」という書式で記述される。この設定を変更すれば切り替えが可能だ。また,「elvtune」コマンドを使うと,ジャーナリングされたデータをハードディスクなどの物理メディアに実際に書き込む時間間隔やキャッシュ容量などを変更することもできる。これらのext3ファイルシステムのカスタマイズについては,次回に解説する予定だ。

 なおext3ファイルシステムを使って新しくパーティションをフォーマットするには,従来のmke2fsコマンドの代わりにmke3fsコマンドを使えばよい。しかし,筆者が調べたところmke3fsはRed Hat Linux 7.2には含まれないようだ。

 そこでもし,新規にフォーマットしたハードディスクなどにext3ファイルシステムを使用したいならば,mke2fsコマンドを使ってext2ファイルシステムとしてパーティションをフォーマットした後,tune2fsコマンドを使ってジャーナリングを追加しext3ファイルシステムに変更すればよい。

# mke2fs フォーマットしたいブロックデバイス名
# tune2fs -j 変換したいブロックデバイス名

 ちなみにext3ファイルシステムをマウントする場合には,/etc/fstabファイルにおいてext2の代わりにext3と表記するだけだ(List 1)。

List 1■/etc/fstabファイルの内容

LABEL=/ / ext3 defaults 1 1
LABEL=/boot /boot ext3 defaults 1 2
none /dev/pts devpts gid=5,mode=620 0 0
none /proc proc defaults 0 0
none /dev/shm tmpfs defaults 0 0
/dev/sda3 swap swap defaults 0 0
/dev/cdrom /mnt/cdrom iso9660 noauto,owner,kudzu,ro 0 0
/dev/fd0 /mnt/floppy auto noauto,owner,kudzu 0 0

One Point!/etc/fstabファイルには、ext2と記述してもファイルそのものへのアクセスはできる。しかしその場合、ext3の機能は活かされないので、ジャーナリング機能は有効にならない。

 ファイルシステムが堅牢になり,またfsckコマンドの占有時間も少ないということは,大容量ハードディスクを搭載することが多い現在,必須ともいえるだろう。とくに24時間稼動が必要とされるサーバ運用においては,安全面が1つ追加されたことにより,いっそう堅牢さを持ち備えた運営が可能となる。

ブートマネージャ「GRUB」

 Red Hat Linux 7.2では,標準設定のブートマネージャとして従来のLILOからGRUBに変更された。しかし,パッケージにはLILOも含まれており,インストールする際に選択できるようになっている(Fig.2)。

Fig.2■ブートマネージャの選択
Fig.2

 GRUBとは,GNUで開発されている汎用のブートマネージャだ。GRUBの特徴は,起動時に起動させるOSを選択することができるだけでなく,簡単なシェルが動作しそのシェル上で設定変更や動作変更ができるという点にある(Fig.3)。

Fig.3■GRUBの起動画面
Fig.3

 従来のLILOの環境では,LILOの設定ファイルである/etc/lilo.confファイルで動作が決定され,かつ,その後でliloコマンドを実行しないと設定内容が反映されない。

 つまり,もしも設定ファイルの記述に失敗してLinuxが動作しなくなった場合,/etc/lilo.confを編集する手段が切られてしまい,緊急起動用のフロッピーディスクなどからLinuxを起動し,手動でハードディスクをマウントしてからlilo.confファイルを書き直す必要がある。

 しかし,GRUBではGRUB自体が起動時の環境書き換えをサポートしているため,たとえLinux(カーネル)が起動しなくなっても設定の書き換えができ,起動できなくなってしまった場合の対処がしやすい。これは,緊急時に起動できなくなった場合に便利なのはもちろん,複数のカーネルを用意して起動時に頻繁に切り替えるような場合にも便利な機能だろう。

 GRUBの設定内容は,/etc/grubファイルに記述されている。設定ファイルの詳細やGRUBのもつ各種機能については,第3回目で取り上げる予定だ。

space 1/2 NEXT