LoginSignup
25
19

More than 1 year has passed since last update.

各仮想化技術の違いをざっと理解していくぅ

Last updated at Posted at 2019-08-25

補足

学んだ知識のほとんどは,Qiitaではなくこちらにバーッとまとめております.

01. 仮想化

仮想化とは

一つの物理サーバー上で仮想的なハードウェアを稼働させる技術のこと.仮想環境の構築方法にはいくつか種類がある.

ホスト型仮想化

・ホスト型仮想化とは

物理サーバーのホスト上で,仮想サーバー(仮想マシン)を構築する.

・Provider例

VMware Workstation,Oracle VM VirtualBox,など

ホスト型仮想化

ハイパーバイザー型仮想化

・ハイパーバイザー型仮想化とは

物理サーバーのBIOSから起動したハイパーバイザー上で,仮想サーバー(仮想マシン)を構築する(※ホストは用いない).

・Provider例

VMware vSphere Hypervisor,Xen,KVM,など

ハイパーバイザー型仮想化

コンテナ型仮想化

・コンテナ型仮想化とは

物理サーバーのホスト上で,仮想サーバーではなく,仮想サーバーとしての機能を持つコンテナを構築する.カーネルのリソースを分割できるNamespace(PID namespace,Network namespace,UID namespace)とControl Groupsを用いて,単一のOS上に独立したコンテナを構築する.

→ DockerToolboxがちょい違う

・Provider例

Docker,LXC,OpenVZ,など

コンテナ型仮想化

01-02. 各仮想化のパフォーマンスの比較

起動速度の違い

ホスト型とハイパーバイザ型では,ハードウェア(CPU,メモリ,ハードディスク)とゲストOSを仮想化することが必要である.一方で,コンテナ型では,ハードウェアとゲストOSの仮想化は行わず,namespaceを用いてコンテナを構成するため,その分起動が速い.

サーバー仮想化

処理速度の違い

・Overheadの小ささ

ゲストOS上のアプリを操作する場合,ホスト型とハイパーバイザ型では,ハードウェアやハイパーバイザーを経由する必要がある.この分だけ,時間(Overhead)を要する.一方で,コンテナ型では,各コンテナがホストとカーネルを共有するため,Overheadが小さい.

仮想化

・Overheadの比較

sysbenchというベンチマークツールを用いて,CPU・メモリ・ファイルI/Oに着目し,物理サーバー・コンテナ型仮想化(Docker)・ホスト型仮想化(VirtualBox)のパフォーマンスを比較すると,コンテナ型であるDockerは最もOverheadが小さい.

各仮想化の比較

25
19
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
25
19