Xen
ist ein Hypervisor, der auf Metall (dem PC / Server) ausgeführt wird und dann virtuelle Maschinen hostet, die als Domänen bezeichnet werden.
Eine Xen PV
Domain ist eine paravirtualisierte Domain. Dies bedeutet, dass das Betriebssystem (normalerweise Linux) so geändert wurde, dass es unter Xen ausgeführt werden kann, und dass keine Hardware-Emulation erforderlich ist. Dies sollte in Bezug auf die Leistung der effizienteste Weg sein.
Eine Xen HVM
Domain ist eine Hardware-emulierte Domain. Das bedeutet, dass das Betriebssystem (Linux, Windows usw.) in keiner Weise geändert wurde und die Hardware emuliert wird. Dies ist ziemlich langsam. In der Regel installieren Sie PV-Treiber für kritische Hardware (in der Regel Festplatte und Netzwerk) im Gastbetriebssystem, sodass der Gast als Ganzes vollständig virtualisiert ausgeführt wird, die leistungskritischsten Hardwareteile jedoch paravirtualisiert ausgeführt werden. Neuere Linux-Systeme haben pv-Treiber für Festplatten und Netzwerke im Kernel, und es gibt auch verschiedene PV-Treiber für Windows. Bei all den Entwicklungen bei HVM in den letzten Jahren gibt es normalerweise nur geringe Leistungsunterschiede zwischen HVM und PV für Standard-Workloads.
KVM
ist nicht Xen, sondern eine andere Virtualisierungsplattform, die im Linux-Kernel integriert ist. Aus der Sicht eines Gasts ähnelt es Xen HVM: Der Gast wird vollständig virtualisiert ausgeführt und es gibt spezielle Treiber, mit denen einige Teile paravirtualisiert ausgeführt werden können (wiederum Festplatte und Netzwerk).
Sowohl Xen HVM als auch Linux KVM benötigen Hardware-unterstützte Virtualisierungsunterstützung (Intel VT-x, AMD AMD-V), wohingegen Xen PV keine Betriebssysteme ohne PV-Unterstützung ausführen kann (Sie können Windows nicht unter Xen PV ausführen).
Sowohl Xen HVM als auch Linux KVM verwenden Teile der qemu-Virtualisierungssoftware, um die tatsächliche Hardware für Geräte zu emulieren, die keine PV-Treiber im Gastsystem verwenden.
Xen (sowohl PV als auch HVM) kann eine Live-Migration eines laufenden Gasts von einem physischen Server auf einen anderen durchführen. Ich weiß nicht, ob KVM dies auch kann.
Sowohl Xen als auch KVM können den Arbeitsspeicher nicht überlasten, sodass Sie normalerweise "echten RAM" erhalten, während andere Plattformen wie VMware einen Teil des Gast-RAM auf die Festplatte auslagern können.
Es gibt Unterschiede, die jedoch in der Regel für bestimmte Installationen gelten und nicht für den allgemeinen virtuellen privaten Server, der an andere Personen verkauft wird. Beispielsweise unterstützen neuere Xen-Hypervisoren transzendenten Speicher, der die Speichernutzung und die Gastleistung verbessern kann, wenn der Gast dies unterstützt (Linux-Kernel> = 3.something).
All diese Technologien werden Ihnen eine großartige Erfahrung bringen, wenn sie korrekt implementiert sind und aus Ihrer Sicht keinen großen Unterschied machen. Natürlich gibt es tausend Möglichkeiten, wie etwas schief gehen kann, und das hängt nicht mit der spezifischen Virtualisierungslösung zusammen (dh Ihr Gast könnte auf langsamen Datenträgern gespeichert werden und dies würde Ihre Leistung beeinträchtigen).