PR

 まずはセキュリティ・ホールの確認から。前回の本コラム掲載後,新たに報告された主要なセキュリティ・ホールとして,OpenSSLの脆弱性がある(関連記事)。OpenSSL 0.9.6c から 0.9.6l,0.9.7a から 0.9.7cに存在するもので,米US-CERTなどによればサービスを停止させられる恐れのあるセキュリティ・ホールで,不正なアクセス権奪取が可能とは報告されていないが,OpenSSLはきわめて多くのサービスで使用されているプログラムであり,注意されたい。レッドハットミラクル・リナックスDebianなどからアップデート・パッケージが提供されている。

ジャーナリング・ファイル・システムやNFSの改善

 3月18日,米NovellからSUSE LINUX 9.1が発表された(関連記事)。同社としては初めてカーネル2.6を正式に採用したディストリビューションである。日本ではターボリナックスがすでにカーネル2.6をベースにしたTurbolinux Desktop10を発売しているが,欧米の主要Linuxディストリビューションとしては最初の2.6正式採用であり,今後商用ディストリビューションでのカーネル2.6採用の動きがさらに増加すると思われる。

 今回は,ファイル・システムやI/Oまわりの機能について解説しよう。カーネル2.6では,ファイル・システムの信頼性向上に欠かせないジャーナリング・ファイル・システムとして,4種類のファイル・システムがサポートされている。ext3,ReiserFS,XFSとJFSである。

 ジャーナリング・ファイル・システムとは,ファイルの更新に先立ちその更新履歴(ジャーナル)を記録するファイル・システムである。システムが障害などにより停止した際,更新途中のファイル領域にファイルの不整合が発生する場合がある。ジャーナルがないと,不整合が回復できない場合もあり,障害後の再起動の際,不整合が発生した箇所を発見するために,ファイルの全領域を検査しなければならない。ジャーナリング・ファイル・システムでは,履歴からディスクの復旧を行うことができ,また停止時に更新中だったファイル領域が記録される,ファイル・システムの検査と復旧を迅速に行うことができる。

 Windowsで使用されているFATはジャーナリングを行わない。そのため,障害後の再起動では,chkdskを実施し,障害発生直前に使用していたディスク・ボリューム全域を走査する。NTFSはジャーナリング・ファイル・システムであるため,障害が発生した場合でも,FATのような全域検査を行わずに短時間でファイル・システムの整合性を回復できる。

 ext3とReiserFSは,Linux独自のジャーナリング・ファイル・システムである。XFSは,米SGIが開発したファイル・システムである。カーネル2.6には,米IBMが開発したJFSが移植された。JFSはOS/2などで使用されたファイル・システムであり,カーネル2.4にもさかのぼって移植されている。

図1●ファイル・システムによる性能の違い
OSDLのレポート「Re-aim Test Comparison」より
 オープンソース・ソフトウエアの普及団体であるOSDLは,カーネルの信頼性を検証するための試験を行っているが,その中でファイル・システムの信頼性試験も行っており,性能も計測している。このテスト「Re-aim」は,データベースの処理を模した処理を行っている(図1)。ジャーナリングを記録することは,パフォーマンス面では負荷になる場合もあるが,このテストでは,ext3はジャーナリング処理を行っていないext2とほぼ同じ性能を示している。それに対し,XFSとReiserFSでは,若干の性能低下が生じている。また,安定性の面でもext3が最も安定しているという声が多いようだ。

 しかし,XFSとReiserFS,JFSは,ファイル・システムのサイズを動的に変更する機能にいちはやく対応した。また,「XFSは大規模システムで性能が発揮できるアーキテクチャになっており,今後安定性が高まってくれば期待できる」(VA Linux Systems Japan 技術部長 高橋浩和氏)といった見方もある。

 ファイル・システム関連では,NFSサーバーの高速化も行われている。従来,データを読み出す際に複数のバッファ間でコピーによる受け渡しが行われていたが,ディスク・キャッシュ上のデータを直接送信することで性能を向上させた。

 このアルゴリズムはゼロ・コピーNFSと呼ばれる。VA Linux Systems Japan 技術部長 高橋浩和氏らによって行われたものだ。VA Linux Systems Japanで,カーネル2.4でゼロ・コピーNFSなどのチューニングを適用し計測したところ,約3倍性能が向上したという「NFSサーバーの高速化」

IBMによるカーネル2.6と2.4のWebアプリ性能比較

 前回のLinuxウォッチでOSDLによるカーネル2.6とカーネル2.4の性能比較を紹介したが,米IBMもカーネル2.6とカーネル2.4の性能比較を行っており,日本IBMにより翻訳され公表されたので紹介しておこう「カーネル比較: 2.4と2.6でのWeb処理」

 テストは,8プロセッサのサーバー上で,Apache,Tomcat,WebSphere Application Server,JBossを使用したWebアプリケーションの性能を計測している。その結果,2.6.0-test5は,2.4.18の約6倍のWebページを処理したという。

(高橋 信頼=IT Pro)

■参考資料
◆OSDL Linux Stabilization project「Re-aim Test Comparison
日経Linux 2003年10月号 pp.28-60「特集 カーネル2.6のすべて」
◆VA Linux Systems Japan「NFSサーバーの高速化」
◆IBM developerWorks 「カーネル比較: 2.4と2.6でのWeb処理」
◆Joseph Pranevich 「The Wonderful World of Linux 2.6」


【おわびと訂正】掲載当初,「JFSは大規模システムで性能が発揮できるアーキテクチャになっており,今後安定性が高まってくれば期待できる」(VA Linux Systems Japan 技術部長 高橋浩和氏)とありましたが,JFSは筆者の誤認による誤りで,正しくはXFSです。お詫びして訂正いたします。