☁️
サーバ仮想化の概要
サーバ仮想化技術について
サーバ仮想化の背景
従来の物理サーバ(一つのサーバが一つのアプリケーションを担当)
- リソースを動的に変更することが出来ない
- 諸々のコストが高い(ハードウェアの購入費、電力、スペース)
サーバ仮想化技術を利用すると
- 複数の仮想マシン(VM)を単一の物理サーバ上で実行することで利用効率が向上
→ リソースを動的に変更することで効率的な利用が可能に! - VMは作成や削除が簡単にできる
サーバ仮想化技術の種類
ホストOS型(ハイパーバイザ ホストOS)
物理サーバ上にホストOSがあり、その上に仮想化ソフトウェア(ハイパーバイザー)がインストールされる。VMはこの仮想化ソフトウェア上で起動する
- 例:VMWare Workstation, Oracle VirtualBox
- メリット
- 導入や設定、管理が比較的容易
- デメリット
- 仮想サーバOSでアプリケーションを使用する場合、常に物理サーバOSを経由しなければならず、オーバヘッド(負荷)が大きくなり、スピードが上がりにくい
ハイパーバイザ型(ハイパーバイザ ベアメタル)
ハイパーバイザ型仮想化とは、物理サーバ(ハードウェア)上で直接動作するハイパーバイザーを利用して、複数の仮想マシンを実行するタイプの仮想化技術である。ベアメタルハイパーバイザーとも呼ばれる。
- 物理サーバ上に直接インストールされるハイパーバイザがあり、その上に複数の仮想マシンが動作する
- 例:VMWare ESXI, Microsoft Hyper-V, KVM
- メリット
- 高いパフォーマンス、オーバーヘッドが少ない(ホストOSがないのでOSを複数経由する必要がない)
- デメリット
- ハードウェアとの互換性がないため、新しく専用の物理サーバを購入する必要があり、コストが高い
コンテナ型
コンテナ型仮想化とは、ホストオペレーティングシステムのカーネルを共有しながら、独立したユーザー空間でアプリケーションを実行するタイプの仮想化技術である。
- 物理サーバ上にホストOSがあり、その上にコンテナランタイム(例: Docker)が動作し、各コンテナはホストOSのカーネルを共有する。
- 見かけは、ゲストOSがあるように見える
- OSを載せるのではなくコンテナを載せるため軽量で済む
- 例:Docker, Kubernetes
- メリット
- 軽量で起動が非常に速い
- リソースのオーバヘッドが少ない
※ ホスト型は各VMがそれぞれ独自のカーネルを持つ - アプリケーションの移植性が高い
- デメリット
- ホストOSのカーネルを共有するため、セキュリティ上のリスクがある
- ホストOSと異なるカーネルを持つOSを実行できない
💡 クラウドはこれら仮想化したサーバをインターネットを用いて提供している!
Discussion