【Linux】ハイパーバイザー型とホスト型の違い

Linuxにおけるハイパーバイザー型とホスト型の違いについてまとめました。

ハイパーバイザー型

ハイパーバイザー型の仮想マシンソフトウェアは、仮想マシン実行に特化したハイパーバイザー(Linuxカーネルのような位置づけ)の上で仮想マシンを実行します。

  • ハイパーバイザー型の特徴
    • ホストOSの処理を必要とせず、ハードウェアを直接制御するため、処理速度が向上します。
    • 仮想マシンにOS、アプリケーション、ライブラリをインストールし、独立した実行環境を構築します。
    • ハイパーバイザーにどこまでの機能をもたせるかによって、「モノリシックカーネル型」「マイクロカーネル型」に分けられる。

(製品例)Hyper-V、VMware vSphere

  • モノリシックカーネル型
    • 仮想マシンを実行するための全ての機能をハイパーバイザーが持つ。
  • マイクロカーネル型
    • 仮想マシンの管理やデバイスドライバを、親パーテーション(特別な権限をもった仮想マシン)に任せ、ハイパーバイザーの持つ機能は最小限になる。

ホスト型

ホストとなるOS上に仮想化ソフトウェアをインストールし、別のゲストOSを実行します。
1つのアプリケーションを動かすレベルの手軽さで仮想サーバーを実行できる反面、ホストOS自体のリソースを多く消費するため、ハイパーバイザー型より処理が重くなります。

(製品例)VMware Player、Oracle VirtualBox

ネスト(ハイパーバイザー型で使用可能)

ネスト(入れ子)とは、「仮想マシンのOS」上で「別の仮想マシンとOS」を稼働させることです。
つまり、複数の仮想マシンを入れ子にします。このようなネストによる仮想化は、開発環境の構築やテスト環境作成の際、複数の仮想環境をまとめて管理することができます。ただし、それぞれの「仮想マシン」を実行することで、一定のオーバーヘッド(余分な負荷)を引き起こし、パフォーマンス低下を招くことがあります。

「ネストされた仮想化」を使用するには、VMware、VirtualBoxなど、仮想化に対応するハイパーバイザが必要となります。
また、CPUの仮想化支援機能(IntelのVT-x、AMDのAMD-Vなど)が必要または推奨とされます。
仮想化支援機能は、BIOSまたはUEFIの設定から有効化できます。

ネストの特徴についてまとめると以下のとおり。

  • 「仮想マシンのOS」上で「別の仮想マシンとOS」を稼働させる技術
  • CPUの仮想化支援機能が必要
  • パフォーマンス低下を招くことがある

関連ページ

【LinuC】試験対策と例題まとめ
LinuCの試験対策と例題(学習サイト)についてまとめました。
LPICの試験対策と例題まとめ
LPICの試験対策と例題(学習サイト)についてまとめました。
【Linux超入門】システムの基礎とよく使うコマンドなど徹底解説
Linuxシステムの基礎とよく使うコマンドなどについて入門者向けに解説します。

コメント