仮想化道場

コードの全面的なリフレッシュを行ったハイパーバイザー「Xen 4.5」

コードを全面的に見直しダイエットしたXen 4.5

 Xen 4.5は、さまざまな新しい機能が追加されているが、何よりも注目されるのは、コードを全面的に見直し、14万1000行ものコードを削除したことだ(新しく7万8000行を追加しているため、差し引き6万3000行のコードが減ったことになる)。

 Xen自体は、開発当初から12年たち、さまざまな部分に古いコードがそのまま残っていたり、Linuxカーネルのメインストリームに入れるために、さまざまな追加が行われたりしていた。例えば、Xen 4.2までは、32ビットのx86をサポートしていたり、Itanium向けのコードが開発されていたこともあって、不要なモジュールが澱(おり)のようにたまっていた。

 Xen 4.5では、このような不要なコードを洗い出し、きちんと整理することで、新しい機能の追加や、Xen自体のメンテナンスをやりやすくしている(バグへの対応もしやすくなる)。このようなことができたのは、Linux Foundationに移管されたことによりメリットといえるだろう。

 カーネルの脆弱性に対するゼロデイアタックやRootkit、マルウェア攻撃を自己監視するHVMゲストセキュリティ機能の向上、高精度イベントタイマー(High Precision Event Timer:HPET)のサポート、2ソケット以上のサーバーでのPCI/PCIeパススルーの低レイテンシ化、仮想PCUにおけるNUMAアーキテクチャのサポート、Systemdのサポートなどが追加されている。

Xenは、ほかのハイパーバイザーに比べると高いセキュリティ性を持つ
仮想マシンの監査を行う機能を追加
監査機能により、仮想マシンが違法に書き換えられていないをチェック
将来のクラウドでは、個々の仮想マシンを監査するようなセキュリティ機能がサポートされていくだろう

 toolstackでの改良としては、Pythonベースで書かれた管理ツールのxend/xmコマンドから、C言語で書かれたxl/libxlに変更された。これにより、Xen上でのインスタンスの管理が簡素化され、パフォーマンスが向上した(コードがシンプルになり、メンテナンスも行いやすくなった)。さらに、QEMMも2.0にバージョンアップされた。

管理インターフェイスとして利用されていたxend/xmを廃止して、xlベースになった

 これ以外に試験サポートとしてリアルタイムスケジューラ(RTDS)がサポートされた。この機能を利用すれば、Xen上で組み込み機器用のプログラムや自動車用のプログラムを動かすことができるようになる。

試験サポートとしてXenにリアルタイムスケジューラが搭載された
リアルタイムスケジューラの搭載により仮想マシン上でリアルタイム アプリケーションを動作させることが可能になる
試験サポートのため、チューニングや機能追加などを図る必要がある
リアルタイムスケジューラの搭載により、仮想マシン上でゲームをプレイしたり、組み込み機器や自動車などにXenを採用することも可能になる

(山本 雅史)