1.3. 仮想マシンコンポーネントおよびその相互作用
RHEL 10 の仮想化は、次の主要なソフトウェアコンポーネントで構成されています。
ハイパーバイザー
RHEL 10 で仮想マシンを作成する基礎となる部分は、ハードウェアを制御し、ホストマシンで複数のオペレーティングシステムを実行できるようにするソフトウェア層で、ハイパーバイザー と呼ばれます。
ハイパーバイザーには、KVM (Kernel-based Virtual Machine) モジュールと仮想化カーネルドライバーが含まれます。このコンポーネントでは、ホストマシンの Linux カーネルにより、ユーザー空間のソフトウェアに仮想化のリソースが提供されます。
ユーザー空間レベルでは、QEMU エミュレーターが、ゲストオペレーティングシステムを実行できる完全に仮想化されたハードウェアプラットフォームをシミュレートし、リソースがホストでどのように割り当てられ、ゲストに示されるかを管理します。
さらに、libvirt ソフトウェアスイートが管理層および通信層として機能し、QEMU とのやり取りを容易にし、セキュリティールールを適用し、仮想マシンを設定して実行するための追加ツールをいくつか提供します。
XML 設定
ホストベースの XML 設定ファイル (ドメイン XML ファイルとも呼ばれます) では、個別の仮想マシンの設定およびデバイスをすべて決定します。設定には以下が含まれます。
- メタデータ (仮想マシンの名前、タイムゾーン、その他の仮想マシンの情報など)
- 仮想マシンのデバイスの説明 (仮想 CPU (vCPU)、ストレージデバイス、入出力デバイス、ネットワークインターフェイスカード、その他の物理ハードウェアおよび仮想ハードウェアなど)
- 仮想マシンの設定 (使用可能な最大メモリー量、再起動設定、仮想マシンの動作に関するその他の設定など)XML 設定の内容の詳細は、仮想マシンの XML 設定例 を参照してください。
コンポーネントのインタラクション
仮想マシンが起動すると、ハイパーバイザーは XML 設定を使用して、ホストのユーザー空間プロセスとして仮想マシンのインスタンスを作成します。また、ハイパーバイザーは、ホストベースのインターフェイス (virsh、virt-install、guestfish ユーティリティーや Web コンソール GUI など) から仮想マシンのプロセスにアクセスできるようにします。
これらの仮想化ツールが使用される際に、libvirt が入力を QEMU の命令に変換します。QEMU が命令を KVM に伝え、カーネルが命令を実行するのに必要なリソースを適切に割り当てるようになります。これにより、QEMU が、仮想マシンの作成や修正、仮想マシンのオペレーティングシステムでのアクションの実行など、対応するユーザー空間を変更します。
QEMU はアーキテクチャーの重要なコンポーネントですが、セキュリティー上の懸念から、RHEL 10 システムで直接使用することは想定されていません。そのため、qemu-* コマンドは Red Hat のサポート対象外です。libvirt を使用して QEMU を操作することを強く推奨します。
ホストベースのインターフェイスの詳細は、仮想化管理用のツールとインターフェイス を参照してください。
図1.1 RHEL 10 の仮想化アーキテクチャー