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