Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

第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 ナレッジベース を参照してください。