いまさら聞けない「準仮想化」とは何か 「完全仮想化」との違いは:完全仮想化と準仮想化の違い【中編】
コンピュータの資源をソフトウェアで分け、効率的に使う仮想化技術には種類がある。その一つが、「準仮想化」だ。どのような技術なのか。
IT管理者は仮想化技術によって、ハードウェアのリソースを効率的に利用することができる。仮想化の種類には「完全仮想化」(full virtualization)と「準仮想化」(Para Virtualization)があり、目的やメリットが異なる。準仮想化とは何かを説明する。
「準仮想化」のメリットとデメリットとは
併せて読みたいお薦め記事
連載:完全仮想化と準仮想化の違い
仮想マシンを適切に運用する
完全仮想化は、ハイパーバイザーがゲストOSを丸ごと抽象化する。それに対して、準仮想化はゲストOSを修正し、ハイパーバイザーとゲストOSを連携させることで性能の改善を図る。一般的には、ゲストOSがハイパーバイザーと直接通信し、ハイパーバイザーの仮想マシン(VM)マネジャーが処理するには複雑で時間もかかる作業を共有する。ゲストOSからハイパーバイザーに送られる命令は「ハイパーコール」と呼ばれる。
準仮想化した状態では、ゲストOSは基盤となるハードウェア層への直接的な制御機能も一部保持している。これが“準”仮想化と呼ばれる所以だ。
IT管理者は準仮想化を利用するために、VMのゲストOSに変更や調整を加え、ハイパーバイザーとの間でイパーコールを交換するためのAPI(アプリケーションプログラミングインタフェース)の実装や、準仮想化が可能なカーネル(OSの基本機能を担うソフトウェア)に置き換える必要がある。
例えば、IT管理者はそのままでは準仮想化環境のゲストOSとしてMicrosoftの「Windows」を利用できない。IT管理者がゲストOSに特別なドライバをインストールしたり、設定を変更したりすることで、動作する。
準仮想化のメリット
完全仮想化という技術が登場した初期には、ハイパーバイザーのオーバーヘッド(余分な処理負荷)が現代に比べて多く、物理マシン処理能力の低下を招いていた。準仮想化は完全仮想化のパフォーマンス問題に対する1つの解決策として注目を集めた。
レガシーハードウェア上の完全仮想化と比べ、準仮想化ではバックアップの簡易化、移行の高速化、サーバ統合の改善、電力消費量の削減が見込めた。
だが、近年では完全仮想化は、半導体ベンダーが提供する仮想化支援機能によって、パフォーマンスの劣化を抑えることできるようになっている。
デメリット
準仮想化は、幾つか大きな問題も指摘されている。まず、管理者がOSに変更を加える必要があるため、準仮想化を利用できるのはその用途向けに適切に修正および検証されたOSバージョン(その多くはオープンソースバージョン)に限定される。そのため、企業が選択できるOSの数も限られる。Microsoftの「Windows Server」などの主要なベンダー独自のOSは単純に準仮想化に対応しない。
準仮想化では変更が加えられたOSとハイパーバイザーとがAPI経由で相互に通信できる必要もある。この直接通信によってOSとハイパーバイザー間に密接な依存関係が生まれる。その結果、OSやハイパーバイザーの更新によって、通信ができないなどの問題が生じる可能性もある。こうしたバージョン互換性の問題は、適切に機能しないばかりか、最新のセキュリティアップデートができないことによる脆弱(ぜいじゃく)性が生じる可能性がある。
準仮想化環境においては、パフォーマンスの向上効果がアプリケーションによって変動するという課題がある。ゲストOSにインストールするドライバの品質によっても左右されるため、事前の予測が困難だ。
後編は完全仮想化と準仮想化の違いを総括する。
TechTarget発 世界のインサイト&ベストプラクティス
米国TechTargetの豊富な記事の中から、さまざまな業種や職種に関する動向やビジネスノウハウなどを厳選してお届けします。
Copyright © ITmedia, Inc. All Rights Reserved.