Vraag Verschil tussen Xen PV, Xen KVM en HVM?


Ik weet dat Xen meestal beter is dan OpenVZ omdat de provider niet kan overdrijven in Xen. Maar wat is het verschil tussen Xen PV, Xen KVM en HVM (Ik ging door de provider van deze bril? Welke is beter voor welke doeleinden en waarom?


Bewerk:

Voor een eindgebruiker die alleen maar websites host, wat is beter? Uit een oogpunt van efficiëntie of een ander voordeel is er een voordeel boven elkaar?


50
2018-01-13 13:39


oorsprong




antwoorden:


Door Xen ondersteunde virtualisatietypes

Xen ondersteunt het uitvoeren van twee verschillende   soorten gasten. Xen-gasten zijn vaak   genoemd als domUs (onbewezen)   domeinen). Beide gastentypes (PV, HVM)   kan tegelijkertijd worden gebruikt op een   enkel Xen-systeem.

Xen Paravirtualization (PV)

Paravirtualization is een efficiënte en   lichtgewicht virtualisatietechniek   geïntroduceerd door Xen, later ook overgenomen   door andere virtualisatie-oplossingen.   Paravirtualisatie vereist niet   virtualisatie-uitbreidingen van de   host CPU. Echter geparavirtualiseerd   gasten hebben een speciale kernel nodig   geport om native op Xen uit te voeren, dus de   gasten zijn zich bewust van de hypervisor en   kan efficiënt werken zonder emulatie   of virtuele geëmuleerde hardware. Xen PV   gast-kernels bestaan ​​voor Linux, NetBSD,   FreeBSD, OpenSolaris en Novell   Netware-besturingssystemen.

PV-gasten hebben geen enkele vorm van   virtuele geëmuleerde hardware, maar   grafische console is nog steeds mogelijk   met behulp van guest pvfb (paravirtual   framebuffer). PV-gast grafisch   console kan worden bekeken met behulp van VNC   client of Redhat's virt-viewer.   Er is een aparte VNC-server in dom0   voor de PVFB van elke gast.

Stroomopwaartse kernel.org Linux-kernels   omdat Linux 2.6.24 Xen PV bevat   gast (domU) ondersteuning op basis van de   Linux pvops framework, dus elke   stroomopwaartse Linux-kernel kan zijn   automatisch gebruikt als Xen PV-gast   kernel zonder extra patches   of wijzigingen.

Zie XenParavirtOps wiki-pagina voor meer   informatie over Linux pvops Xen   ondersteuning.

Xen Volledige virtualisatie (HVM)

Volledig gevirtualiseerd oftewel HVM (Hardware   Virtuele machine) gasten hebben CPU nodig   virtualisatie-uitbreidingen van de   host CPU (Intel VT, AMD-V). Xen gebruikt   aangepaste versie van Qemu om te emuleren   volledige pc-hardware, inclusief BIOS, IDE   schijfcontroller, VGA grafische adapter,   USB-controller, netwerkadapter enz   voor HVM-gasten. CPU-virtualisatie   uitbreidingen worden gebruikt om te stimuleren   uitvoering van de emulatie. Geheel   gevirtualiseerde gasten hebben dit niet nodig   speciale kernel, dus bijvoorbeeld Windows   besturingssystemen kunnen worden gebruikt als Xen   HVM-gast. Volledig gevirtualiseerde gasten   zijn meestal langzamer dan   gepargirtualiseerde gasten, vanwege de   vereiste emulatie.

Om de prestaties volledig gevirtualiseerd te verbeteren   HVM-gasten kunnen speciale paravirtual gebruiken   apparaatstuurprogramma's om de emulatie te omzeilen   voor schijf- en netwerk-IO. Xen Windows   HVM-gasten kunnen de opensource gebruiken   GPLPV-stuurprogramma's. Zien   XenLinuxPVonHVMdrivers wiki-pagina voor   meer informatie over Xen PV-on-HVM   stuurprogramma's voor Linux HVM-gasten.

Dit is van http://wiki.xenproject.org/wiki/XenOverview

KVM is helemaal geen Xen, het is een andere technologie, waarbij KVM een Linux-kernelmodule is en geen extra kernel, zoals Xen. Dat maakt KVM een beter ontwerp. het nadeel is dat KVM nieuwer is dan Xen, dus misschien ontbreken sommige functies.


44
2018-01-13 13:48



+1 KVM is helemaal geen Xen. Het is volledig oneens dat KVM een beter ontwerp is. Xen biedt veel betere isolatie en is niet afhankelijk van de Linux-kernel en de potentiële kwetsbaarheden. - Antoine Benkemoun
Bedankt voor de info! Ik kon niet alles begrijpen. Vanuit het oogpunt van eindgebruikers, wie host er nu gewoon websites, wat is beter? Is er een significant voordeel van de ene boven de andere?
Xen heeft zijn eigen kwetsbaarheden. Maar een OS draaien met twee kernels bootstrapped is een ontwerpfout, ongeacht hoe goed je het doet - dyasny
JP19: dat hangt af van de websites. Als u de belasting op de VPS kunt definiëren, kunt u hier vragen of google naar de beste oplossing. - dyasny
Xen is een hypervisor, en KVM ook. KVM heeft PV-apparaten en voegt meer toe met de tijd, het laat ook PCI-doorvoer toe. Dus ik zie het nut van je betoog niet, Nils - dyasny


Xen is een hypervisor die op metaal draait (de pc / server) en vervolgens virtuele machines host, domeinen genaamd.

EEN Xen PV domein is een geparavirtualiseerd domein, dat betekent dat het besturingssysteem (meestal hebben we het hier over linux) is aangepast om onder Xen uit te voeren, en het is niet nodig om hardware te emuleren. Deze moeten wees de meest efficiënte manier om te gaan, qua prestaties.

EEN Xen HVM domein is hardware geëmuleerd domein, dat betekent dat het besturingssysteem (kan Linux, Windows of wat dan ook zijn) op geen enkele manier is gewijzigd en dat de hardware wordt geëmuleerd. Dit is nogal traag, dus meestal installeer je het PV-stuurprogramma's in de gast os voor kritieke hardware (meestal schijf en netwerk), zodat de gast als geheel volledig gevirtualiseerd zal worden maar de meest prestatie-kritische stukjes hardware zullen paravirtualized worden. Recente linux-systemen hebben pv-stuurprogramma's voor zowel schijf als netwerk in de kernel en er bestaan ​​ook verschillende PV-stuurprogramma's voor Windows. Met alle ontwikkelingen op HVM in de afgelopen jaren is er gewoonlijk weinig verschil in de prestaties tussen HVM en PV voor standaard workloads.

KVM is geen Xen, het is een ander virtualisatieplatform dat is ingebouwd in de Linux-kernel. Van een gast oogpunt lijkt het op Xen HVM: de gast draait volledig gevirtualiseerd en er zijn specifieke stuurprogramma's om sommige delen paravirtualized (opnieuw, schijf en netwerk) uit te voeren.

Zowel Xen HVM als Linux KVM hebben hardwaregestuurde virtualisatieondersteuning nodig (Intel VT-x, AMD AMD-V), terwijl Xen PV niet, maar geen besturingssystemen kan draaien zonder PV-ondersteuning (u kunt Windows niet draaien op Xen PV).

Zowel Xen HVM als Linux KVM zullen delen van de qemu-virtualisatiesoftware gebruiken om de feitelijke hardware na te bootsen voor apparaten die geen PV-stuurprogramma's gebruiken in het gastsysteem.

Xen (zowel PV als HVM) kan live migratie uitvoeren van een actieve gast van de ene fysieke server naar de andere, ik weet niet of KVM dat ook kan.

Zowel Xen als KVM kunnen het geheugen niet overnemen, dus krijg je meestal "echte RAM", terwijl andere platforms zoals VMware een deel van de guest-ram naar schijf kunnen ruilen.

Er zijn verschillen maar meestal van toepassing op specifieke installaties en niet op de generieke virtuele privéserver voor verkoop aan andere mensen. Recente Xen-hypervisors ondersteunen bijvoorbeeld transcendent geheugen dat geheugengebruik en gastprestaties kan verbeteren als de gast hiervoor ondersteuning heeft (linux kernels> = 3.something).

Al deze technologieën zullen u een geweldige ervaring geven als ze correct worden geïmplementeerd en geen groot verschil maken voor uw standpunt. Natuurlijk zijn er duizend manieren waarop dingen fout kunnen gaan en dat is niet gerelateerd aan de specifieke virtualisatie-oplossing (dat wil zeggen dat uw gast zou kunnen worden opgeslagen op langzame schijven en dat zou uw prestaties schaden).


31
2017-12-09 18:01



KVM kan geheugen overschrijven en zo kan Xen. - dyasny
@dyasny Ik weet het niet van KVM, maar ik ben er vrij zeker van dat Xen dat niet kan overcommit geheugen in de werkelijke betekenis van het woord (waardoor een andere maximale grootte een ander ding is). Koppel uw bronnen alstublieft als u denkt dat dit het geval is. - Luke404
Xen ondersteunt balonen. Voeg hier standaard swapping aan toe en je hebt al minstens 2 overcommit mechanismen. Dit is zo oud als 2008: blog.xen.org/index.php/2008/08/27/... - dyasny
@dyasny waar je waarschijnlijk aan denkt overcommit omdat het een hoger maximum toestaat. AFAIK, de geaccepteerde betekenis is om aan de gasten meer geheugen toe te wijzen dan fysiek aanwezig is in de host, en dit is niet geïmplementeerd in Xen. Je kunt een gastballon niet leeg laten lopen (bijv. Meer geheugen geven) als je geen fysiek geheugen beschikbaar hebt in de host, en je kunt ook geen nieuwe gast starten als je al je hostgeheugen hebt toegewezen (tenzij je opblaast gastenballonnen draaien, waardoor het toegewezen geheugen feitelijk wordt verkleind, zodat u niets te veel gebruikt). - Luke404
@dyasny en daarnaast weet de hypervisor niet eens wat swap is, dus kan het geheugenpagina's niet uitwisselen. Gasten laten swappen omdat ze minder geheugen hebben dan ze zouden willen, is niet wat ik bel overcommit, het is gewoon eenvoudig geheugenbeheer binnen de gast wanneer je geheugen eruit haalt. - Luke404