Typy virtualizace serverů – je lepší KVM nebo LXC?

Pokud zvažujete, který virtuální server vybrat, ale nevyznáte se v rozdílech mezi technologiemi, potom by vám tento článek mohl pomoct. Dozvíte se v něm, jaké základní typy virtualizace existují a jaký je rozdíl mezi KVM a LXC virtualizací.

Virtualizace KVM patří mezi ty nejoblíbenější.
JAN MŮČKA
  • JAN MŮČKA

  • 05. 02. 2020
  • 7 min čtení
Zkopirovat do schránky

Není VPS jako VPS a vyznat se ve všech parametrech a technických detailech není vždy jednoduché. Rozhodli jsme se proto přiblížit, jak funguje samotná virtualizace, přičemž se zaměříme na KVM a LXC, které používáme v MasterDC pro virtuální servery s operačním systémem Linux. Než ale přejdeme ke konkrétním technologiím, tak si nejprve vysvětlíme, jaké typy virtualizace vlastně existují a jaké jsou jejich obecné výhody a nevýhody.

Typy virtualizace

Druhů virtualizace je hned několik a liší se především svým rozsahem a úrovní, na které je virtualizace prováděna, což má zásadní vliv na vlastnosti VPS jako je například škálovatelnost nebo kompatibilita operačního systému. Pro účely tohoto článku nám postačí představit základní dva typy – plnou virtualizaci a virtualizaci na úrovni operačního systému. Existují sice ještě nejrůznější typy částečných virtualizací, které virtualizují jen některé instance hardwaru (paměť, procesor, síťová karta), těm se ale v článku věnovat nebudeme.

Srovnání základních typů hypervizorů

Grafické znázornění plné virtualizace (vlevo) a virtualizace na úrovni operačního systému (vpravo).

Plná neboli nativní virtualizace je virtualizací v pravém slova smyslu. Její klíčovou komponentou je hypervizorHypervizorHypervizor umí virtualizovat hardware do izolovaných virtuálních strojů.více, který monitoruje a řídí běh virtualizovaných serverů přímo na úrovni hardwaru. Lze si ho představit jako hlavního arbitra, který jednotlivým virtuálním serverům přiděluje výkon a paměť fyzického serveru a zároveň tyto virtuální servery od sebe odděluje.

Operační systém se v tomto případě nachází ve vrstvě nad hypervizorem a díky tomu dovoluje na jednotlivých virtualizovaných strojích spouštět různé nemodifikované operační systémy, což je jedna z hlavních výhod plné virtualizace. Naopak nevýhodou jsou poměrně vysoké režijní nároky. Samotný provoz hypervizoru můžet totiž spotřebovat až 20 % výkonu fyzického serveru. Typickým příkladem plné virtualizace jsou různá řešení od VMware.

Virtualizace na úrovni operačního systému, která vytváří tzv. kontejnery, také umožňuje běh několika oddělených virtuálních strojů na jednom fyzickém serveru. Hlavním rozdílem je, že tyto virtuální stroje běží na jednom sdíleném jádru operačního systému, takže i operační sytém jednotlivých virtuálních strojů (kontejnerů) musí mít stejné jádro. Aplikace pro vytváření virtuálních strojů je tak nad vrstvou s operačním systémem.

Výhodou virtualizace na úrovni operačního systému je především efektivnější využití výkonu a kapacity fyzického serveru než v případě plné virtualizace. Aplikace pak, podobně jako hypervizor, přiděluje kvóty na disku, paměť a prioritizuje procesorový čas. Další důležitou výhodou je možnost izolace kontejneru a následné nasazení v různých prostředích. Představiteli tohoto typu virtualizace jsou například OpenVZ, Docker nebo LXC. 

Za KVM virtualizací stojí přední softwarové společnosti

KVM hypervizor byl původně vyvíjen izraelským startupem Qumranet. V září roku 2008 ho ale za 107 milionů dolarů koupil Red Hat, světová jednička v linuxových řešeních pro komerční sféru. Zkratka KVM znamená Kernel-based Virtual Machine, což můžeme volně přeložit jako “virtualizace na úrovni jádra”. Název tak odkazuje na mechanismus virtualizace, který KVM využívá – jedná se o modul, který umožní linuxovému jádru fungovat jako hypervizor.

Na jedné straně je tak nutné, aby byl operační systém již nainstalovaný, na straně druhé tento operační systém vlastně sám funguje jako hypervizor. Různé zdroje se proto vždy neshodují, o jaký typ virtualizace se jedná. Většina se ale přiklání k názoru, že KVM odpovídá plné virtualizaci, protože nainstalované jádro původního operačního systému se chová jako hypervizor. Odpovídá tomu i jedna z klíčových vlastností plné virtualizace – na KVM je totiž možné spouštět nemodifikované operační systémy.

KVM virtualizace

Architektura KVM virtualizace. Zdroj: Freecodecamp.org

Jako svobodný software lze KVM používat na různých linuxových distribucích, jako například CentOS, Ubuntu nebo Debian. Pokud ale chcete virtualizovat fyzický server s operačním systémem Windows, je nutné sáhnout po jiném hypervizoru.

Nakonfigurujte si VPS na míru

V Masteru víme, že na každém detailu záleží, a proto nabízíme možnost upravit si VPS přesně podle vašich potřeb. Chtěli byste větší RAM? Více CPU? Nebo vám vyhovuje jiný operační systém? V konfigurátoru si zvolíte vyhovující parametry na míru svému projektu.

VPS hosting

Podpora Dockeru, bezpečnost a další výhody KVM virtualizace

Jednou z hlavních výhod KVM virtualizace je, že podporuje Docker. Na VPS s KVM virtualizací tak snadno vytvoříte kontejnery pro projekty, u kterých je potřeba, aby byly od sebe navzájem izolované. VPS s podporou Dockeru je ideální řešení pro vývojáře, protože umožňuje vysokou portabilitu a snadnější škálování. Více se o Dockeru můžete dočíst v našem článku o tom, jak fungují kontejnery a proč je chtít.

Jelikož je KVM součástí linuxového jádra, dokáže velmi efektivně měnit velikost RAM pro jednotlivé virtuální stroje, a to téměř bez zpomalení běžících procesů. Další důležitou vlastností je možnost dynamické migrace. To znamená, že jednotlivé virtuální systémy lze přesunout, aniž by došlo k přerušení jejich činnosti.

KVM virtualizace díky linuxovému základu také nabízí vysokou míru bezpečnosti, kterou lze za pomoci různých doplňků ještě o něco zvýšit. Příkladem může být SELinux, který nabízí mimo jiné šifrování nebo kontrolu přístupu.

V neposlední řadě je také nutné zmínit neustálé vylepšování KVM hypervizoru. Zatímco ve svých začátcích si rozuměl pouze s platformu Linux x86, dnes už se podporované platformy počítají na desítky. KVM hypervizor je také označován jako jeden z nejstabilnějších a nejspolehlivějších na trhu. V tomto ohledu hraje velkou roli spolupráce Red Hatu s dalšími významnými společnostmi, které se zabývají vývojem softwaru, jako je třeba IBM, Intel nebo NetApp.

LXC virtualizace má nízké režijní požadavky

Technologie LXC virtualizuje servery na úrovni operačního systému, je proto označována jako tzv. light-weight virtualizace. Oproti plné virtualizaci šetří paměť i výkon procesoru, protože samotná režie celého virtualizačního procesu má velice malé požadavky. Z toho důvodu lze také snadněji a rychleji vytvářet nové virtuální stroje (kontejnery) než v případě plné virtualizace.

Technologie LXC, stejně jako KVM, přiděluje jednotlivým virtuálním strojům systémové prostředky fyzického serveru, který je virtualizován. Určuje například, jakou budou mít jednotlivá VPS operační paměť, velikost pevného disku nebo výkon procesoru. Stará se také o izolaci jednotlivých kontejnerů. Ta by měla zajistit, že pokud je některý z nich bezpečnostně ohrožen nebo napaden, nebude to mít vliv na chod ostatních. Oproti KVM je však míra zabezpečení nižší, což vyplývá ze samotného charakteru virtualizace. Plná virtualizace totiž izoluje jednotlivé virtuální stroje komplexněji než virtualizace na úrovni operačního systému.

LXC virtualizace

Architektura LXC virtualizace. Zdoj: livebook.manning.com

Další významnou nevýhodou pak je, že na serverech virtualizovaných za pomoci LXC nespustíte Docker, jelikož tato funkcionalita není oficiálně podporovaná.

Administrátorům pak usnadňuje práci open-source technologie Proxmox, která nabízí intuitivní webové rozhraní pro správu velkého množství serverů s LXC i KVM virtualizací.

Je vždy lepší vybrat VPS s KVM?

To samozřejmě záleží na typu projektu, který chcete na takovém virtuálním serveru spustit. Zásadní výhoda u KVM virtualizace je, že jednotlivé VPS využívají jádro vlastní linuxové distribuce a nemusí tak sdílet jádro operačního systému hostitelského serveru.

Také pokud potřebujete VPS rozdělit do izolovaných kontejnerů (třeba za pomoci Dockeru), bude lepší vybrat VPS s KVM virtualizací. Taková funkce se hodí zejména pro potřeby vývoje a testování aplikací, nebo kvůli spuštění několika webů, které chcete mít v izolovaném prostředí.

Za VPS s LXC virtualizací sice zaplatíte méně, ale musíte se smířit s tím, že jsou jeho možnosti vázané na kompatibilitu s operačním systémem hostitelského serveru. Jejich využití je tak značně limitované a hodí se spíše na menší projekty typu webhostingu. Obzvlášť pokud hodláte pro vkládání obsahu využívat CMS (redakční systém typu WordPress, Joomla! nebo Drupal). Většina CMS je totiž kompatibilní s virtualizační technologií založenou na kontejnerech.

Vyberte si ze široké nabídky VPS

V MasterDC nabízíme kromě KVM také VPS, které jsou virtualizované za pomoci technologie Hyper-V. Ta virtualizuje server na úrovni operačního systému a používáme ji výhradně pro Windows. Prohlédněte si kompletní nabídku našich virtuálních serverů a vyberte si ideální řešení pro svůj projekt.

Líbil se vám článek? Ano / Ne