Xen 4.4ハイパーバイザーおよびLinux 3.14カーネルでは、ハードウェア準仮想化モードが利用可能になります



翻訳 Xenブログのオリジナル



翻訳者から:現在、Xenハイパーバイザーの安定バージョンは2つの仮想化モードをサポートしています。 準仮想モード(PV)では、機器はエミュレートされず、そのような環境で動作するためにゲストOSを特別に変更する必要があります。 バージョン3.0以降、Linuxカーネルは、サードパーティのパッチで再コンパイルせずに準仮想モードでの起動をサポートしています。 PVモードの利点は、CPUからのハードウェア支援による仮想化を必要とせず、PCIバス上のハードウェアをエミュレートするためのリソース(非常に重要な場合もある)を使用しないことです。

ハードウェア仮想化(HVM)モードは、ハイパーバイザーのバージョン3.0以降、Xenで導入されており、ハードウェアサポートが必要です。 このモードでは、QEMUを使用して仮想デバイスをエミュレートします。これは準仮想ドライバーでも非常に低速です。 ただし、時間の経過とともに、機器でのハードウェア仮想化のサポートが非常に広くなり、ラップトップCPUでも使用されるようになりました。 そのため、開発者は、機器の機能を使用して、ハイパーバイザーとゲストOS間および準仮想モードで実行コンテキストの高速切り替えを使用することを望んでいました。 そのため、新しいモードが登場しました-バージョン4.4以降、Xenで利用できるハードウェア準仮想化。



Linux 3.14カーネルは、Mukesh Rathorが開発した新しいモードをサポートします

オラクル社から。 ハードウェア準仮想化(PVH)モードにより、ゲストOSはプラットフォームのハードウェア機能を使用できますが、QEMUを使用したハードウェアエミュレーションは不要です。 これは準仮想体制の進化における印象的なステップです。



PVHモードの実装の歴史と微妙な点については、準仮想化スペクトル、パート2:極からスペクトルまでで詳しく説明しています



つまり、XenのゲストOSはハードウェア仮想化(HVM)または準仮想化(PV)モードで動作できるようになりました。 PVモードでは、ゲストOSカーネルにより、ハイパーバイザーはメモリページテーブル、セグメントなどをプログラムできます。 プロセッサがEPT / NPT拡張をサポートしている場合、HVMモードでメモリを管理するコスト(ゲストOSがメモリを制御するとき)は、PVモードのハイパーバイザーがそれを行うときよりもはるかに低くなります。 そのため、新しいモードでは、ハイパーバイザーはゲストOS内のメモリとシステムコールを管理しません。これらはすべて、仮想マシンのコンテナー内で発生します。



この「ハイブリッド」準仮想化モードは「ハードウェア準仮想化」(PVH)と呼ばれます。



このアプローチの利点は、コードの量の削減、システムコールを行う際のパフォーマンスの向上(ゲストOSとハイパーバイザー間のコンテキスト切り替えがない)、さまざまな操作を実行する際の遅延が少ない、つまりゲストOSの応答が速いことです。



PVHモードを実装するコードは、バージョン4.4からXenで使用可能になります(このバージョンの3番目のリリース候補はすでにリリースされています)。 新しいモードを準仮想化モードと比較しますが、ゲストOSがHVMモードで(ただしPCIデバイスなしで)起動し、はるかに高速に動作することを除いて、実質的に違いはありません。 私たちはまだ新しいモードでABIの複雑さに取り組んでいるので、ABIはまだ不安定です。



つまり、Xenの次のバージョンでは、Linux ABIの現在のバージョンでも動作しない可能性があります(または動作する可能性があります)。 新しい体制は非常に実験的で不安定です。 私たちはそれを実用化のレベルに引き上げるつもりであり、どうしてもこの目標に向けて努力します。



ユーザーが新しいモードを使おうとすると、開発段階で想像できなかったエラーや問題を追跡できます。



ハードウェア準仮想化の使用方法



ゲストOSは準仮想として起動しますが、xen-detectユーティリティは、ハードウェア仮想化モードで実行されていることを示します。



次の機能はテストされていません。





次の機能は機能しません。





エラーが見つかった場合は、次の情報を電子メールxen-devel@lists.xenproject.orgで送信してください。





カーネルイメージ(vmlinuz)を保存してください。 将来的には必要になるかもしれませんが、メールで送信するには大きすぎます。



All Articles