☁️

サーバ仮想化の概要

2024/06/10に公開

サーバ仮想化技術について

サーバ仮想化の背景

従来の物理サーバ(一つのサーバが一つのアプリケーションを担当)

  • リソースを動的に変更することが出来ない
  • 諸々のコストが高い(ハードウェアの購入費、電力、スペース)

サーバ仮想化技術を利用すると

  • 複数の仮想マシン(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