Xen (仮想化ソフトウェア)

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では、完全仮想化と準仮想化という二つの方式を利用できます。


ホストプロセッサがIntel VT-xやAMD-Vのような仮想化支援機能を搭載している場合、未修正のOS(例えば、オープンソースのOSやMicrosoft Windows)を、完全仮想化された状態で動作させることができます。この方式では、OSは物理ハードウェアを直接制御しているかのように振る舞いますが、実際にはハイパーバイザが仮想ハードウェアをエミュレートしています。


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をそのまま動作させることができるが、準仮想化よりもオーバーヘッドが大きい。
  • - デバイスドライバのモデル:Xen自体はドライバを持たず、dom0のOSがデバイス制御を行う。
  • - 動作するOSLinux、MINIX、Plan 9 from Bell Labs、NetBSD、OpenBSD、FreeBSD、Open[[Solaris]]、NetWare、GNU/Hurd/Mach、OZONEなど。
  • - 動作環境:多くのLinuxディストリビューションに標準で含まれる。Intel VTやAMD-V対応CPUが必要。

Hyper-Vとの関係



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仮想化

外部リンク



もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。