Xen
Xen running NetBSD and three Linux distributions
開発元The Xen Project, XenSource, Inc.
最新版3.2.1 / 2008年4月25日
対応OSLinux, その他Unix系, *BSD, OpenSolaris, Microsoft Windows
種別仮想化ソフトウェア
ライセンスGPL
公式サイト ⇒http://www.xen.org
表・話・編・歴
Xen(ゼン)は仮想マシンソフトウェアである。
目次
1 概要
2 利点
3 Xenの特徴
3.1 仮想化モデル
3.1.1 準仮想化(ParaVirtualization)
3.1.2 完全仮想化(FullVirtualization)
3.2 デバイスドライバのモデル
4 動作環境
5 脚注
6 関連項目
7 参考文献
8 外部リンク
//
Xen は、 一つのハードウェアで複数のオペレーティングシステム (OS) を並列実行・制御するソフトウェアである。ケンブリッジ大学の研究プロジェクトとして始まり、そのプロジェクトメンバーによって創立されたXenSource, Inc.が中心となって開発された。XenはGNU General Public Licenseの元で公開されている。2007年8月15日、Citrix SystemsがXenSourceの買収を発表し、同年10月25日に買収が完了[1]した。現在、XenSourceは同社の仮想化事業部門として統合され、製品版の開発・販売を担っている。
Xenでは、仮想マシンの実行単位をドメインと呼ぶ。 また、実ハードウェアへのアクセスやその他のドメインを管理する特権的なドメインをドメイン0と呼び、ドメイン0以外のドメインをドメインUと呼ぶ。
Xenは、他の仮想マシンに共通する以下の利点を提供する。
可用性の向上
動作中の仮想マシンをほぼ瞬時に別ハードウェアに移動することができるため、ハードウェアのメンテナンスやアップグレードがサービスを停止せずに行える。
柔軟性の向上
仮想マシン間でCPUやメモリなどの資源配分を指定することで、ニーズに応じて適切な資源を無駄なく割り当て活用できる。
運用コストの低下
サーバ群において、他のサーバに環境を構築するのが容易である。
セキュリティの向上
仮想マシン環境は互いに隔離されており、ある仮想マシンで動作する有害なソフトウェアがほかの環境や仮想マシンモニタに悪影響を与えることはできない。
また、Xenは準仮想化手法も採用しており、完全仮想化のそれにくらべより小さいオーバーヘッドを実現している。
Xenは準仮想化と呼ばれる実装手法を標準採用している。 実在のハードウェアを完全にエミュレートする代わりに、仮想マシン環境を実現するのに都合の良い仮想的なハードウェアを再定義する。 この仮想ハードウェアは、実在のハードウェアに似ているが、操作をするためにはハイパーバイザコールを呼び出す必要がある。 Xenはこのハイパーバイザコールの要求に応じて、仮想マシン環境に変更を加える。
この実装手法はエミュレーションのオーバーヘッドを最小限に抑えることができるため、性能面で大きなアドバンテージがあるが、 OSをXen仮想ハードウェア上に移植する必要がある。
Xenはハードウェアの完全仮想化機能も提供している。この機能を利用すると、実ハードウェア用に用意されたOSをそのままXen上で動作させることが可能となる。
この完全仮想化機能が提供する仮想マシン環境内のOSは、自分は特権モードで動作しており完全に物理ハードウェアを支配しているように振る舞う。実際には、仮想マシン側のOSが仮想ハードウェアを制御する命令を実行したとき、ハードウェアがそれを検出し、例外のような ものが発生してXenに制御を渡す。制御を渡されたXenは、OSが行おうとした処理を分析し、仮想ハードウェアの動作をエミュレートする。 完全仮想化の環境は、準仮想化方式に比べると、エミュレーションのためのコストが大きくなるが、ソフトウェアをユーザの手で変更することが難しいWindowsなどのOSも動作させることができる。
エミュレーションのオーバヘッドを最小限に抑えるために、デバイスドライバのみ準仮想化されたものを用いることも可能である。
Xen自体はデバイスドライバを持たず、ドメイン0上のOSが物理デバイスの制御を行う。 この仕組みにより、そのOSが動作するハードウェアであればどこでもXenによる仮想マシン環境を利用できる。
現在、FreeBSD、Linux、NetBSD、Plan 9がXenの上で動作する。サン・マイクロシステムズは2007年中にXenをSolarisへ移植する計画を発表し、OpenSolarisでは不安定ながらも実装されている[2]。