【サーバー仮想化について】



                           このHPはサーバー仮想化についてまとめたものです。



1-1 サーバー仮想化

サーバー仮想化とは、1台のコンピュータを構成するCPU、メモリ、ディスク、ネットワーク等の資源(リソース)を仮想化レイヤーを通じて抽象化し、1台の物理サーバー上で複数のOSを稼働させることを可能にする技術の事。



















1台の物理サーバー上に
複数のOS も含めたシステム環境を仮想的に作るので、処理能力がある程度低下する。この処理能力の低下をどこまで抑えられるかが、サーバーの仮想化の優劣を見る上での指標になる。











1-2 仮想化の種類について

仮想化の種類は下記の3種類ある。


◆ホストOS型
◆ハイパーバイザー型
◆コンテナ型




■ホストOS型

ホストOS型仮想化は、物理サーバーにOSがインストールされていて、その上で仮想サーバーを動かす技術。
物理サーバーに直接インストールするOSを「ホストOS」といい、仮想サーバーにインストールするOSを「ゲストOS」という。

ホストOS型は、以下の特徴がある。


・クライアントOS向けのものも多く、手元の環境で手軽に使える。
・ホストOSに依存するため、オーバーヘッドが大きく、仮想マシンの速度が出ない。
・代表的なソフトウェアは、「VirtualBox」。














■ハイパーバイザ型
ハイパーバイザ型仮想化は、物理ーサーバーにOSをインストールする必要がなく、
代わりに、
「ハイパーバイザ」と呼ばれる仮想環境を管理するソフトウェアを物理ーサーバーに
インストールする。
ハイパーバイザ型は、
比較的規模の大きい仮想環境の構築に使用される。
ハイパーバイザ型は、以下の特徴がある。

・ホストOSを介さないため、オーバーヘッドが小さく、仮想マシンの動作が軽快。
・仮想化ソフトウェアの管理のための特権ゲストOSが設けられている場合があり、仮想マシンや
ハイパーバイザの管理をこの専用ゲストから行う。
・代表的なハイパーバイザ仮想化ソフトウェアは、VMware vSpher、Citrix XenServer、Microsoft Hyper-V等。









■コンテナ型

コンテナ型仮想化は、「コンテナ」というアプリケーションと実行環境をまとめて隔離する仕組みを利用して、
OS単位ではなく、アプリケーション単位で仮想化する技術。
OS上に、他のプロセスからは隔離されたアプリケーション実行環境を構築し、仮想的な動作環境を、より少ない
コンピュータリソースで実現する。

コンテナ型仮想化は、
ゲストOSが不要であり、ホストOS上にコンテナ型仮想化ソフトウェアをインストールする。
コンテナ型仮想化は、ホストOS上にインストールされた「コンテナ型仮想化ソフトウェア(コンテナエンジン)」によって、運用・管理されている。
コンテナ型は、以下の特徴がある。


・コンテナ型はOS単位ではなく、アプリケーション単位で仮想化する。
・ミドルウェアとアプリケーションをひとかたまりにして、クラウド間やオンプレミスへ
簡単に移行できる。
・主なハイパーバイザ仮想化ソフトウェアは、VMware vSpher、Citrix XenServer、Microsoft Hyper-V等。
・代表的なコンテナ型仮想化ソフトウェアは「Docker」。


















1-3 仮想サーバーの通信方法

サーバー仮想化では、ホストマシン内に複数の仮想マシンを実行するため、それらが通信を行うための
論理的なネットワークをホスト内に構成する。
仮想サーバーでは、
仮想スイッチという仮想的なL2スイッチを物理サーバー内に形成する。
仮想マシンは
「仮想NIC」という仮想的な接続ポートを持っていて、そのポートを介して仮想スイッチと接続する。
仮想スイッチは
ホストマシンの物理NICを割り当てることで、外部のネットワークと通信することが可能になる。