it-swarm.com.de

Unterschied zwischen Xen PV, Xen KVM und HVM?

Ich weiß, dass Xen normalerweise besser ist als OpenVZ, da der Anbieter Xen nicht überbieten kann. Was ist jedoch der Unterschied zwischen Xen PV, Xen KVM und HVM (Ich habe die Spezifikationen dieses Anbieters durchgesehen. Welches ist für welche Zwecke besser und warum?


Bearbeiten:

Was ist für einen Endbenutzer, der nur Websites hostet, besser? Gibt es aus Effizienz- oder anderen Gründen einen Vorteil gegenüber dem anderen?

53
JP19

Xen unterstützte Virtualisierungstypen

Xen unterstützt das Ausführen von zwei verschiedenen Arten von Gästen. Xen-Gäste werden häufig als domUs (nicht privilegierte Domänen) bezeichnet. Beide Gasttypen (PV, HVM) können gleichzeitig auf einem einzelnen Xen-System verwendet werden.

Xen-Paravirtualisierung (PV)

Die Paravirtualisierung ist eine effiziente und einfache Virtualisierungstechnik, die von Xen eingeführt und später auch von anderen Virtualisierungslösungen übernommen wurde. Für die Paravirtualisierung sind keine Virtualisierungserweiterungen von der Host-CPU erforderlich. Paravirtualisierte Gäste benötigen jedoch einen speziellen Kernel, der für die native Ausführung auf Xen portiert ist, sodass die Gäste den Hypervisor kennen und ohne Emulation oder virtuell emulierte Hardware effizient ausgeführt werden können. Xen PV-Gastkerne existieren für die Betriebssysteme Linux, NetBSD, FreeBSD, OpenSolaris und Novell Netware.

PV-Gäste haben keine virtuell emulierte Hardware, aber eine grafische Konsole ist weiterhin mit Guest PvFB (paravirtualer Framebuffer) möglich. Die grafische PV-Gastkonsole kann mit dem VNC-Client oder Redhats Virt-Viewer angezeigt werden. In dom0 gibt es einen separaten VNC-Server für die PVFB jedes Gastes.

Upstream kernel.org Linux-Kernel seit Linux 2.6.24 unterstützen Xen PV-Gast (domU) basierend auf dem Linux-pvops-Framework, sodass jeder Upstream-Linux-Kernel ohne zusätzliche Patches oder Änderungen automatisch als Xen PV-Gastkernel verwendet werden kann.

Weitere Informationen zur Xen-Unterstützung von Linux pvops finden Sie auf der XenParavirtOps-Wiki-Seite.

Xen Full Virtualization (HVM)

Vollständig virtualisierte Gäste, auch bekannt als HVM-Gäste (Hardware Virtual Machine), benötigen CPU-Virtualisierungserweiterungen von der Host-CPU (Intel VT, AMD-V). Xen verwendet eine modifizierte Version von Qemu, um die gesamte PC-Hardware zu emulieren, einschließlich BIOS, IDE Festplattencontroller, VGA-Grafikadapter, USB-Controller, Netzwerkadapter usw. für HVM-Gäste. CPU-Virtualisierungserweiterungen werden verwendet, um die Leistung zu steigern Voll virtualisierte Gäste benötigen keinen speziellen Kernel, sodass beispielsweise Windows-Betriebssysteme als Xen HVM-Gast verwendet werden können. Voll virtualisierte Gäste sind aufgrund der erforderlichen Emulation normalerweise langsamer als paravirtualisierte Gäste.

Um die Leistung zu steigern, können vollständig virtualisierte HVM-Gäste spezielle paravirtuelle Gerätetreiber verwenden, um die Emulation für Festplatten- und Netzwerk-E/A zu umgehen. Xen Windows HVM-Gäste können die OpenSource-GPLPV-Treiber verwenden. Weitere Informationen zu Xen PV-on-HVM-Treibern für Linux-HVM-Gäste finden Sie auf der Wiki-Seite XenLinuxPVonHVMdrivers.

Dies ist von http://wiki.xenproject.org/wiki/XenOverview

KVM ist überhaupt kein Xen, sondern eine andere Technologie, bei der KVM ist ein natives Linux-Kernelmodul und kein zusätzlicher Kernel wie Xen. Das macht KVM) Ein besseres Design. Der Nachteil hier ist, dass KVM ist neuer als Xen, daher fehlen möglicherweise einige der Funktionen.

48
dyasny

Xen ist ein Hypervisor, der auf Metall (dem PC/Server) ausgeführt wird und dann virtuelle Maschinen hostet, die als Domänen bezeichnet werden.

EIN Xen PV domain ist eine paravirtualisierte Domain, dh das Betriebssystem (hier spricht man normalerweise von Linux) wurde so geändert, dass es unter Xen ausgeführt werden kann, und es ist nicht erforderlich, Hardware tatsächlich zu emulieren. Dies sollte ist der effizienteste Weg, was die Leistung betrifft.

EIN Xen HVM domain ist Hardware emuliert domain, dh das Betriebssystem (möglicherweise Linux, Windows usw.) wurde in keiner Weise geändert und die Hardware wird emuliert. Dies ist ziemlich langsam, daher installieren Sie normalerweise PV-Treiber im Gast-Betriebssystem für kritische Hardware (normalerweise Festplatte und Netzwerk), sodass der Gast als Ganzes vollständig virtualisiert, aber die leistungskritischsten Teile von ausgeführt wird Hardware läuft paravirtualisiert. Neuere Linux-Systeme verfügen über PV-Treiber für Festplatte und Netzwerk im Kernel, und es gibt auch verschiedene PV-Treiber für Windows. Bei all den Entwicklungen bei HVM in den letzten Jahren gibt es für Standard-Workloads normalerweise nur geringe Leistungsunterschiede zwischen HVM und PV.

KVM ist kein Xen, sondern eine weitere Virtualisierungsplattform, die im Linux-Kernel integriert ist. Aus Sicht von Gast ähnelt es Xen HVM: Der Gast wird vollständig virtualisiert ausgeführt, und es gibt bestimmte Treiber, um einige Teile paravirtualisiert auszuführen (wiederum Festplatte und Netzwerk).

Sowohl Xen HVM als auch Linux KVM benötigen hardwareunterstützte Virtualisierungsunterstützung (Intel VT-x, AMD AMD-V), während Xen PV keine Betriebssysteme ohne PV-Unterstützung ausführt, aber nicht ausführen kann (Sie können) Windows unter Xen PV nicht 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 auch.

Sowohl Xen als auch KVM können den Speicher nicht überbeanspruchen, sodass Sie normalerweise "echten RAM" erhalten, während andere Plattformen wie VMware einen Teil des Gast-RAMs auf die Festplatte austauschen können.

Es gibt Unterschiede, die jedoch normalerweise für bestimmte Installationen gelten und nicht für den generischen 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 bieten Ihnen eine großartige Erfahrung, wenn sie korrekt implementiert werden, und machen aus Ihrer Sicht keinen großen Unterschied. Natürlich gibt es tausend Möglichkeiten, wie etwas schief gehen kann, und das hängt nicht mit der spezifischen Virtualisierungslösung zusammen (d. H. Ihr Gast könnte auf langsamen Festplatten gespeichert werden, was Ihre Leistung beeinträchtigen würde).

32
Luke404