Xen vs. KVM, srovnání hypervisorů
V éře cloud computingu se hypervizory jako KVM a Xen staly důležitějšími než kdykoli předtím. Jak se ale tyto dvě virtualizační technologie liší? V našem srovnání Xen vs. KVM se podíváme na podobnosti a rozdíly mezi nimi.
Xen v kostce
Xen je open-source virtualizační software, který umožňuje současný provoz více hostovaných operačních systémů na jednom hostitelském počítači. Xen spravuje přidělování hardwarových zdrojů na hostitelském počítači.
Jaký typ hypervisoru je Xen?
Xen je hypervisor typu 1 (nebo bare metal). Tento typ hypervisoru se instaluje přímo na fyzický systém a komunikuje s hardwarem prostřednictvím vlastních ovladačů. Hostitelský a hostovaný operační systém jsou nainstalovány nad hypervizorem Xen. Aby bylo možné rozlišit mezi různými úrovněmi oprávnění, Xen kategorizuje nainstalované operační systémy do dvou různých domén: dom0 a domU. Hostitelský operační systém patří do domény dom0 a má nejvyšší úroveň oprávnění, zatímco všechny hostované operační systémy jsou klasifikovány jako systémy bez oprávnění a patří do domény domU.
Hostitelský operační systém nekomunikuje s hardwarem přímo prostřednictvím ovladačů, ale prostřednictvím hypervizoru pomocí specializovaného rozhraní Xen API. Tato hluboká integrace zajišťuje efektivnější využití hardwaru, menší režii a menší plochu pro útoky.
Jak Xen využívá paravirtualizaci ke zvýšení efektivity
Xen využívá k zvýšení efektivity virtualizační techniku paravirtualizace. Díky této technice hypervisor neemuluje hardwarové komponenty a hostované systémy si uvědomují, že pracují ve virtualizovaném prostředí. To umožňuje mnohem rychlejší komunikaci mezi hostovanými operačními systémy a Xenem, což vede ke zvýšení výkonu.
Tento přístup však závisí na specializovaných ovladačích a specifických vestavěných funkcích jádra operačního systému. Mnoho široce používaných jader operačních systémů, jako jsou Linux a BSD, již řadu let podporuje paravirtualizaci.
Pokud používáte operační systém, ve kterém není paravirtualizace možná nebo žádoucí, Xen podporuje také plnou virtualizaci (kdy jsou hardwarové komponenty virtuálně emulovány). Ačkoli to zpomaluje virtualizaci, poskytuje vysokou kompatibilitu a umožňuje provozovat operační systémy, které nepodporují paravirtualizaci, pod Xenem.
Jaké jsou klíčové vlastnosti KVM?
Stejně jako Xen je i KVM (Kernel-based Virtual Machine) open-source hypervisor, který uživatelům umožňuje spouštět více hostovaných operačních systémů na jednom fyzickém stroji. Ačkoli oba hypervisory slouží ke stejnému základnímu účelu, jejich architektonické provedení se liší a každý z nich je vhodný pro jiné použití.
Jaký typ hypervisoru je KVM?
V minulosti byl KVM často označován jako hypervisor typu 2, protože mohl komunikovat s hardwarem pouze prostřednictvím ovladačů hostitelského operačního systému. KVM musel emulovat všechny hardwarové komponenty pro hostované systémy, což znemožňovalo paravirtualizaci.
KVM byl od té doby rozšířen o paravirtualizaci. Jeho způsob fungování se však liší od Xenu. Na rozdíl od Xenu není KVM nainstalován pod hostitelským operačním systémem, ale je přímo integrován do jádra Linuxu. KVM využívá softwarové komponenty systému Linux ke správě virtualizovaných systémů a jejich procesů.
V rámci KVM má každý hostovaný operační systém vlastní virtualizovanou sadu hardwaru, včetně síťových rozhraní, diskového úložiště a dalších typů hardwarových komponent. Pro urychlení plné virtualizace využívá KVM hardwarově podporovanou virtualizaci, která je již přítomna ve většině moderních procesorů.
Ne všechny komponenty procházejí v KVM úplnou virtualizací. Pro zvýšení výkonu spuštěných systémů a aplikací poskytuje KVM paravirtualizovaná rozhraní, která mohou přímo komunikovat s hypervizorem prostřednictvím rozhraní Virtio API. KVM používá paravirtualizaci převážně pro vstupní a výstupní zařízení, jako je síťové rozhraní. Proto se při diskusi o KVM často hovoří o částečné paravirtualizaci.
KVM vs. Xen, srovnání jejich výkonu
Hlavní rozdíl mezi těmito dvěma hypervizory spočívá v tom, kde v softwarové sadě fungují. KVM je integrován do jádra Linuxu a využívá hardwarově podporovanou virtualizaci k virtualizaci mnoha hardwarových komponent bez významného snížení výkonu. Primární rozhraní IO jsou paravirtualizována, což je pro většinu serverových aplikací pravděpodobně nejdůležitějším aspektem.
Xen je naopak tradičně instalován pod operačním systémem jako hypervisor typu 1. To znamená , že hypervisor sám spravuje distribuci hardwarových zdrojů. Teoreticky to umožňuje Xenu poskytovat efektivnější a výkonnější komunikaci s hardwarem. Ovšem díky ovladačům Virtio a hardwarově podporované virtualizaci je výkon KVM srovnatelný s Xenem.
Připojení CPU
Přestože se oba hypervizory vyznačují podobnou úrovní výkonu, nefungují ve všech scénářích stejně. Pokud jde o CPU pinning, KVM nabízí uživatelům větší výkon. Díky CPU pinning může KVM přiřadit fyzický procesor (nebo jádro procesoru) virtualizovanému procesoru, čímž zajistí výhradní využití pro daný virtuální systém. Z obou hypervizorů nabízí tuto funkci pouze KVM, což je zvláště výhodné pro aplikace náročné na CPU.
Výkon sítě
Z hlediska výkonu sítě má Xen náskok. I když oba hypervizory poskytují paravirtualizovaná síťová rozhraní, každý systém virtualizovaný pod KVM má své vlastní síťové zařízení. U Xenu všechny hostované systémy sdílejí jediné virtuální síťové rozhraní, což vede ke zvýšení efektivity.
Shrnutí
Otázka, který hypervisor je lepší, závisí na vašich požadavcích. Tržní lídr KVM je integrován do jádra Linuxu a nabízí možnost plné virtualizace. Tyto aspekty zásadně usnadňují jeho používání.
Díky plné paravirtualizaci však Xen teoreticky nabízí lepší výkon. Při výběru hypervisoru byste měli zohlednit zejména aplikace, které chcete virtualizovat, a úroveň svých zkušeností.
Hledáte alternativu hypervisoru, abyste mohli migrovat svou IT infrastrukturu do cloudu? Využijte službu migrace do cloudu od IONOS a užijte si cenově dostupné kvalitní služby a nejvyšší úroveň zabezpečení.