仮想化とは?
仮想化とは、1つの物理マシン(物理的なコンピュータ)へ仮想的に複数のコンピュータを実装する技術です。
仮想的に実装されたコンピュータを仮想マシン(VM:Virtual Machine)と呼び、ゲストともいいます。逆に、仮想化を実装した物理マシンをホストと呼びます。
・物理マシン=ホスト
・仮想マシン(VM)=ゲスト
仮想化の実装方式(ホスト型/ハイパバイザ型/コンテナ型)とは?
仮想化の実装方式として、『ホスト型』『ハイパバイザ型』『コンテナ型』があります。
・ホスト型:物理マシンのホストOSの上に仮想化ソフトウェアをインストール
・ハイパバイザ型:物理マシンへハイパバイザをインストール
・コンテナ型:物理マシンのホストOSの上にコンテナエンジンをインストール
ホスト型、ハイパバイザ型、コンテナ型について詳しくみていきましょう。
ホスト型
ホスト型は、物理マシンのホストOSの上に、仮想化ソフトウェア(ホスト型の仮想化ソフトウェア)をインストールし、仮想化を実装する方式です。
ホスト型の特徴を「ソフトウェア」、「OS」、「ホストとゲストの共存」、「動作速度」についてまとめると下表になります。
ホスト型 | |
---|---|
ソフトウェア | ホスト型の仮想化ソフトウェア |
OS | ホストOS ゲストOS |
ホストとゲストの共存 | 可能 |
動作速度 | 遅い |
ホスト型では、ホストOSがあるため、ホストとゲスト(仮想マシン)が共存できます、したがって、現在利用中のコンピュータであっても仮想化ソフトウェアをインストールし、仮想化が実装が可能です。
仮想マシンでハードウェアを制御する際は、ホストOSを経由する必要があるため動作速度が遅くなってしまいます。
具体的なホスト型の仮想化ソフトウェアには、「VMware Workstation Player」、「VMware Fusion」「Oracle VM VirtualBox」等があります。
ハイパバイザ型
ハイパバイザ型とは、ハイパバイザと呼ばれる仮想化のためのOS・ソフトウエア(ハイパバイザ型の仮想化ソフトウェア)を物理マシンへインストールし、仮想化を実装する方式です。
ハイパバイザ型の特徴も「ソフトウェア」、「OS」、「ホストとゲストの共存」、「動作速度」についてまとめると下表になります。
ハイパバイザ型 | |
---|---|
ソフトウェア | ハイパバイザ (ハイパバイザ型の仮想化ソフトウェア) |
OS | ゲストOS |
ホストとゲストの共存 | 不可能 |
動作速度 | 中程度 |
ホストOSがないので、ホストとゲスト(仮想マシン)を共存させることはできません。したがって、仮想化を用途とした物理マシンを用意し、ハイパバイザをインストール必要があります。
動作速度は、ホストOSを介さず、ハードウェアを直接制御できるため、ホスト型の仮想化に比べ速いです。
ハイパバイザ型の仮想化ソフトウェアには、「Vmware ESXi」、「Linux KVM」、「Microsoft Hyper-V」、「Citrix Xen Server」、「RedHat Enterprise Virtualization(RHEV)」等があります。
コンテナ型
コンテナ型では、物理マシンのホストOS上に、コンテナエンジンという仮想化ソフトウェアをインストールします。
さらに、このコンテナエンジンの上に、コンテナと呼ばれるアプリケーションの実行環境を構築します。このコンテナが、ホスト型とハイパバイザ型の仮想マシンに相当します。
コンテナ型の特徴も「ソフトウェア」、「OS」、「ホストとゲストの共存」、「動作速度」についてまとめると下表になります。
コンテナ型 | |
---|---|
ソフトウェア | コンテナエンジン |
OS | ホストOS |
ホストとゲストの共存 | 可能 |
動作 | 速い |
ホスト型とハイパバイザ型の両方ともゲストOSが実装されていますが、コンテナ型では、ホストOSを共有する点が大きな違いです。したがい、ホストとゲスト(コンテナ)は共存が可能です。
また、必要最小限のメモリやCPUのみを消費するので、負荷が小さく高速な動作が可能です。
コンテナエンジンの代表的なものとして、「docker」、「kubernetes」があります。
【まとめ】仮想化(ホスト型/ハイパバイザ型/コンテナ型)
それでは最後におさらいをしておきましょう!
用語 | 説明 |
---|---|
仮想化 | 1つの物理マシンへ仮想的に複数のコンピュータを実装する技術 ・物理マシン=ホスト ・仮想マシン=ゲスト 仮想化の実装方式として、ホスト型、ハイパバイザ型、コンテナ型がある |
ホスト型 | 物理マシンのホストOSの上にホスト型の仮想化ソフトウェアをインストールする実装方式 |
ハイパバイザ型 | 物理マシンへハイパバイザ(ハイパバイザ型の仮想化ソフトウェア)をインストールする実装方式 |
コンテナ型 | 物理マシンのホストOSの上にコンテナエンジンをインストールする実装方式 |
コメント