12月版 ついに仮想化がカーネル標準機能に!?
上川純一
日本ヒューレット・パッカード株式会社
コンサルティング・インテグレーション統括本部
2006/12/27
linux-kernelメーリングリスト(以下LKML)かいわいで起きるイベントを毎月お伝えする、Linux Kernel Watch。2006年11月はどのようなことが起きたのか、見てみましょう。
カーネル2.6.19ではファイルシステムが複数追加に
11月30日、Linus Torvaldsはカーネル2.6.19をリリースしました。今回のリリースで目を引くのは、クラスタファイルシステムのGFS2(Global Filesystem 2)やext4dev(注)などのファイルシステムが複数追加された点です。新しく追加されたファイルシステムを利用する場合は、テスト環境で試すことをお勧めします。
注:11月版 「ext4」が見えてきた! ついに利用方法公開を参照。 |
また、VFS(Virtual File System:仮想ファイルシステム)レイヤで暗号化を実装した「eCryptfs」というファイルシステムが新たに追加されました。このeCryptfsは、bind mount(注)に似た使用感で暗号化ファイルシステムを利用できるそうです。
注:7月版 新ファイルシステム「ext4」開発開始かを参照。 |
正式リリースまでの間、Linusは2.6.19-rc3、-rc4、-rc5、-rc6を続けてリリースしました。それを受けAdrian Bunkは、毎日のようにRegression一覧のメールを出して修正を促しました。Linusは、2.6.19-rc4をリリースする際のメールに「Regressionメールを出してくれたAdrian Bunkに感謝の気持ちを伝えたい」というコメントを文頭に添えました。品質向上のためにも、このようなやりとりを今後も継続してほしいですね。
参考:カーネルソース内部のドキュメント | |
eCryptfs Documentation/ecryptfs.txt |
|
GFS2 Documentation/filesystems/gfs2.txt |
|
ext4dev Documentation/filesystems/ext4.txt |
csum_partialの正しい使い方を考える
Randy Dunlapは「CONFIG_NET=n and REISERFS_FS=m」の際に発生するコンパイルエラーを報告しました。原因は、ReiserFSが利用しているcsum_partial()という関数にあります。この関数はarch/x86_64/lib/lib.aに入っていますが、それがカーネルイメージにリンクされていないためにエラーが発生するようです。
Andi Kleenは「現在、Al Viroが修正を行っている」と回答しました。Al Viroは「ReiserFSでcsum_partial()を利用するのが間違っている。別の関数を定義してそれを利用するべきだ」と主張しました。そもそもcsum_partial()とは、データに対してチェックサムを計算するために利用される関数で、csum_fold()とあわせて利用されます。csum_partial()はデータのチェックサム計算を実施し、csum_fold()はその結果の値をアーキテクチャ非依存の形に変換します。ちなみにcsum_partial()は、高速性を重視してアーキテクチャごとに実装されています(そのためアーキテクチャごとに違う値を返す)。ReiserFSでは、csum_partial()の結果を直接ディスクに書き込んでいます。そのため、アーキテクチャが変わるとデータが同じであったとしても、それに対して生成されるチェックサムの値は異なってしまうのです。
これに関連した話題で、Neil Brownは「MD RAIDでもメタデータバージョン0.90の一部にcsum_partial()を利用しているため、同様の課題を抱えている」と説明し、「少なくともエンディアンが異なるアーキテクチャ間においては互換性がない」と付け加えました。
複数のアーキテクチャ間でReiserFSファイルシステムやMD RAIDデバイスを流用する場合は少ないかもしれませんが、その際は注意が必要です。
1/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」コマンドです。
|
|