Xenとは
Xenとは、最も古くから存在する、Linux上で仮想化を実現するためのソフトウェアである。ケンブリッジ大学のコンピュータ研究室で開発され、現在は、Xenコミュニティが開発・管理を行っている。Xenは、GPLv2ライセンスで、オープンソースソフトウェアとして公開されている。
Xenは、次の2つのコンポーネントから構成される。
- ハイパーバイザー(Domain 0)
Xenの中核となるコンポーネントで、ハードウェアへのアクセスを統合管理する。また、ゲストOSの切り替えや、ユーザのゲストOSへのアクセスなども管理する。Linux、NetBSD、Solarisの修正版などで動作する。 - ゲストOS(Domain U)
Xenの仮想上で動作する仮想コンピュータ上のOSをゲストOS(Domain U)と呼ぶ。
- 完全仮想化
Interl VT-x、AMD-VのようなCPUの仮想化支援機能を使って動作するモード。ハイパーバイザーがデバイスを完全にシミュレーションすることで、特別な機能の追加などをしなくてもWindowsが動作する。他の仮想化ソフトウェアでも一般的なモードである。 - 準仮想化
CPUの仮想化支援機能を使わずに動作できるモード。ゲストOSには、Xen用の特別なデバイスドライバをインストールする。専用のデバイスドライバを使うことで、仮想化によるオーバーヘッドを最小化し、高速に動作する。
Xenには、シトリックス・システムズ社がXenServerとして販売するバージョンがある。こうしたバージョンを使えば、商用のサポートも受けることができる。また、Windowsが採用している仮想化基盤であるHyper-Vは、Xenをベースに開発されている。シトリックス社、マイクロソフト社は、ハイパーバイザーを共同開発しているため、動作するゲストOSが同じであるなど共通点も多い。
なお、Xenは当初、Linuxの仮想化ソフトウェアとしては標準的で、RedHat Enterprise Linux 5などで採用されていた。しかし、同じ仮想化ソフトウェアであるKVMが、Linuxカーネル内に先に統合された。RedHat Enteprise Linux 6では、KVMが正式に採用され、Xenは採用されなかった。しかし、その後、Xenもカーネルのメジャーラインに統合されている。
日本国内では、商用LinuxではRedHat Enterprise Linuxが最も利用されていることから、XenよりもKVMを使う機会が増えている。ただし、KVMは、Xenでいう準仮想化を限定的にしかサポートしていない。そのため、Xenの方が適用分野が広く、用途によって使い分ける必要がある。クラウド基盤としても、Xenが採用されているケースは多い。
【カテゴリ】:仮想化  オープンソースソフトウェア  
【Webセミナー】Rocket.Chatだけじゃない!OSSビジネスチャットの最新情報
日程: | 12月19日(木)Webセミナー「BigBlueButton」を使用します。 |
内容: | Rocket.Chatの機能制限でお困りの方も必見!ライセンスフリーで利用できるOSSのビジネスチャットを紹介します。 |
ご興味のあるかたはぜひご参加ください。 |