Xen(ゼン)とは
Xenは、一つの
ハードウェア上で複数の
オペレーティングシステム(OS)を並行して実行・管理するための仮想マシンモニタです。
ケンブリッジ大学のComputer Laboratoryで初期バージョンが開発され、2010年からはGPLv2
ライセンスの下、フリー
ソフトウェアとして開発・メンテナンスされています。IA-32、x64、IA-64、
ARMアーキテクチャに対応しています。
Xenの概要
Xenのシステムでは、仮想マシンの実行単位を「ドメイン」と呼びます。Xenハイパーバイザは、最も低い特権レベルで動作する中核
ソフトウェアであり、一つまたは複数のゲストOSをサポートし、物理
CPUのスケジューリングを行います。
最初のゲストOSは「ドメイン0 (dom0)」と呼ばれ、ハイパーバイザ起動時に自動的に実行されます。dom0は、特別な管理特権と全ての物理
ハードウェアへの直接アクセス権を持ちます。システム管理者は、dom0を通して他の全てのゲストOS(「ドメインU (domU)」)にログインし、管理できます。domUは、ユーザーが利用するドメインを意味します。
dom0には、一般的に
Linux、NetBSD、
Solarisの修正版が用いられます。
Linuxでは、以前は
カーネルの修正が必要でしたが、
Linux kernel 2.6.23以降では、Xenがメインラインに統合されたため、
カーネルの修正は不要となりました。
ドメインUでは、完全
仮想化と準
仮想化という二つの方式を利用できます。
- - 完全仮想化 (Full Virtualization)
ホストプロセッサがIntel VT-xやAMD-Vのような
仮想化支援機能を搭載している場合、未修正のOS(例えば、オープンソースのOSや
Microsoft Windows)を、完全
仮想化された状態で動作させることができます。この方式では、OSは物理
ハードウェアを直接制御しているかのように振る舞いますが、実際にはハイパーバイザが仮想
ハードウェアをエミュレートしています。
- - 準仮想化 (ParaVirtualization)
Xenの標準的な実装手法であり、実在の
ハードウェアを完全にエミュレートする代わりに、仮想マシン環境に都合の良い仮想的な
ハードウェアを再定義します。OSは、この仮想
ハードウェアを操作するためにハイパーバイザコールを呼び出す必要があります。この方式は、エミュレーションのオーバーヘッドを最小限に抑え、高いパフォーマンスを実現します。ただし、OSをXenの仮想
ハードウェア上に移植する必要があります。
Xen自体は
デバイスドライバを持たず、dom0上のOSが物理デバイスを制御します。この仕組みにより、
ハードウェアの種類に関わらずXenによる仮想環境が利用可能となります。
Xenの歴史
Xenのオリジナルは、
ケンブリッジ大学の研究プロジェクトであり、XenSource, Incの創設者であるイアン・プラットが率いていました。XenSourceは、フリー
ソフトウェアプロジェクトとエンタープライズ版の販売を通じて、2003年にXenを公開しました。
2007年8月15日、シトリックス・システムズがXenSourceを買収し、製品名を変更しました。
- - XenExpress
- - XenServer
- - XenEnterprise
その後、製品名はXenServer(フリー)、Essentials for XenServer Enterprise、Essentials for XenServer Platinumに変更されました。
2007年10月25日、シトリックス・システムズはXenSourceの買収を完了し、Xenプロジェクトを
http://www.xen.org/に移管しました。同時に、シトリックス、
IBM、
インテル、
ヒューレット・パッカード、ノベル、
レッドハット、
サン・マイクロシステムズ、オラクルをメンバーとするXen Project Advisory Board (Xen AB) を設立しました。
2010年には、製品名が以下のように改められました。
- - XenServer(無償版)
- - XenServer Advanced Edition
- - XenServer Enterprise Edition
- - XenServer Platinum Edition
Xenの利点
Xenは、他の仮想マシンと同様に以下の利点を提供します。
- - 可用性の向上: 動作中の仮想マシンをほぼ瞬時に別のハードウェアに移動できるため、メンテナンスやアップグレード時のサービス停止を回避できます。
- - 柔軟性の向上: CPUやメモリなどのリソースを仮想マシン間で柔軟に配分でき、リソースの無駄を省けます。
- - 運用コストの低下: サーバー群において、他のサーバーへの環境構築が容易になります。
- - セキュリティの向上: 仮想マシン環境は互いに隔離されているため、ある仮想マシン上の有害なソフトウェアが他の環境に影響を与えることはありません。また、Xenは準仮想化を採用することで、完全仮想化に比べてオーバーヘッドを低減できます。
Xenの特徴
- 準
仮想化:OSをXen仮想
ハードウェアに移植する必要があるが、パフォーマンスが高い。
- 完全
仮想化:OSをそのまま動作させることができるが、準
仮想化よりもオーバーヘッドが大きい。
XenSourceと
マイクロソフトはハイパーバイザ形式の
仮想化システムに関して共同開発を行っており、Xenと
Hyper-Vは同一の
仮想化コアを使用しています。主な違いは、dom0に搭載される管理用OSが、Xenでは
Linuxであるのに対し、
Hyper-VではWindows Server 2008である点です。このため、Xenと
Hyper-V上で動作するOSはほぼ共通であり、仮想ディスクの相互運用も可能です。
参考文献
Paul Barham; Boris Dragovic, Keir Fraser, Steven Hand, Tim Harris, Alex Ho, Rolf Neugebauer, Ian Pratt, Andrew Warfield. (2003). “Xen and the art of virtualization”. Proceedings of the nineteenth ACM symposium on Operating systems principles (New York, NY, USA: ACM Press): 164 - 177. doi:10.1145/945445.945462.
関連項目
- - 仮想機械
- - リングプロテクション
- - x86仮想化
外部リンク