リポート:第5回 Linux Foundation Japan Symposium──Linuxカーネル天気予報
同シンポジウムでは、毎回最初に「Linux Kernel Weather Forecast」というLinuxカーネルの開発状況と短期的(数ヶ月~1年)な将来像を報告する講演が行われるのが恒例となっている。天気予報(Weather Forecast)と題されているのは、コミュニティで開発されているLinuxカーネルには確定したロードマップというものが存在しないためだ。
今回「Linux Kernel Weather Forecast」の講演を行ったのは、LWN.netのJonathan Corbet氏。氏は、「コードのマージ期間(Merge Window)が2週間でその後の8~12週間は安定化(Stabilization)のみ」というLinuxカーネルの開発プロセスを紹介し、このプロセスにより機能追加とバグの修正が同時に行われることが少なくなり、安定したリリースサイクルが実現できるようになったと説明した。
Jonathan Corbet氏 | カーネル2.6.12以降に変更された累積行数のグラフ。階段状のラインは、コードのマージと安定化のフェーズがきちんと分離できていることを示す(クリックで拡大) |
本題の将来予測では、8日(米国時間)に2.6.22がリリースされたばかりということで、次の2.6.23でマージされると思われる新技術がサブシステムごとに説明された。ここでは、その中からファイルシステムと仮想化に関する部分を紹介したい。
次世代のファイルシステム
ファイルシステムに関してCorbet氏は、まず、ディスク容量が拡大する一方でアクセス性能がほとんど向上していないという問題を指摘し、これにより膨大な時間のかかる整合性チェック(fsck)をファイルシステム全体に対して行うことが非現実的になりつつあるという状況を説明した。そして、現在開発されているファイルシステムが、この問題にどのように対処しているのかが紹介された。
始めに紹介されたのは、chunkfs/tilefsで、これらは1つの巨大なファイルシステムの代わりに、チャンクあるいはタイルという小さな領域の集合としてファイルシステムを提供する仕組みである。このファイルシステムでは、fsckが必要な状況では、アクティブだった領域のみがチェックされる。こうすることで、すべての領域をスキャンせずに整合性を確保できるようになっている。
次に紹介されたBtrfsは、Oracleから寄贈された新しいファイルシステムである。エクステント方式のファイルシステムで、サブボリュームやスナップショットといった機能を標準で備えている。最近のファイルシステムの多くは整合性を確保するためにジャーナル機能を利用しているが、Btrfsはジャーナルを使わずにデータとメタデータのチェックサムを使っているそうだ。さらにBtrfsではfsckをオンライン状態で実行することが可能で、サービスを中断せずにファイルシステム全体をチェックすることができる。また、オフライン状態では非常に高速にfsckを実行することができるとのことである。ただし、まだ開発が始まったばかで仕様も固まっていないので、実用になるのはかなり先のことになるという。
3つ目に紹介されたのは、ext3の後継であるext4。すでにext4はメインラインへの統合が始められているが、ナノ秒タイムスタンプ、プリアロケーション/ディレイアロケーション(どちらも一連のデータを連続したブロックに記録するための仕組み)、ジャーナルチェックサムといった機能が2.6.23で追加される予定だという。さらに来年の早い段階でオンラインデフラグ機能が追加されるとのことだ。どうやらジャーナルチェックサムでジャーナル自体の信頼性を向上させてfsckの必要性を減らすというのが、ext4開発者の方針のようだ。
このほかファイルシステム分野では、Reiser4の開発がほとんど停止してしまっていること、フラッシュメモリ用の新しいファイルシステムLogFSが2.6.23でメインラインに統合されるかもしれないといった状況が説明された。
Xenを追撃する新仮想化技術
この2~3年、コンピュータ関連技術の中心的なトピックとして注目を集める仮想化分野だが、Linux用の仮想技術ではXenが一歩先行している感がある。このXenは、2.6.23でメインライン・カーネルに統合されるだろうとの予測が示された。Xenは準仮想化と完全仮想化の両方に対応し、ライブマイグレーションが可能で、すでに企業向けLinuxで利用可能になっている。ただし、後発の仮想マシンが登場してきたことにより、Xenへの注目度は低下してきているという(編注:これはカーネル開発コミュニティ内での注目度という意味かもしれない。成熟期に入った技術が開発コミュニティで注目を集め続けるのは困難である)。
その後発組としては、LguestとKVMの2つが紹介された。KVMはIntel VTやAMD-Vといったハードウェア仮想化技術を使用する完全仮想化の仮想マシンで、すでに2.6.20で統合されている。その後のアップデートでライブマイグレーションが可能になっており、安定性も向上してきているので、2.6.23のころには実用レベルに達するだろうとのことである。
一方のLguestは、paravirt_ops APIを利用するLinuxゲスト専用の準仮想化システムで、特別なハードウェア機能を必要としない。このLguestも2.6.23でメインライン化されるとの見通しが示された。
このほか、Corbet氏の講演では、より大規模なシステム(1024プロセッサ以上)でも効率よくCPUリソースを使えるようにする新しいスケジューラCFS(Completely Fair Scheduler)や、ptraceに代わるカーネルのトレース機能、utraceが2.6.23でマージされる予定であることなどが紹介された。
最後にCorbet氏は、先月29日にリリースされたGPLv3に触れ、カーネル・コミュニティがGPLv2に不満を感じていないこと、GPLv3に変更するには膨大なパッチ提供者たちの同意を得なければらないことなどから、GPLv3への移行は現実的ではないとの見方を示した。