QEMUがXenで使用されていることを知っています。KVMはQEMUのフォークです。
したがって、KVMには、XenがQEMUに追加するものが含まれていますか?名前は何ですか?
ありがとう
QEMUは強力なエミュレータです。つまり、さまざまな種類のプロセッサをエミュレートできます。
Xenは [〜#〜] hvm [〜#〜] ゲスト、より具体的にはHVMゲストのデバイスモデルにQEMUを使用します。 Xen固有のQEMUはqemu-dmと呼ばれます(QEMUデバイスモデルの略)
QEMUはエミュレーションを使用します。 KVMは、仮想化にプロセッサー拡張(HVM)を使用します。
XenとKVM merge の両方のアップストリームQEMUに対するさまざまな機能、アップストリームQEMUを直接使用してXenデバイスモデルエミュレーションなどを実行できます。
Xenは、ハードウェア仮想化を必要としない 準仮想化 ゲストを持つという点でユニークです。
XenとKVMの両方には、HVMゲストの上で実行できる準仮想化デバイスドライバーがあります。
上記の答えは詳細で、技術的です。私は簡単な素人の言葉でそれを入れてみてください。
Qemuは、KVMアクセラレータ(ホストCPUでゲスト命令を直接実行できるLinuxカーネルモジュール)の有無にかかわらず動作するエミュレーターです。 Qemu + TCGの遅い選択肢とは異なります。
Xenは異なるモード(仮想化タイプ)を持つベアメタルハイパーバイザーです。ところで、ベアメタルは誤解を招く用語です。 Type-II/hostedまたはType-I/bare-metalのすべてのハイパーバイザーには、基盤となるOSが必要です。したがって、ベアメタルには、ハイパーバイザーが使用するレイヤーのようなベアミニマムオペレーティングシステムの非常に薄いレイヤーもあります。
Xen PVまたは準仮想化-ハードウェアエミュレーションは不要です。ゲストカーネルは、ゲストが基盤のXenハイパーバイザーで検出/実行できるように変更されます。
Xen HVMまたは完全仮想化-ハードウェアエミュレーションが必要です。仮想化Intel-VTなどをサポートするCPUでのみ実現されます。変更されたQemuはハードウェアエミュレーション(ディスク、ネットワーク、USBコントローラーなど)に使用され、ゲストカーネルは変更されません。
一般に、エミュレートされた仮想化(フル)は、修正されたカーネル仮想化(パラ)よりも低速です。ゲストカーネルに専用ドライバー(PVドライバー)をインストールすることにより、完全に仮想化されたゲストのパフォーマンスを向上させることができます。