クラウドにおける完全仮想化と準仮想化の主な違いは、完全仮想化では複数のゲストOSがホストOS上で独立して実行できるのに対し、準仮想化では複数のゲストOSがホストOS上でハイパーバイザーと通信しながら実行され、パフォーマンスを向上させることができる点です。
仮想化とは、サーバー、デスクトップ、オペレーティングシステム、ストレージデバイスの仮想バージョンを作成するプロセスです。
さらに、クラウドではアプリケーションを標準的なバージョンでユーザーに提供する。
新しいバージョンが出たら、クラウドプロバイダーは最新版をクラウドユーザーに提供しなければなりません。
しかし、これにはコストがかかります。
この問題を解決するのが、仮想化です。
ここでは、他のクラウドプロバイダーが必要とするサーバーやソフトウェア・アプリケーションを第三者が維持管理します。
ハイパーバイザーは、仮想マシンを作成・管理するソフトウェアです。
したがって、ハイパーバイザーをインストールすると、OSやアプリケーションは、ハイパーバイザーが作成した仮想化されたリソースと通信するようになります。
クラウドにおける完全仮想化とは
ホストOSはハードウェア上で直接実行され、ゲストOSは仮想マシン上で実行されます。
完全仮想化では、ゲストOSはハイパーバイザーの存在を意識することはない。
そのため、各仮想マシンとそのゲストOSは独立したコンピューターとして動作します。
つまり、1つのホストOS上で複数のゲストOSが、直接実行とバイナリ変換により分離して実行される。
さらに、完全仮想化の大きな欠点は、システムの性能に影響を与えることです。
ハイパーバイザーは、ハードウェアエミュレータに依存します。
そのため、メモリやプロセッサなどの物理リソースと仮想リソースの間で継続的に変換が行われ、システムの性能に影響を与える可能性があります。
クラウドにおける準仮想化とは?
準仮想化は、当初IBMが開発したものです。
準仮想化では、ハイパーバイザーをデバイスにインストールします。
そして、その環境にゲストOSをインストールする。
ここで、仮想化方式は、ゲストOSがハイパーバイザーと通信するように変更する。
したがって、仮想環境では困難で時間がかかる操作を、OSが実行する時間を短縮することができる。
また、システムの性能を向上させることができます。
さらに、ゲストOSはAPIコールを使ってハイパーバイザーと通信する。
クラウドにおける「完全仮想化」と「準仮想化」の違い
定義
一方、準仮想化とは、仮想化技術を拡張したもので、ゲストOSを仮想マシン内にインストールする前に再コンパイルすることで、コンピュータのサービス要求をそれを促進する物理的ハードウェアから切り離すもので、一般的でコスト効率の良い仮想化のタイプです。
機能性
このように、完全仮想化と準仮想化の大きな違いは、完全仮想化ではゲストOSが独立して実行されるのに対し、準仮想化ではゲストOSがハイパーバイザーと通信することである。
ハードウェアへのアクセス
完全仮想化では、ゲスト OS がハードウェアコールを発行してハードウェアにアクセスしますが、準仮想化では、ゲスト OS がドライバーを使用してハイパーバイザーと直接通信を行います。
したがって、この点も完全仮想化と準仮想化の違いとなります。
パフォーマンス
パフォーマンスも完全仮想化と準仮想化の違いの1つです。
完全仮想化よりも準仮想化の方がパフォーマンスは高くなります。
結論
簡単に説明すると、仮想化方式には完全仮想化と準仮想化の2種類があります。
クラウドにおける完全仮想化と準仮想化の主な違いは、完全仮想化はホストOS上で複数のゲストOSを独立して実行できるのに対し、準仮想化はホストOS上で複数のゲストOSをハイパーバイザーと通信しながら実行し、パフォーマンスを向上させることができる点です。