マジセミドライブ
ウェビナー関連のニュースやITサービス&ツールの最新情報を随時配信します。
OSS情報
2020.01.01
【OSS情報アーカイブ】Xen Project Hypervisor


※当記事に記載されている情報は、古くなっている場合があります。オフィシャルサイトで最新情報をご確認ください。
コンテンツ
「Xen Project Hypervisor」とは
概要
Xen Project Hypervisor(ゼンプロジェクトハイパーバイザー)とは、オープンソースの仮想化ソフトウェアです。ホストサーバのハードウェアリソースを管理し、複数OS(Linux/Windowsなど)を同時並行で動作させます。「サーバ使用率向上」「サーバファーム統合」「複雑性軽減」「コスト削減」などのメリットがあります。
経緯
・論文「Xen and the ArtofVirtualization」にて「ハイパーバイザー」が発表される
・オープンソース化—グローバル開発コミュニティがハイパーバイザー発展へ貢献
・2004年:「Xen 1.0」正式リリース
・オープンソースソリューションとして多くの商用製品の基盤へ
・2013年、LinuxFoundationへ移管
・新しい商標「XenProject」が採用
ユースケース
「Xen Project Hypervisor」は、さまざまな商用およびオープンソースアプリケーションの基盤として利用されています。
・サーバ仮想化ソリューション
・IaaS(Infrastructure as a Service)
・デスクトップ仮想化ソリューション
・セキュリティアプリケーション
・ハードウェアアプライアンス—組み込みプロダクト、自動車 など
オフィシャルサイト情報
■オフィシャルサイト
→xenproject.org →developers →teams →xen-hypervisor
■GitHub
■主要開発元
Xen Project Hypervisorは、Xenプロジェクトが中心となり開発が進められています。
■ライセンス情報
Xen Project Hypervisorのライセンスは「GNU General Public License v2」です。
詳細について、こちらを参照ください。
→xenproject.org →developers →teams →xen-hypervisor [→LICENSE]
■ダウンロード
同様製品
同様な機能を提供する製品として、次のようなものがあります。
オープンソース製品:「XCP-ng」など。
XenProject
「Xen Project Hypervisor」は、LinuxFoundationプロジェクトの1つである「XenProject」の主要プロダクトです。
「XenProject」はさまざまな商用およびオープンソースアプリケーションでの仮想化の推進に重点を置くプロジェクトです。
マイクロカーネル設計
「Xen Project Hypervisor」は、マイクロカーネル設計を使用しており、メモリフットプリントが小さく(約1MB)、ゲストへのインターフェースが制限されているため、他のハイパーバイザーよりも堅牢かつ安全に利用できます。
多くのOSに対応
「Xen Project Hypervisor」は、メインコントロールスタック(別名:ドメイン0)としてLinuxを使用して実行されます。
ただし「NetBSD」や「OpenSolaris」など、他の多くのオペレーティングシステムを代わりに使用できます。
ドライバ分離
「Xen Project Hypervisor」には、「システムのメインデバイスドライバを仮想マシン内で実行できる機能」が搭載されています。
そのため、「ドライバクラッシュ」「ドライバ侵害」などによって障害が発生した場合には、ドライバを含む仮想マシンを再起動して、システムの他の部分に影響を与えることなくドライバを再起動できます。
準仮想化モデル
準仮想化モデルは、仮想マシン環境を実現するために適切な仮想ハードウェアを再定義します。
この実装手法はエミュレーションのオーバーヘッドを最小限に抑えることができるため、高速な動作が可能です。
オープンガバナンス開発
「Xen Project Hypervisor」は、「個人」「研究者」「企業従業員」などの世界的なコミュニティによって開発されており、「オープン性」「透明性」「能力主義」に基づいたXen ProjectGovernanceプロセスに従います。
XENProjectベースのプロダクト例
■Linuxディストリビューション
最新の「Xen Project Hypervisor」バイナリは、オープンソース(商用)のほとんどのLinux(Unix)ディストリビューションからパッケージとして入手できます。
■商用サーバ仮想化製品
・Citrix Hypervisor(旧:XenServer)
・Oracle VM for x86 など
■組み込みXenディストリビューション
・Crucible Hypervisor
・Virtuosity(旧:XZD)
・Xen Zynq など
■Xenベースのセキュリティプロダクト
・Bitdefender HVI
・Magrana Server
・OpenXT
・Qubes OS など
「Xen Project Hypervisor」のコンポーネント
Xen Project Hypervisor
「Xen Project Hypervisor」は、ブートローダー終了後に最初に実行されるプログラムとして動作し、ハードウェア上で直接実行されます。
非常にスリムなソフトウェアレイヤーとして、「CPU」「メモリ」「タイマー」などの割り込み管理を担当します。
仮想マシン(ゲスト)
■ハイパーバイザー上で複数のゲストVMが動作
ハイパーバイザーの上で多数の仮想マシンを実行できます。
仮想マシン実行中のインスタンスは「ゲスト(ドメイン)」と呼ばれます。
仮想化環境である「ゲスト」は、それぞれが独自のオペレーティングシステムとアプリケーションを実行します。
■非特権ドメイン
ゲストVMはハードウェアから完全に分離されているため、ゲストVMにはハードウェアまたはI/O機能にアクセスする権限がありません。
そのため、ゲストVMは「非特権ドメイン」とも呼ばれます。
制御ドメイン(ドメイン0)
■概要
「制御ドメイン(ドメイン0)」は、制御を担当する特殊な仮想マシンです。
・ハードウェアに直接アクセスするなどの特別な特権を持つ
・システムのI/O機能へのすべてのアクセスを処理
・他の仮想マシンと対話 など
システムを管理するための「制御スタック」「システムサービス」「デバイスドライバ」などが含まれています。
そのため、「Xen Project Hypervisor」は、「制御ドメイン(ドメイン0)」なしでは動作できません。
■システムサービス提供
各種システムサービスを提供します。
・設定管理「XenStore/XenBus(XS)」
・ユーザーインターフェース公開「Toolstack(TS)」
・QEMUに基づくデバイスエミュレーション「DE」 など
■デバイスドライバ管理
ハードウェアをサポートするための「ネイティブデバイスドライバ」や「仮想デバイスドライバ」を管理します。
■ツールスタック
ツールスタックは、ユーザーが仮想マシンの「作成」「破棄」「構成管理」をできるようにするためのインターフェースを提供します。
複数のツールスタックを使用できます。
・コマンドラインコンソール
・グラフィカルインターフェース
・クラウドオーケストレーションスタック用インターフェース—OpenStackやCloudStack など
■XenProject対応カーネル
ドメイン0には、XenProject対応のカーネルが必要です。
「Xen Project Hypervisor」のアーキテクチャ
ゲストタイプ
「Xen Project Hypervisor」は、次の3タイプのゲストをサポートします。
①準仮想化ゲスト(PVゲスト)
「準仮想化ゲスト」は、XenProjectによって最初に導入され、後に他の仮想化プラットフォームによって採用されたソフトウェア仮想化技術です。
ホストCPUからの仮想化拡張機能を必要としませんが、XenProject対応のゲストOSを必要とします。
準仮想化ゲストは、ネストされたハードウェア仮想化サポートを使用せずに、別のハイパーバイザー内で「Xen Project Hypervisor」をコンテナホストとして実行します。
②HVMゲスト
概要
「HVMゲスト」は、ホストCPUからの仮想化拡張機能を使用してゲストを仮想化します。
「IntelVT」または「AMD-Vハードウェア拡張機能」が必要です。
通常、HVMは「Linux」「Windows」「BSD」で最もパフォーマンスの高いオプションとなります。
PCハードウェアをエミュレート
XenProjectソフトウェアは、QEMUデバイスモデルを使用して、PCハードウェアをエミュレートします。
・BIOS
・IDEディスクコントローラー
・VGAグラフィックアダプター
・USBコントローラー
・ネットワークアダプター など
③PVHゲスト
「PVHゲスト」は、ホストCPUからの仮想化拡張機能を使用してゲストを仮想化する「軽量HVM」のようなゲストです。
PVHゲストは、HVMゲストとは異なり、デバイスをエミュレートするためにQEMUを必要としませんが、I/OにPVドライバを使用し、「仮想化タイマー」「仮想化割り込み」「起動用ネイティブOSインターフェース」を使用します。
PVHゲストには「PVH対応のゲストOS」が必要です。
I/O仮想化
「Xen Project Hypervisor」は、I/O仮想化のために次の手法をサポートしています。
■PV分割ドライバモデル
「PV分割ドライバモデル」では、以下のように物理デバイスと通信します。
[仮想フロントエンドデバイスドライバ]
↓ ↑
[仮想バックエンドデバイスドライバ]
↓ ↑
[(ネイティブ)デバイスドライバ]
これにより、複数VMが同じハードウェアリソースを使用しながら、ネイティブハードウェアサポートを再利用できます。
■デバイスエミュレーションベースI/O
「デバイスエミュレーションベースI/O」では、HVMゲストはソフトウェアでハードウェアデバイスをエミュレートします。
QEMUがデバイスエミュレーターとして使用されます。
パフォーマンスのオーバーヘッドが高いため、「システム起動時」「インストール」「低帯域幅デバイス」などで使用されます。
■パススルー
「パススルー」では、ゲストに物理デバイスの制御を与えることができます。
ただし、使用にはセキュリティへの影響があります。
ストレージ
「Xen Project Hypervisor」でのストレージの定義は比較的簡単ですが、大規模に使用する場合はある程度の計画が必要となります。
・ローカルストレージ
・Linux論理ボリュームマネージャー
・ファイルバックアップストレージ
・リモートストレージ
→wiki.xenproject.org →wiki →Storage_options
ネットワーキング
「xlツールスタック」の場合、『ホストOSで使用可能な機能を実装しない』という哲学に従います。
そのため、ホスト管理者は、ネットワークやシステムサービスのセットアップが必要となります。
→wiki.xenproject.org →wiki →Xen_Networking
参考サイト
→xenproject.org
→wiki.xenproject.org →wiki →Xen_Project_Software_Overview
この記事のタグ一覧
フリーワード検索
カテゴリー一覧
アクセスランキング
- 🏆ランク1位🏆
【無料で使える】「 OCR 」ツールまとめ - 🏆ランク2位🏆
【無料で使える】「 プロジェクト管理 」ツールまとめ - 🏆ランク3位🏆
【無料で使える】「 翻訳 」ツールまとめ - 🏆ランク4位🏆
【AIツール実験室】画像生成AIツール「 Emi 」(前編) - 🏆ランク5位🏆
【OSS情報アーカイブ】SonarQube - 🏆ランク6位🏆
【無料で使える】「 ドキュメント管理 」ツールまとめ - 🏆ランク7位🏆
【無料で使える】「 バックアップ 」ツールまとめ - 🏆ランク8位🏆
【ツール紹介】無料オープンソース「 ビデオ監視 ツール 」まとめ3選 - 🏆ランク9位🏆
【ChatGPT使ってみる実験室】 WordPress関数を作って記事リストを出力 - 🏆ランク10位🏆
【無料で使える】「 グループウェア 」まとめ