概要
ハイパーバイザーは、仮想マシン (VM) を作成および実行するソフトウェアです。仮想マシンモニター (VMM) とも呼ばれるハイパーバイザーは、ハイパーバイザーのオペレーティングシステムとリソースを仮想マシンから分離し、その VM の作成と管理を可能にします。
ハイパーバイザーを使用する物理ハードウェアはホストと呼ばれます。一方、そのリソースを使用する多くの VM がゲストです。
ハイパーバイザーは、CPU、メモリー、ストレージなどのリソースを、容易に再配置可能なプールとして扱います。
すべてのハイパーバイザーには、VM を稼働するために、メモリーマネージャー、プロセス・スケジューラー、入出力 (I/O) スタック、デバイスドライバー、セキュリティ・マネージャー、ネットワークスタックなど、オペレーティング・システム・レベルのコンポーネントが必要です。
ハイパーバイザーは各仮想マシンに割り当てられたリソースを提供し、物理リソースに対する VM リソースのスケジューリングを管理します。処理は物理ハードウェアで行われるため、例えば、ハイパーバイザーがスケジュールを管理している間も、CPU は VM の要求どおりに CPU 命令を実行しています。
複数の異なるオペレーティングシステムを同時に稼働させ、同じ仮想化ハードウェアリソースをハイパーバイザーと共有できます。これは主要な仮想化のメリットです。仮想化を行わない場合、ハードウェア上で稼働できるオペレーティングシステムは 1 つだけです。
ハイパーバイザーには、従来のベンダーやオープンソースで提供される多くの選択肢があります。VMware は仮想化の選択肢として一般的で、ESXi ハイパーバイザーと vSphere 仮想化プラットフォームを提供しています。
Kernel-based Virtual Machine (KVM) はオープンソースの選択肢で Linux® カーネル に組み込まれています。その他の選択肢には、オープンソースの Xen や Microsoft Hyper-V があります。
ハイパーバイザーの種類
仮想化に使用できるハイパーバイザーには Type 1 と Type 2 の 2 種類があります。
Type 1
Type 1 ハイパーバイザーは、ネイティブ・ハイパーバイザーまたはベアメタル・ハイパーバイザーとも呼ばれ、ホストのハードウェア上で直接稼働し、ゲスト・オペレーティングシステムを管理します。ホスト・オペレーティングシステムの代わりになり、VM リソースはそれによって直接ハードウェアにスケジューリングされます。
このタイプのハイパーバイザーは、エンタープライズ・データセンターをはじめとするサーバーベースの環境において最も一般的です。
Type 1 ハイパーバイザーの例には、KVM、Microsoft Hyper-V、VMware vSphere があります。KVM は 2007 年に Linux カーネルに統合されたため、最新バージョンの Linux を使用していれば、 KVM も使用できます。
Type 2
Type 2 ハイパーバイザーは、ホスト型ハイパーバイザーとも呼ばれ、従来のオペレーティングシステム上で、ソフトウェアレイヤーまたはアプリケーションとして実行されます。
ホスト・オペレーティングシステムからゲスト・オペレーティングシステムを抽象化することで機能します。VM リソースはホスト・オペレーティングシステムに対してスケジューリングされ、ハードウェアに対して実行されます。
Type 2 ハイパーバイザーは、パーソナルコンピュータで複数のオペレーティングシステムを実行する個人ユーザーに適しています。
VMware Workstation と Oracle VirtualBox は Type 2 ハイパーバイザーの例です。
コンテナとVM
高レベルでは、コンテナと VM が類似しているように見えます。どちらも、さまざまな IT コンポーネントを組み合わせてシステムの残りの部分から分離する、パッケージ化されたコンピューティング環境です。大きな違いは、スケーラビリティと可搬性にあります。
コンテナとは、システムの他の部分とは分離された一連のプロセスです。コンテナでは、プロセスは指定されたリソース要求にしかアクセスできません。これらのリソース制限があるため、コンテナは十分な容量があればどのノードでも稼働できます。
VM は独自のオペレーティングシステム (OS) を持つため、リソースを集中的に使用する複数の機能を一度に実行できます。多くのリソースを利用できるので、サーバー、OS、デスクトップ、データベース、およびネットワーク全体の抽象化、分割、複製、エミュレートが可能です。
ハイパーバイザーを使用すると、VM で複数のオペレーティングシステムを実行できますが、コンテナが稼働できるオペレーティングシステムのタイプは 1 つだけです。例えば、Linux サーバーで稼働しているコンテナが稼働できるのは、Linux オペレーティングシステムだけです。
コンテナはハイパーバイザーの代替とみなされることもありますが、コンテナと仮想化は異なるニーズを満たすものなので、この考え方は正確ではありません。
ハイパーバイザーのセキュリティに関する考慮事項
VM は、残りのシステムから分離された環境を提供するので、VM 内部で何が実行されていても、ホストハードウェア上で実行されるものには影響しません。
VM はそれぞれが分離されているため、1 つの VM で防御が突破されても、システム全体に影響はありません。
ただし、ハイパーバイザー自体がハッキングされると、ハイパーバイザーが管理するすべての VM に問題が発生し、各 VM のデータが危険にさらされます。
セキュリティプロトコルと要件は、ハイパーバイザーの種類によって異なる場合があります。
Red Hat の仮想化を選ぶ理由
ハイパーバイザーは仮想化プラットフォームの基盤となります。Red Hat は、KVM と oVirt のコミュニティにおける設立以来のコントリビューターとして KVM ハイパーバイザーの改良に携わり、長期にわたり仮想化開発を支えてきました。
Red Hat® Virtualization は、Linux および Microsoft Windows のワークロードを仮想化する、オープンソースのソフトウェア・デファインド・プラットフォームです。
Red Hat Enterprise Linux および KVM 上に構築されており、リソース、プロセス、アプリケーションを仮想化する管理ツールを備え、クラウドネイティブとコンテナ化の未来に対応する安定した基盤を提供します。
Red Hat による迅速でコスト効果の高い仮想化は、今日の課題を克服し、将来のテクノロジーに向けた基盤の構築に役立ちます。