質問: xen pv、xen kvmとhvmの違いは? プロバイダーはxenでオーバーセルできないため、通常、xenはopenvzよりも優れています。ただし、xen pv、xen kvm、およびhvmの違いは何ですか(このプロバイダーの specs を使用していましたか?目的と理由に適したものはどれですか) ?編集:ウェブサイトをホストするだけのエンドユーザーにとって、どちらが良いですか?効率性やその他の観点から、一方が他方よりも優れている点はありますか?
回答: xenは、メタル(pc /サーバー)で実行され、ドメインと呼ばれる仮想マシンをホストするハイパーバイザーです。xen pvドメインは準仮想化ドメインです。つまり、オペレーティングシステム(通常、ここではlinuxと呼んでいます)がxenで実行するように変更されており、ハードウェアを実際にエミュレートする必要はありません。このすべきは、パフォーマンスの観点から、最も効率的な方法です。xen hvmドメインはハードウェアエミュレートドメインです。これは、オペレーティングシステム(linux、windowsなど)がまったく変更されておらず、ハードウェアがエミュレートされていることを意味します。これはかなり遅いので、通常、重要なハードウェア(通常はディスクとネットワーク)のゲストosにpvドライバーをインストールするので、ゲストは全体として完全に仮想化されますが、パフォーマンスが最も重要な部分を実行しますハードウェアは準仮想化されて実行されます。最近のlinuxシステムには、カーネル内のディスクとネットワークの両方にpvドライバーがあり、windows用のさまざまなpvドライバーも存在します。近年のhvmのすべての開発により、通常、標準的なワークロードのhvmとpvのパフォーマンスにはほとんど違いがありません。kvmはxenではなく、linuxカーネル内に構築された別の仮想化プラットフォームです。 ゲストの観点からは、xen hvmに似ています。ゲストは完全に仮想化されて実行され、特定のドライバーが準仮想化されて実行されます(ここでも、ディスクとネットワーク)。xen hvmとlinuxの両方kvmハードウェア支援の仮想化サポートが必要です(intel vt-x、amd amd-v)。一方、xen pvはpvサポートなしではオペレーティングシステムを実行できません。 xen pvでwindowsを実行しないでください)。xen hvmとlinuxの両方kvmは、qemu仮想化ソフトウェアの一部を使用して、ゲストシステムでpvドライバーを使用していないデバイスの実際のハードウェアをエミュレートします。xen(pvとhvmの両方)は、実行中のゲストを1つの物理サーバーから別の物理サーバーにライブマイグレーションできます。kvmも可能かどうかはわかりません。xenとkvm=はメモリをオーバーコミットできないため、通常は「真のram」を取得できますが、vmwareなどの他のプラットフォームではゲストramの一部をディスクにスワップできます。違いはありますが、通常は特定のインストールに適用され、他の人に販売する汎用仮想プライベートサーバーには適用されません。たとえば、最近のxenハイパーバイザーは、ゲストがサポートしている場合(linuxカーネル> = 3.何か)にメモリ使用率とゲストのパフォーマンスを向上させる可能性がある超越メモリをサポートしています。これらのテクノロジーはすべて、正しく実装されていれば優れたエクスペリエンスを提供し、ユーザーの視点から見て大きな違いはありません。もちろん、問題が発生する可能性のある方法は1,000通りありますが、特定の仮想化ソリューションとは関係ありません(つまり、ゲストが低速のディスクに格納され、パフォーマンスを低下させる可能性があります)。