Frage Unterschied zwischen Xen PV, Xen KVM und HVM?


Ich weiß, dass Xen in der Regel besser als OpenVZ ist, da der Anbieter in Xen nicht verkaufen kann. Worin besteht jedoch der Unterschied? Xen PV, Xen KVM und HVM (Ich ging durch diesen Anbieter Spezifikationen? Welcher ist besser für welche Zwecke und warum?


Bearbeiten:

Für einen Endbenutzer, der nur Websites hostet, was ist besser? Gibt es aus Effizienz- oder anderer Sicht einen Vorteil gegenüber dem anderen?


50
2018-01-13 13:39


Ursprung




Antworten:


Xen unterstützte Virtualisierungstypen

Xen unterstützt zwei verschiedene   Arten von Gästen. Xen Gäste sind oft   genannt als domUs (unprivilegiert   Domänen). Beide Gasttypen (PV, HVM)   kann gleichzeitig auf einem verwendet werden   einzelnes Xen-System.

Xen Paravirtualisierung (PV)

Paravirtualisierung ist eine effiziente und   leichte Virtualisierungstechnik   von Xen eingeführt, später auch übernommen   von anderen Virtualisierungslösungen.   Paravirtualisierung erfordert nicht   Virtualisierungserweiterungen von der   Host-CPU. Jedoch paravirtualisiert   Gäste benötigen einen speziellen Kernel   portiert, um nativ auf Xen zu laufen, also   Gäste sind sich des Hypervisors bewusst und   kann ohne Emulation effizient ausgeführt werden   oder virtuell emulierte Hardware. Xen PV   Gast-Kernel existieren für Linux, NetBSD,   FreeBSD, OpenSolaris und Novell   Netware-Betriebssysteme.

PV Gäste haben keine Art von   virtuell emulierte Hardware, aber   Grafische Konsole ist noch möglich   mit Gast pvfb (paravirtual   Bildspeicher, Framebuffer). PV-Gast grafisch   Konsole kann mit VNC angezeigt werden   Client oder Redhats Virt-Viewer.   Es gibt einen separaten VNC-Server in dom0   für jeden Gast PVFB.

Upstream kernel Linux Kernel   seit Linux 2.6.24 enthalten Xen PV   guest (domU) support basierend auf der   Linux pvops Framework, also alle   Upstream-Linux-Kernel kann sein   automatisch als Xen PV-Gast verwendet   Kernel ohne zusätzliche Patches   oder Änderungen.

Siehe XenParavirtOps Wiki-Seite für mehr   Informationen über Linux pvops Xen   Unterstützung.

Xen Vollvirtualisierung (HVM)

Vollständig virtualisiert aka HVM (Hardware   Virtuelle Maschine) Gäste benötigen CPU   Virtualisierungserweiterungen von der   Host-CPU (Intel VT, AMD-V). Xen verwendet   modifizierte Version von Qemu zu emulieren   vollständige PC-Hardware, einschließlich BIOS, IDE   Festplattencontroller, VGA-Grafikadapter,   USB - Controller, Netzwerkadapter usw   für HVM Gäste. CPU-Virtualisierung   Erweiterungen werden verwendet, um zu erhöhen   Leistung der Emulation. Völlig   virtualisierte Gäste benötigen keine   spezieller Kernel, also zum Beispiel Windows   Betriebssysteme können als Xen verwendet werden   HVM-Gast. Vollständig virtualisierte Gäste   sind in der Regel langsamer als   paravirtualisierte Gäste, wegen der   erforderliche Emulation.

Um die Leistung vollständig virtualisiert zu steigern   HVM Gäste können spezielle paravirtuelle verwenden   Gerätetreiber, um die Emulation zu umgehen   für Festplatten- und Netzwerk-IO. Xen Windows   HVM-Gäste können das OpenSource nutzen   GPLPV Treiber. Sehen   XenLinuxPVonHVMdrivers Wiki-Seite für   Weitere Informationen zu Xen PV-on-HVM   Treiber für Linux HVM Gäste.

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

KVM ist überhaupt kein Xen, es ist eine andere Technologie, bei der KVM ein Linux-natives Kernelmodul ist und kein zusätzlicher Kernel wie Xen. Was KVM zu einem besseren Design macht. Der Nachteil ist, dass KVM neuer als Xen ist und daher einige Funktionen fehlen könnten.


44
2018-01-13 13:48



+1 KVM ist überhaupt nicht Xen. Es ist völlig anderer Meinung, dass KVM ein besseres Design ist. Xen bietet eine viel bessere Isolierung und hängt nicht vom Linux-Kernel und seinen potenziellen Sicherheitslücken ab. - Antoine Benkemoun
Danke für die Information! Ich konnte nicht alles verstehen. Aus Sicht des Endanwenders, wer wird gerade Webseiten hosten, was ist besser? Gibt es einen signifikanten Vorteil gegenüber dem anderen?
Xen hat seine eigenen Schwachstellen. Aber ein OS mit zwei Kernel bootstrapped zu starten, ist ein Konstruktionsfehler, egal wie gut Sie es tun - dyasny
JP19: Das hängt von den Webseiten ab. Wenn Sie die Last auf dem VPS definieren können, können Sie hier oder google nach der besten Lösung fragen. - dyasny
Xen ist ein Hypervisor und KVM ist es auch. KVM hat PV-Geräte und fügt mit der Zeit mehr hinzu, es ermöglicht auch PCI-Passthrough. Ich sehe also nicht den Grund für deine Argumentation, Nils - dyasny


Xen ist ein Hypervisor, der auf Metall (dem PC / Server) läuft und dann virtuelle Maschinen hostet, die Domänen genannt werden.

EIN Xen PV Domäne ist ein paravirtualisierte DomainDas bedeutet, dass das Betriebssystem (in der Regel Linux hier) unter Xen geändert wurde und dass Hardware nicht wirklich emuliert werden muss. Diese sollte der leistungsfähigste Weg sein, leistungsfähig zu sein.

EIN Xen HVM Domäne ist Hardware emuliert Domain, dh das Betriebssystem (könnte Linux, Windows, was auch immer sein) wurde in keiner Weise verändert und Hardware wird emuliert. Das ist ziemlich langsam, also normalerweise installieren Sie PV-Fahrer im Gastbetrieb für kritische Hardware (normalerweise Festplatte und Netzwerk), so dass der Gast als Ganzes vollständig virtualisiert ausgeführt wird, aber die leistungsstärksten Hardwareteile paravirtualisiert ausgeführt werden. Neuere Linux-Systeme haben pv-Treiber sowohl für die Festplatte als auch für das Netzwerk im Kernel, und es gibt auch verschiedene PV-Treiber für Windows. Bei der gesamten Entwicklung von HVM in den letzten Jahren gibt es normalerweise nur geringe Leistungsunterschiede zwischen HVM und PV für Standardarbeitslasten.

KVM ist nicht Xen, es ist eine andere Virtualisierungsplattform innerhalb des Linux-Kernels. Von einem Gast Sichtweise ähnelt es Xen HVM: Der Gast läuft voll virtualisiert und es gibt spezielle Treiber, um einige Teile paravirtualisiert (wieder, Festplatte und Netzwerk) zu laufen.

Sowohl Xen HVM als auch Linux KVM benötigen hardwaregestützte Virtualisierungsunterstützung (Intel VT-x, AMD AMD-V), während Xen PV keine Betriebssysteme ohne PV-Unterstützung ausführen kann (Sie können Windows unter Xen PV nicht ausführen).

Sowohl Xen HVM als auch Linux KVM werden Teile der qemu-Virtualisierungssoftware verwenden, 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 Live-Migration eines laufenden Gastes von einem physischen Server zu einem anderen durchführen, ich weiß nicht, ob KVM das auch kann.

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

Es gibt Unterschiede, die aber normalerweise für bestimmte Installationen gelten und nicht für den generischen virtuellen privaten Server, der an andere Personen verkauft wird. Zum Beispiel unterstützen neuere Xen-Hypervisors transzendenten Speicher, der die Speicherauslastung und die Gastleistung verbessern könnte, wenn der Gast Unterstützung dafür hat (Linux-Kernel> = 3.etwas).

All diese Technologien werden Ihnen eine großartige Erfahrung bieten, wenn sie korrekt implementiert werden und aus Ihrer Sicht keinen großen Unterschied machen. Natürlich gibt es tausend Möglichkeiten, wie Dinge schief gehen können und das nicht mit der spezifischen Virtualisierungslösung zusammenhängt (d. H. Ihr Gast könnte auf langsamen Festplatten gespeichert werden, was Ihre Leistung beeinträchtigen würde).


31
2017-12-09 18:01



KVM kann Speicher überkompensieren und so kann Xen. - dyasny
@dyasny Ich weiß nichts über KVM, aber ich bin mir ziemlich sicher, dass Xen das nicht kann overcommit Erinnerung im eigentlichen Sinn des Wortes (eine andere maximale Größe zuzulassen ist eine andere Sache). Bitte verlinke deine Quellen, wenn du glaubst, dass dies der Fall ist. - Luke404
Xen unterstützt das Balooning. Fügen Sie dazu Standard-Swapping hinzu und Sie haben bereits mindestens 2 Overcommit-Mechanismen. Das ist so alt wie 2008: blog.xen.org/index.php/2008/08/27/... - dyasny
@dyasny du denkst wahrscheinlich darüber nach overcommit als ein höheres Maximum zulassen. AFAIK, die akzeptierte Bedeutung ist, den Gästen tatsächlich mehr Speicher zuzuweisen, als physisch im Host vorhanden ist, und dies ist in Xen nicht implementiert. Sie können einen Gastballon nicht entleeren (z. B. mehr Speicher), wenn auf dem Host kein physischer Speicher verfügbar ist, und Sie können keinen neuen Gast starten, wenn Sie bereits den gesamten Hostspeicher zugewiesen haben (es sei denn, Sie pumpen auf die Ballons der Gäste laufen lassen und somit den zugewiesenen Speicher reduzieren, so dass Sie nichts überlisten. - Luke404
@dyasny und zusätzlich, dass der Hypervisor nicht einmal weiß, was Swap ist, so kann es nicht Speicherseiten austauschen. Gäste zu tauschen, weil sie weniger Speicher haben, als sie möchten, ist nicht das, was ich nenne overcommitEs ist einfach eine einfache Speicherverwaltung innerhalb des Gastes, wenn Sie Speicher daraus machen. - Luke404