ハイパーバイザー
ハイパーバイザーは仮想マシンを作成・管理します。
仮想マシンモニター(VMM)としても知られるハイパーバイザーは、仮想マシン(VM)を作成および管理するソフトウェア、ファームウェア、またはハードウェアレイヤーです。基盤となる物理ハードウェアリソース(CPU、メモリ、ストレージ、ネットワーク)を抽象化し、複数の独立したVMに割り当てます。ハイパーバイザーは、単一の物理マシン上で複数のオペレーティングシステムとアプリケーションを同時に実行できるようにし、リソース利用率の向上、分離の提供、ポータビリティの促進を実現します。主なタイプは2つあります。1つ目は、ホストのハードウェア上で直接実行されるタイプ1(ベアメタル)ハイパーバイザー(例:VMware ESXi、Microsoft Hyper-V、KVM)です。2つ目は、従来のオペレーティングシステム上で実行されるタイプ2(ホスト型)ハイパーバイザー(例:VMware Workstation、Oracle VirtualBox)です。タイプ1ハイパーバイザーは、直接的なハードウェアアクセスにより、一般的に優れたパフォーマンスとセキュリティを提供します。一方、タイプ2ハイパーバイザーは、デスクトップ仮想化のためにインストールと管理が簡単です。主な機能には、VMのプロビジョニング、スケジューリング、リソース割り当て、スナップショット、移行が含まれます。トレードオフには、パフォーマンスのオーバーヘッド、ハイパーバイザーレイヤー自体の潜在的なセキュリティ脆弱性、仮想化環境管理の複雑さが含まれます。
graph LR
Center["ハイパーバイザー"]:::main
Rel_virtualization["virtualization"]:::related -.-> Center
click Rel_virtualization "/terms/virtualization"
Rel_virtual_machine["virtual-machine"]:::related -.-> Center
click Rel_virtual_machine "/terms/virtual-machine"
classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
linkStyle default stroke:#4b5563,stroke-width:2px;
🧒 5歳でもわかるように説明
コンピューターの特別なマネージャーのようなもので、1台の実際のコンピューターで、それぞれが別々に動作する、たくさんの異なるコンピューターの「まねごと」バージョンを実行できます。
🤓 Expert Deep Dive
ハイパーバイザーは、ゲストオペレーティングシステムからの特権命令とハードウェアアクセス要求をインターセプトおよび管理することによって動作します。タイプ1ハイパーバイザーは、ハードウェア支援仮想化のためにCPU仮想化拡張機能(Intel VT-x、AMD-V)を活用して、直接的なハードウェア制御を通じてこれを実現します。これにより、ゲストOSはほとんどの命令をCPU上で直接実行でき、ハイパーバイザーは機密性の高い操作のためにのみ介入します。メモリ管理には、シャドウページテーブルやネストされたページテーブルなどの技術を使用して、ゲスト物理アドレスをホスト物理アドレスにマッピングします。タイプ2ハイパーバイザーは、ハードウェアをエミュレートするか、ハードウェアアクセスにOSカーネルモジュールに依存するため、より多くのオーバーヘッドが発生します。アーキテクチャ上のトレードオフは、パフォーマンスと柔軟性の間で中心となります。直接ハードウェアアクセス(タイプ1)はオーバーヘッドを最小限に抑えますが、特定のハードウェアサポートが必要であり、複雑になる可能性があります。エミュレーション(タイプ2)はよりポータブルですが、遅くなります。セキュリティは、ハイパーバイザーによって提供される分離に大きく依存します。ハイパーバイザーの脆弱性は、ホストされているすべてのVMを危険にさらす可能性があります。
❓ よくある質問
タイプ1ハイパーバイザーとタイプ2ハイパーバイザーの違いは何ですか?
タイプ1ハイパーバイザーはホストのハードウェア上で直接実行され、オペレーティングシステム自体として機能し、通常はパフォーマンスとセキュリティ向上のためにエンタープライズサーバー環境で使用されます。タイプ2ハイパーバイザーは、WindowsやmacOSのような従来のオペレーティングシステム上でアプリケーションとして実行され、個人用または開発目的でのセットアップと使用が簡単になります。
ハードウェア支援仮想化技術とは何ですか?
Intel VT-xやAMD-Vなどのハードウェア支援仮想化技術は、仮想マシンの実行を直接サポートするCPU機能です。これにより、ハイパーバイザーはソフトウェアベースのエミュレーションに伴うオーバーヘッドを削減し、全体的なVMパフォーマンスを向上させながら、特権命令をより効率的かつ安全に実行できます。