Xen (仮想化ソフトウェア)
Xen (仮想化ソフトウェア)の最新ニュースをまとめて検索!
| Xen | |
|---|---|
![]() |
|
| Xenで NetBSD と3つの Linux ディストリビューションを実行中 | |
| 開発元 | The Xen Project, XenSource, Inc. |
| 最新版 | 3.4.0 (2009年5月18日) |
| 対応OS | Linux, その他Unix系, *BSD, OpenSolaris, Microsoft Windows |
| 種別 | 仮想化ソフトウェア |
| ライセンス | GPL |
| 公式サイト | http://www.xen.org |
目次 |
[編集] 概要
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の特徴
[編集] 仮想化モデル
[編集] 準仮想化(ParaVirtualization)
Xenは準仮想化と呼ばれる実装手法を標準採用している。 実在のハードウェアを完全にエミュレートする代わりに、仮想マシン環境を実現するのに都合の良い仮想的なハードウェアを再定義する。 この仮想ハードウェアは、実在のハードウェアに似ているが、操作をするためにはハイパーバイザコールを呼び出す必要がある。 Xenはこのハイパーバイザコールの要求に応じて、仮想マシン環境に変更を加える。
この実装手法はエミュレーションのオーバーヘッドを最小限に抑えることができるため、性能面で大きなアドバンテージがあるが、 OSをXen仮想ハードウェア上に移植する必要がある。
[編集] 完全仮想化(FullVirtualization)
Xenはハードウェアの完全仮想化機能も提供している。この機能を利用すると、実ハードウェア用に用意されたOSをそのままXen上で動作させることが可能となる。
この完全仮想化機能が提供する仮想マシン環境内のOSは、自分は特権モードで動作しており完全に物理ハードウェアを支配しているように振る舞う。実際には、仮想マシン側のOSが仮想ハードウェアを制御する命令を実行したとき、ハードウェアがそれを検出し、例外のような ものが発生してXenに制御を渡す。制御を渡されたXenは、OSが行おうとした処理を分析し、仮想ハードウェアの動作をエミュレートする。 完全仮想化の環境は、準仮想化方式に比べると、エミュレーションのためのコストが大きくなるが、ソフトウェアをユーザの手で変更することが難しいWindowsなどのOSも動作させることができる。
エミュレーションのオーバヘッドを最小限に抑えるために、デバイスドライバのみ準仮想化されたものを用いることも可能である。
[編集] デバイスドライバのモデル
Xen自体はデバイスドライバを持たず、ドメイン0上のOSが物理デバイスの制御を行う。 この仕組みにより、そのOSが動作するハードウェアであればどこでもXenによる仮想マシン環境を利用できる。
[編集] 動作するOS
2009年6月現在、Linux、Minix、Plan 9 from Bell Labs、NetBSD、OpenBSD、FreeBSD、OpenSolaris、NetWare、GNU/Hurd/Mach、OZONEがXenの上で動作する。
[編集] 動作環境
多くのLinuxディストリビューションが標準でXenを含んでいる。Fedora Core 4以降、Xenoppix、SUSE Linux 10.0、Debian Etch、RHEL5、Ubuntu、NetBSDなどでサポートされている。またSolaris/OpenSolarisにも移植されている[2]。
Xen3.0.2はP6(Pentium Pro)以上のCPUで動作する。完全仮想化機能を用いるためにはインテル製のIntel VT対応CPU、もしくはAMDのAMD-V対応CPUが必要となる。他に、サポートしているプラットフォームとしては、IA64やPowerPC上でも稼動する。
さらに、マイクロソフトのHyper-V上ではXen対応OSが動作する[3]。Hyper-Vは、Windows Server 2008とともに動作するハイパーバイザ形式の仮想化システムである。
[編集] 脚注
- ^ Citrix Completes Acquisition of XenSource
- ^ Xen at OpenSolaris.org
- ^ マイクロソフトと XenSource が、Windows Server “Longhorn” Virtualization に向けた相互運用テクノロジを共同開発
[編集] 関連項目
[編集] 参考文献
- 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: 164 - 177. New York, NY, USA: ACM Press. DOI: 10.1145/945445.945462.
[編集] 外部リンク
- Xenの開発元となったケンブリッジ大学のプロジェクト。
- 現在の開発拠点。Xen のパッケージやソースコード、構築済み仮想マシンを提供している。
- Xenをベースとしたハイパーバイザー
- WindowsPVドライバー
- メーリングリスト
- 日本語のXen
最終更新 2009年11月26日 (木) 05:54 (日時は個人設定で未設定ならばUTC)。
【Xen (仮想化ソフトウェア)】変更履歴


