ハイパーバイザーとは?
ハイパーバイザーとは、仮想化技術を用いて仮想マシン(VM)を作成、実行、および管理するソフトウェアのことです。仮想マシンモニター(VMM)とも呼ばれるハイパーバイザーは、自身のオペレーティングシステムとリソースを、管理対象の仮想マシンから分離して保持します。
ハイパーバイザーの主な利点は、特性が全く異なる複数のオペレーティングシステムを同時に、互いに並行して実行でき、かつ同じ仮想化されたハードウェアリソースを共有できることです。この機能がない場合、1つのコンピュータハードウェアシステム上で実行できるオペレーティングシステムは1つだけとなります。
ハイパーバイザーにより、開発者は1つのハードウェアシステム上で複数のオペレーティングシステムを同時に実行できるようになります。
ハイパーバイザーの利点
データのレプリケーションとクローン作成
仮想マシンのクローン作成やレプリケーションは困難な作業です。ハイパーバイザーを使用して仮想マシンをクローンまたはレプリケートすることは、従来のストレージベースのレプリケーション手法よりもはるかに簡単で費用対効果が高いです。従来の方法では、サーバー上のすべての仮想マシンのボリューム全体をレプリケートする必要があり、膨大なストレージ容量を要します。
ハイパーバイザーを用いたレプリケーションやクローン作成は簡単です。すべての仮想マシンではなく、レプリケートする仮想マシンやコンポーネントを選択できるため、サーバー上のストレージ容量を節約できます。ハードウェアに依存しないハイパーバイザーベースのレプリケーションにより、データの複製を作成し、任意のストレージデバイスに簡単に移動・保存することができます。
サーバーの統合
組み込みのグラフィカルダッシュボードは、ハイパーバイザーの構成要素です。組み込みダッシュボードへの追加機能強化により可視性が向上し、その結果、サーバーを一元的に統合・管理できるようになります。これは、各仮想マシンが異なるオペレーティングシステムを実行している場合でも実現可能です。
産業用制御オートメーションの統合
ハイパーバイザーと仮想マシンを活用することで、産業用制御自動化システムメーカーは、従来別々に存在していた制御自動化システム機器のコンピュータ化コンポーネントを、単一の組み込みシステムプラットフォーム上に統合することができます。
テスト環境
ハイパーバイザーを使用することで、開発中のシステムやアプリケーションをテストできる仮想システムを構築できます。これにより、コーディングやシステムの動作が適切に行われているかどうかを容易に検証できるようになります。
デスクトップ仮想化
ハイパーバイザーを使用することで、サーバーはクライアントや従業員の仮想デスクトップをホストできます。この仮想デスクトップは、従業員の物理的なデスクトップを再現したものであり、インターネット経由で利用可能です。
ハイパーバイザーのメリット
組み込みハイパーバイザーは、組み込みシステムのニーズや要件をサポートするように設計されています。通常、これはタイプ1ハイパーバイザーであり、ITサーバーやデスクトップコンピュータではなく、デバイス内の組み込みシステムの仮想化要件をサポートすることを目的としています。組み込みハイパーバイザーのソフトウェアコード全体のサイズは小さく、組み込みシステムデバイス内で複数の分離された仮想マシン(VM)をサポートしながら、リアルタイムまたは高速なハイパーバイザー機能を提供します。
そのサイズと要件から、組み込みハイパーバイザーは、デバイス上のシステムリソースへの影響を最小限に抑え、リアルタイムのレイテンシに対応するように設計されています。この種のハイパーバイザーは、異なる仮想マシン間のスケジューリングポリシーを実装し、組み込みデバイスのリアルタイムシステムのコンポーネントに対するサポートを提供することができます。
ハイパーバイザーの分類
| Type1ハイパーバイザー(ベアメタル) | Type2ハイパーバイザー(ホスト型) |
|---|---|
| Type1ハイパーバイザー(ベアメタルハイパーバイザーとも呼ばれる)は、ホストシステムのハードウェア上で直接動作し、VMを作成するとともに、各VMで使用されるゲストOSを管理します。これはホストOSに取って代わるものであり、各VMのリソースはハイパーバイザーによってハードウェアに直接割り当てられます。多くの場合、組み込み型ハイパーバイザーはType1ハイパーバイザーです。KVMは、最新バージョンのLinuxのカーネルに統合されたハイパーバイザーです。 | Type2ハイパーバイザーは、従来のオペレーティングシステム上でソフトウェア層またはアプリケーションとして動作します。Type2ハイパーバイザーは、ホスト型ハイパーバイザーとも呼ばれます。このタイプのハイパーバイザーは、ホストオペレーティングシステムからゲストオペレーティングシステムを分離させることで機能します。これらのVMのリソースはホストオペレーティングシステムにスケジューリングされ、その後、ホストシステムのハードウェア上で実行されます。 |
Type1ハイパーバイザーとType2ハイパーバイザーの違い
Type1とType2のハイパーバイザーの単純な違いは、Type1ハイパーバイザー(ベアメタルハイパーバイザー)がホストシステムのハードウェア上で直接動作するのに対し、Type2は従来のオペレーティングシステムの上でソフトウェア層またはアプリケーションとして動作する点にあります。組み込みハイパーバイザーのほとんどはType1です。
組み込みハイパーバイザー
ハードウェア要件
組み込みシステムでは、多種多様なプロセッサアーキテクチャが採用されています。選択された組み込みハイパーバイザー(通常はタイプ1)は、その組み込みシステムやデバイスで使用されているプロセッサと連携して動作する必要があります。
組み込みシステムの設計上、その多くはプロセッサのリソース使用量、特に消費電力やメモリ使用量に関して厳しい制限が課されています。組み込みハイパーバイザーは、これらの制限の範囲内で動作しなければなりません。さらに、ハイパーバイザーはシステム内のすべてのコンポーネントと、低遅延で高速に通信する必要があります。リアルタイムOSをベースとした組み込みハイパーバイザーは、このような高速通信を実現するのに役立ちます。
リソース要件
組み込みシステムハードウェアのコストや技術的な制約により、組み込みハイパーバイザーはリソースを効率的に使用する必要があります。こうした制約と要件を踏まえ、組み込みハイパーバイザーは、多くの場合、数十キロバイトから数百キロバイトという小さなメモリフットプリントを維持しています。そのサイズは、実装の効率性や提供される機能レベルによって異なります。
ユースケース
モノのインターネット(IoT)の拡大やインテリジェントなエッジシステムの普及に伴い、組み込みハイパーバイザーのユースケースは拡大しています。ユースケースには、システムハードウェアの簡素化、車両診断、産業環境向けのセンサー入力およびアクチュエータ出力、複数のオペレーティングシステムのサポートなどが含まれます。
組み込みハイパーバイザーは、プロセッサの使用制限の範囲内で動作すると同時に、システムのすべてのコンポーネントと高速に通信する必要があります。
ハードウェア仮想化と組み込みハイパーバイザーの仕組み
ハイパーバイザーとして使用されるコンピュータハードウェアは「ホスト」と呼ばれ、そのリソースとして作成・使用されるすべての仮想マシンは「ゲスト」と呼ばれます。ITシステム内のサーバーシステムでは、デスクトップシステムと同様にハイパーバイザーが使用されてきました。ハイパーバイザーの普及が進むにつれ、組み込みプラットフォームやシステムでも使用されるようになりました。
ハイパーバイザーは、CPU、メモリ、ストレージをプール化されたリソースとして扱い、それらを既存のさまざまなゲスト間で再割り当てしたり、作成された仮想マシン(VM)に割り当てたりします。
作成されたこれらのVMを実行するために、ハイパーバイザーは、メモリマネージャ、プロセススケジューラ、入出力(I/O)ソースなど、さまざまなOSレベルのメカニズムを利用する必要がある。
ハイパーバイザーは各VMにリソースを割り当て、システムの物理的なコンピュータリソースに対してVMのリソースを管理・スケジューリングします。実際の実行(例:VMから要求された命令をCPUが実行すること)はコンピュータハードウェアが行いますが、すべてのスケジューリングはハイパーバイザーが管理します。
Wind Riverのアプローチ
Wind River Helix 仮想化プラットフォーム
Wind River Helix™ 仮想化プラットフォームは、Type 1 ハイパーバイザーを活用し、マルチOSおよび重要度が異なるアプリケーションを単一のエッジコンピューティングソフトウェアプラットフォーム上に統合することで、設計の簡素化、セキュリティの強化、将来への対応を実現します。仮想マシンの作成と管理を通じて、安全パーティショニング機能により安全クリティカルなアプリケーションと汎用アプリケーションを分離できるため、新規システムやレガシーシステムの導入が容易になります。
図1. Wind River Helix 仮想化プラットフォームのアーキテクチャ