第1章 仮想化の概説

1.1. 仮想化とは

仮想化 とは、単一システム上で他のプログラムと切り離して、ソフトウェア (通常、複数のオペレーティングシステム) を同時に実行することを指す広範囲なコンピューター用語です。仮想化は、ハイパーバイザー を使用することで実現されます。ハイパーバイザーとは、単一の (通常は物理) マシン上でハードウェアを制御して、仮想マシン (VM) または ゲスト と呼ばれる複数のオペレーティングシステムを実行可能にするソフトウェア層またはサブシステムのことです。オペレーティングシステムのあるマシンは ホスト と呼ばれます。詳細は Red Hat カスタマーポータル を参照してください。
仮想化にはいくつかの方法があります。
完全仮想化
完全仮想化では、ゲストオペレーティングシステムに手を加えずにそのまま使用します。ゲストは、ハイパーバイザーが作成したチャネル経由でホストの CPU のアドレスを指定します。完全仮想化では、ゲストが CPU と直接通信するので、仮想化の手法で最速となっています。
準仮想化
準仮想化では、ゲストオペレーティングシステムを変更して使用します。ゲストは、ハイパーバイザーと通信します。ハイパーバイザーは、変更されていないゲストからの呼び出しを、物理および仮想の CPU や他のインターフェースに渡します。呼び出しがハイパーバイザー経由でルーティングされるので、この手法は完全仮想化よりも遅くなります。
ソフトウェアの仮想化 (またはエミュレーション)
ソフトウェアの仮想化は、バイナリー変換と他のエミュレーション技術を使用して変更されていないオペレーティングシステムを実行します。ハイパーバイザーは、ゲストの呼び出しをホストシステムで使用できる形式に変換します。呼び出しがすべて変換されるので、この手法は仮想化より遅くなります。Red Hat では、Red Hat Enterprise Linux 上のソフトウェアの仮想化はサポートしていません。
コンテナー化
KVM の仮想化は OS カーネルの個別インスタンスを作成しますが、コンテナー化と呼ばれるオペレーティングシステムレベルの仮想化は、既存の OS カーネルの上で動作し、コンテナー と呼ばれるホスト OS の分離されたインスタンスを作成します。コンテナーに関する詳細は、 Red Hat カスタマーポータル を参照してください。
コンテナーには KVM 仮想化の多機能性はありませんが、より軽量で処理の柔軟性に優れています。比較の詳細は、「Introduction to Linux Containers」を参照してください。
Red Hat Enterprise Linuxでコンテナーを使用するには、Extras チャンネルから docker パッケージをインストールします。Red Hat は、Red Hat Enterprise Linux Atomic HostRed Hat OpenShift Container Platform など、コンテナーを使用するために最適化されたソリューションを提供します。コンテナーサポートの詳細は、Red Hat ナレッジベースを参照してください。

このページには機械翻訳が使用されている場合があります (詳細はこちら)。