マジセミドライブ

ウェビナー関連のニュースやITサービス&ツールの最新情報を随時配信します。

OSS情報

2020.01.01

【OSS情報アーカイブ】Xen Project Hypervisor

【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

→github.com →xen-project

■主要開発元

Xen Project Hypervisorは、Xenプロジェクトが中心となり開発が進められています。

→xenproject.org →about-us

■ライセンス情報

Xen Project Hypervisorのライセンスは「GNU General Public License v2」です。

詳細について、こちらを参照ください。
→xenproject.org →developers →teams →xen-hypervisor [→LICENSE]

■ダウンロード

→xenproject.org →downloads

同様製品

同様な機能を提供する製品として、次のようなものがあります。

オープンソース製品:「XCP-ng」など。

XenProject

「Xen Project Hypervisor」は、LinuxFoundationプロジェクトの1つである「XenProject」の主要プロダクトです。

「XenProject」はさまざまな商用およびオープンソースアプリケーションでの仮想化の推進に重点を置くプロジェクトです。

→xenproject.org

マイクロカーネル設計

「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

この記事のタグ一覧

おすすめの記事

【IT用語解説】「 デジタルヒューマン 」とは😊

IT用語解説

2024.01.26

【IT用語解説】「 デジタルヒューマン 」とは😊

【IT用語解説】「 デジタルヒューマン 」として、「デジタルヒューマンとは何か?」「どのようにして作成できるのか?」「私たちの世界にどのような影響を与えているのか?」などについて、まとめています。

【トレンド解説】超入門「 スマートファクトリー 」🏭

トレンド解説

2024.04.15

【トレンド解説】超入門「 スマートファクトリー 」🏭

「 スマートファクトリー 」への理解を深めるための解説として、初心者向けにわかりやすくまとめた記事です。「新しい工場の概念」「デジタルツインの活用」「IoT技術による最適化」など、現代の製造業に必要な知識を効果的に学べます。 スマートファクトリー の導入によるメリットを具体的に解説しています。