付録A Xen システムアーキテクチャ

仮想化を持つ稼働可能な Red Hat Enterprise Linux システムはマルチレイヤーであり、 特別権限を有する Xen カーネルコンポーネントにより駆動されます。Xen は複数のゲスト オペレーティングシステムを維持することができます。各ゲストオペレーティングシステムは それ自身のドメイン内で稼働します。Xen は仮想マシン内の仮想 CPU 群をスケジュールして 利用可能な物理 CPU 群の最善の使用法を選択します。各ゲストオペレーティングシステムは それぞれ自身のアプリケーションを処理します。これらのゲストオペレーティングシステムは 各自のアプリケーションを適切にスケジュールできます。
Xen は 2つの選択肢の内の1つを導入できます:完全仮想化 かあるいは、 para-virtualization です。完全仮想化は、背後にある物理システムの 全面的な抽出を提供して、ゲストオペレーティングシステムが稼働できるための 新規の仮想システムを作り上げます。この場合、ゲスト OS や アプリケーションには 修正は不要です(ゲスト OS と アプリケーションは仮想化環境の認識がなく、普通に稼働)。 Para-virtualization は、仮想マシン上で稼働するゲストオペレーティングシステムにユーザーの 修正を必要とし(ゲストオペレーティングシステムは仮想マシン上で稼働していることを認識)、 ネイティブに近いパフォーマンスを提供します。Para-virtualization と 完全仮想化のいずれも ご使用の仮想化インフラストラクチャ全域に渡って導入することができます。
domain0 (dom0) と呼ばれる一番目のドメインは、システムがブートする時点で自動的に作成されます。Domain0 は特権ゲストであり、新規のドメイン作成や仮想デバイス管理などができる管理能力を所有します。Domain0 はネットワークカードやハードディスクコントローラなどの物理ハードウェアを処理します。Domain0 はまた、他の仮想マシンに対してゲストの保留、復元、あるいは移行などの管理タスクも処理します。
hypervisor (Red Hat の仮想マシンモニター) は完全仮想化環境内に於て単独ホスト上で複数のオペレーティングシステムを同時に実行するようにできる仮想化プラットフォームです。ゲストとは、ホスト、すなわち主体 OS の他に、仮想マシン上で実行するオペレーティングシステムのことです。
Xen があると、各ゲストの メモリーはホストの 物理メモリーの一部から流用されます。para-virtualized ゲストには、仮想マシンの 初期メモリーと最大サイズの両方をセットできます。ユーザーが指定する最大サイズを 超過しないでランタイムに仮想マシンへの物理メモリーを追加(又は削除)することが 可能です。このプロセスは「バルーン化」と呼ばれます。
各ゲストを多数の仮想 cpus (VCPU と呼ばれる)で設定することができます。物理 CPU 上の作業負荷に応じて、VCPU がスケジュールされます。
ユーザーはゲストに対して、任意の数の virtual disks (仮想ディスク) を認可することができます。ゲストはこれらの仮想ディスクをハードディスク、又は CD-ROM デバイス (完全仮想化ゲスト用) と見なします。各仮想ディスクはブロックデバイスから、あるいはホスト上の通常ファイルからゲストへのサービス提供をします。ホスト上のデバイスにはゲスト用の完全ディスクイメージが含まれており、通常はパーティションテーブル、複数パーティション、及び殆んどの場合、LVM 物理ボリュームを含んでいます。
仮想ネットワーキングインターフェイス はゲスト上で 稼働します。他のインターフェイスにも、仮想イーサネットインターネットカード (VNIC) のようにゲスト上で稼働できるものがあります。これらのインターフェイスは永続化した仮想 メディアアクセスコントロール (MAC) アドレスで設定されます。新規ゲストのデフォルト インストールは、1600万以上のアドレスの保存プールからランダムに選択された MAC アドレスを 持つ VNIC をインストールします。そのため、2つのゲストが同じ MAC アドレスを受け取ることは ほとんどあり得ません。多数のゲストを持つ複雑なサイトは手動で MAC アドレスを割り当てて ネットワーク上で特有であることを確実にできます。
各ゲストは、ホストに接続する仮想 テキストコンソール を持っています。ゲストログインとコンソール出力をテキストコンソールに転送することができます。
設定すればどのゲストでも、物理ホスト上の通常のビデオコンソールに相当する仮想 graphical console (グラフィカルコンソール) を使用できるようになります。これは 完全仮想化ゲストでも paravirtualization ゲストででも実行できます。この機能はブートメッセージ、グラフィカルブーティング、複数仮想ターミナルのような標準グラフィックアダプタの特長を活用し、X window システムを起動できます。ユーザーはまた、グラフィカルキーボードを使用して、仮想のキーボードとマウスを設定することもできます。
ゲストは、次の三つの identities (識別子) のいずれかで識別できます: ドメイン名 (domain-name)、識別子番号 (domain-id)、または UUID。domain-name はゲスト設定ファイルに適用するテキストの文字列です。このドメイン名はゲストの起動に使用され、ゲストの稼動時には同じ名前が、識別と制御のために使用されます。domain-id はゲストを識別し制御できるアクティブなドメインに割り当てられる 特有であっても永続性のない番号です。UUID はゲストの設定ファイルから制御される 永続性の特有の識別子であり、これがシステム管理ツールによって常時ゲストの 識別を確実にするものです。これは実行時にゲストから認識できます。新規の UUID は、 ゲストが最初にインストールされる時にシステムツールによって各ゲストに自動的に割り当てられます。