4月版 乱立する仮想化技術を統合しよう
上川純一
日本ヒューレット・パッカード株式会社
コンサルティング・インテグレーション統括本部
2006/4/28
仮想化技術統合の兆し?
「Paravirtualization用のパッチをLinuxカーネルにマージしてほしい」という動きが最近盛んです。
Chris Wrightは、LinuxカーネルがXen Hypervisor上で動くパッチを提案しました。Linuxカーネルが直接ハードウェアをたたくのではなく、Hypervisor callを実施してXen上で動くようにするものです。一方、Zachary Amsdenは、VMI(Virtual Machine Introspection)インターフェイスを利用したVMware用Linuxを提案しました。ただし、XenのParavirtualizationと実装方法が類似しているため、両方のインターフェイスをカーネルにマージするのは好ましくありません。将来的には、ある時点でどちらかが選択される必要があるでしょう。XenとVMwareのどちらの提案がメインラインに先に取り込まれるのか、目が離せません。
別のレイヤでは、Linux VServerやOpenVZなど、単一カーネルが複数のユーザー空間を仮想化するタイプのシステムが乱立している現状を受けて、Kirill Korotaevが技術の統合を目的とした議論を提案しました。これは、同意できるところから共通コードを実装しようという話になっているようです。このアプローチは、Paravirtualizationに比べてオーバーヘッドが少ないことが利点です。まだまだメインラインにマージできるような成果物は出ていないようですが、活発な開発が続くとよいですね。
ext2にext3の機能をバックポート
Linuxで標準的に利用されているファイルシステムは、おそらくext3でしょう。ext3ファイルシステムは、その以前に事実上の標準として採用されていたext2にジャーナル機能などを追加したものです。ジャーナリングファイルシステムであるため、クラッシュした後の起動時にfsckが高速に終了しますが、その代償としてジャーナルを記録するためのオーバーヘッドがあります。このオーバーヘッドを嫌って、ext2を使うという選択も十分あり得ることです。
Valerie Hensonは、ext2ファイルシステムがマウントされている状態でシステムがクラッシュしても、その瞬間にファイルシステムが変更中でなかった場合はfsckを省略できるパッチを提案しました。そのパッチに呼応して、ext3にあってext2には実装されていない機能についての話題が展開しました。
ext2を利用している人はまだまだいるようなので、今後もメンテナンスが続くとよいですね。
-stableリリース
最後に、3月の-stableリリースを見てみましょう。2.6.15.5は2月10日以来のリリースで、パッチが累積していたようです。
- 2.6.15.5(3月1日)
・NFSのDoSの修正(CVE-2006-0555)
・XFSのftruncateによるデータ漏えい(CVE-2006-0554)
・em64tでのローカルDoS脆弱性(CVE-2006-0741)
・ext2ファイルシステムがsyncオプションでマウントされている場合のデッドロックの修正
など、38パッチ - 2.6.15.6(3月5日)
・コンパイルエラーの修正
・setsockopt(TCP_DEFER_ACCEPT)の修正
・die_if_kernelが終了しない場合があることの修正(CVE-2006-0742)
など、4パッチ - 2.6.15.7(3月28日)
・SO_BINDTODEVICEに渡されるデバイス名がNULLで終了しいることを確認する修正
・cramfsが正常にマウントできなかった問題の修正
など、8パッチ - 2.6.16.1(3月28日)
・ccissのバグの修正
・straceがビルドできるようにrtc.hを修正
・SO_BINDTODEVICEに渡されるデバイス名がNULLで終了しいることを確認する修正
・RSTを送信する際にtcp_socketのinet->idを利用しないようにする(CVE-2006-1242)
・sata_mvの修正
など、21パッチ
また、カーネル2.6.15.5から、gitのツリーがgregkhおよびchriswディレクトリからstableディレクトリに移動しました。これまではリリースした人がGreg K-HかChris Wrightかによって最新版を取得できるgitリポジトリのパスが変わっていたのですが、今後はstableディレクトリに共通化されるでしょう。
git経由で-stableリリースを利用するためのコマンドラインは、
# cg-clone http://www.kernel.org/pub/scm/linux/kernel/git/stable/linux-2.6.16.y.git |
です。これでlinux-2.6.16.yというディレクトリができるので、そのディレクトリで、
# cg-update |
コマンドを実行すれば最新の-stableリリースのソースにアップデートできます。一度お試しを。
関連リンク: | |
安定版カーネル http://www.kernel.org/pub/linux/kernel/v2.6/ |
|
-stableツリーのgitリポジトリ(Web表示) http://www.kernel.org/git/?p=linux/kernel/git/stable/linux-2.6.16.y.git |
2/2
|
|
|
||||
|
連載 Linux Kernel Watch |
Linux Squareフォーラム Linuxカーネル関連記事 |
連載:Linux Kernel Watch(連載中) Linuxカーネル開発の現場ではさまざまな提案や議論が交わされています。その中からいくつかのトピックをピックアップしてお伝えします |
|
連載:Linuxファイルシステム技術解説 ファイルシステムにはそれぞれ特性がある。本連載では、基礎技術から各ファイルシステムの特徴、パフォーマンスを検証する |
|
特集:全貌を現したLinuxカーネル2.6[第1章] エンタープライズ向けに刷新されたカーネル・コア ついに全貌が明らかになったカーネル2.6。6月に正式リリースされる予定の次期安定版カーネルの改良点や新機能を詳しく解説する |
|
特集:/procによるLinuxチューニング[前編] /procで理解するOSの状態 Linuxの状態確認や挙動の変更で重要なのが/procファイルシステムである。/procの概念や/procを利用したOSの状態確認方法を解説する |
|
特集:仮想OS「User
Mode Linux」活用法 Linux上で仮想的なLinuxを動かすUMLの仕組みからインストール/管理方法やIPv6などに対応させるカーネル構築までを徹底解説 |
|
Linuxのカーネルメンテナは柔軟なシステム カーネルメンテナが語るコミュニティとIA-64 Linux IA-64 LinuxのカーネルメンテナであるBjorn Helgaas氏。同氏にLinuxカーネルの開発体制などについて伺った |
|
|
- 【 pidof 】コマンド――コマンド名からプロセスIDを探す (2017/7/27)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、コマンド名からプロセスIDを探す「pidof」コマンドです。 - Linuxの「ジョブコントロール」をマスターしよう (2017/7/21)
今回は、コマンドライン環境でのジョブコントロールを試してみましょう。X環境を持たないサーバ管理やリモート接続時に役立つ操作です - 【 pidstat 】コマンド――プロセスのリソース使用量を表示する (2017/7/21)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、プロセスごとのCPUの使用率やI/Oデバイスの使用状況を表示する「pidstat」コマンドです。 - 【 iostat 】コマンド――I/Oデバイスの使用状況を表示する (2017/7/20)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、I/Oデバイスの使用状況を表示する「iostat」コマンドです。
|
|