Dva tarify VPS na jedné stránce. Čtyři vCPU, 8 GB RAM, 160 GB úložiště, téměř stejná cena. U jednoho stojí KVM. U druhého OpenVZ. Ani jedna stránka nevysvětluje, co to slovo mění.
Mění to, co smíte spustit. Typy virtualizace VPS nejsou jen poznámka pod čarou o výkonu. Rozhodují o tom, zda ovládáte jádro, zda je možný Windows a zda Docker funguje bez zásahu poskytovatele. KVM vs. OpenVZ vs. LXC je nejdřív otázka schopností a teprve pak otázka rychlosti.
Tento průvodce se věnuje třem označením, která jsou pro toto nákupní rozhodnutí nejdůležitější. Xen, VMware, Hyper-V a další virtualizační platformy existují, ale do tohoto trojího srovnání nepatří.
Stručně
- KVM dává každému VPS vlastní jádro hosta. Docker běží normálně, Windows je technicky možný a obvykle můžete načítat moduly jádra nebo nabootovat vlastní jádro. Samotný KVM však negarantuje vyhrazený CPU ani RAM; závazky ohledně zdrojů stále závisejí na poskytovateli a tarifu.
- OpenVZ tarify VPS jsou obvykle linuxové kontejnery sdílející jádro hostitele. Docker může v OpenVZ 7 běžet jen tehdy, když poskytovatel použije kompatibilní jádro a konfiguraci šablony. Jádro hostitele nevyměníte a paměť nad rámec RAM se řeší přes VSwap řízený poskytovatelem, nikoli běžným diskovým swapem spravovaným hostem.
- LXC také sdílí jádro hostitele, ale staví na mechanismech izolace hlavního linuxového jádra. Docker může běžet, pokud hostitel povolí potřebné funkce, i když Proxmox doporučuje vnořit kontejnery do virtuálního stroje QEMU u zátěží vyžadujících maximální izolaci a živou migraci.
- Kontejnery se obvykle snáz mění za běhu. I KVM může podporovat hot-plug CPU a paměti, takže "KVM vždy vyžaduje restart" není spolehlivé nákupní pravidlo. Zeptejte se poskytovatele, co jeho platforma skutečně podporuje.
- U statického webu nebo malého LAMP stacku, který nikdy nepotřebuje Docker, Windows ani úpravy na úrovni jádra, může být praktický rozdíl malý. Izolace, životní cyklus a politika zdrojů se přesto mohou lišit.
Jediný rozdíl, z něhož plynou všechny ostatní
KVM dává každému VPS na hostiteli vlastní jádro hosta. Kontejnery OpenVZ a LXC používají jádro nabootované hostitelem.
KVM je plnohodnotné virtualizační řešení pro hardware x86 s virtualizačními rozšířeními. Do hlavního linuxového jádra byl začleněn od verze 2.6.20. Každý host vidí virtuální hardware a bootuje vlastní operační systém i vlastní jádro.
Kontejnerové typy fungují jinak. LXC je uživatelské rozhraní pro mechanismy izolace linuxového jádra, včetně jmenných prostorů, cgroups, capabilities, seccomp a bezpečnostních profilů. Cílem je prostředí blízké běžné instalaci Linuxu bez bootování samostatného jádra.
Kontejner OpenVZ se drží stejného obecného modelu sdíleného jádra, i když OpenVZ používá vlastní platformu a vlastní jaderný stack. OpenVZ 7 umí spravovat kontejnery i virtuální stroje KVM, ale pokud je běžný tarif VPS označen jako "OpenVZ", prodává se obvykle kontejnerový typ.
Všechny níže uvedené rozdíly ve schopnostech z toho vyplývají. Modul jádra se musí načíst do jádra, které ovládáte. Jiný operační systém potřebuje jiné jádro. Docker potřebuje jmenné prostory na úrovni jádra, a ty musí být dostupné tam, kde sídlí samotné jádro. Na straně KVM této hranice se vrstva hypervizoru řídí architekturou, která se běžně dělí na hypervizory typu 1 a typu 2.
LXC se často objevuje v prostředích Proxmox, včetně vlastnoručně spravovaných serverů a některých hostingových platforem. Zda můžete zapnout pokročilé funkce LXC, závisí na tom, kdo daného hostitele ovládá.
Co vám každý typ dovolí spustit
Osy, které rozhodují o nákupu, jsou kontrola nad jádrem, podpora hostovaného operačního systému, kompatibilita s Dockerem, chování paměti, změna velikosti a politika zdrojů.
| Schopnost | KVM | OpenVZ | LXC |
|---|---|---|---|
| Docker | Ano, nativně | Podmíněně: pouze OpenVZ 7 a poskytovatel musí použít šablonu EZ nebo vhodnou vlastní šablonu spolu s potřebnými funkcemi jádra hostitele | Podmíněně: hostitel musí povolit vnořování a keyctl |
| Vlastní jádro nebo načítatelné moduly | Obvykle ano | Ne, svázáno s jádrem hostitele | Ne, sdílí jádro hostitele |
| Windows jako hostovaný OS | Ano, pokud poskytovatel podporuje image a licenční cestu | Ne, pouze Linux | Ne, pouze Linux |
| Moduly jádra pro VPN (WireGuard, OpenVPN) | Řízeno hostem | Závisí na poskytovateli: TUN/TAP musí být zpřístupněn | Závisí na poskytovateli: závisí na funkcích jádra povolených na hostiteli |
| Správa swapu | Řízeno hostem | VSwap spravovaný hostitelem místo běžného diskového swapu | Politika hostitele, moderní cgroup v2 |
| Změna zdrojů za běhu, bez restartu | Závisí na platformě, hot-plug CPU a paměti je možný | Často možné | Často možné |
| Záruka vyhrazených zdrojů | Není samozřejmá, rozhoduje politika poskytovatele | Není samozřejmá a hustota kontejnerů usnadňuje přeprodej | Není samozřejmá |
Který si vybrat? KVM je nejčistší odpověď, když potřebujete Windows, vlastní jádro, moduly načítané hostem nebo předvídatelný hostitel pro Docker. OpenVZ a LXC mohou být efektivní linuxová prostředí, ale rozhodnutí na úrovni jádra nechávají na poskytovateli.
Tohle je mapa schopností, ne benchmark. Neříká nic o latenci úložiště, kvalitě sítě, generaci CPU, vytížení hostitele ani o tom, jak poskytovatel přiděluje zdroje. Dva poskytovatelé se stejným typem virtualizace mohou dodat velmi odlišné stroje.
Právě na podmíněných buňkách ztrácejí kupující čas. Jednou jsem nasazoval VPN na kontejnerovém VPS, kde potřebná síťová funkce na straně hostitele nebyla zpřístupněna. Rozhraní se nechtělo zvednout a náprava si vyžádala tiket na podporu místo změny konfigurace uvnitř hosta. U kontejnerového tarifu se ptejte, zda poskytovatel zpřístupňuje přesně to zařízení nebo tu funkci jádra, kterou vaše VPN potřebuje. U KVM to obvykle řídíte uvnitř hosta sami.
Proč je Docker otázkou, která rozhoduje o většině nákupů
Kontejnerový VPS versus KVM VPS přestává být abstraktním srovnáním ve chvíli, kdy se ve vašich požadavcích objeví Docker. Docker sám používá jmenné prostory jádra, cgroups, síť a úložné ovladače. Uvnitř KVM tyto funkce patří jádru hosta, které ovládáte. Uvnitř OpenVZ nebo LXC nakonec závisejí na hostiteli.
Docker na OpenVZ
Podpora Dockeru na OpenVZ je rozhodnutí o provisioningu, které padá nad vámi. Jeden článek podpory SolusVM uvádí, že Docker může uvnitř OpenVZ 7 běžet od určitého vydání jádra řady 3.10, ale zároveň říká, že Docker nefunguje se standardními staršími předpřipravenými šablonami. Kontejner musí použít šablonu EZ nebo vhodnou vlastní šablonu. Tentýž článek vylučuje hosty s CentOS 8.
Funguje tedy Docker na OpenVZ? Někdy. Poskytovatel musí službu postavit na kompatibilním jádru OpenVZ 7 a na vhodné cestě šablon. Pokud to stránka tarifu neuvádí jasně, zeptejte se před nákupem podpory a odpověď si nechte písemně.
Když je konfigurace hostitele nekompatibilní, změna přepínačů Dockeru uvnitř VPS základní problém nevyřeší. Je potřeba, aby poskytovatel změnil konfiguraci kontejneru nebo vás přesunul na jiný typ virtualizace.
Docker na LXC
Docker může běžet uvnitř LXC, pokud hostitel zpřístupní potřebné funkce. V Proxmoxu k tomu obvykle patří vnořování kontejnerů a keyctl pro neprivilegované kontejnery.
Důležitějším nákupním signálem je doporučení tvůrce platformy. Dokumentace Proxmoxu uvádí, že vnořování kontejnerů do virtuálního stroje QEMU v Proxmoxu zůstává doporučenou praxí u případů použití, které vyžadují maximální izolaci a živou migraci, místo jejich přímého běhu v systémovém kontejneru LXC.
Pokud hostitele LXC ovládáte vy, můžete tento kompromis vyhodnotit a testovat aktualizace ve vlastním tempu. Pokud si LXC VPS pronajímáte, jádro, bezpečnostní profil i pokročilé přepínače funkcí ovládá poskytovatel. Nechte si podporovanou konfiguraci potvrdit, místo abyste předpokládali, že root uvnitř kontejneru stačí.
Docker na KVM
Docker běžně funguje, protože linuxový host ovládá vlastní jaderné prostředí. Nad hostem není žádný přepínač vnořování LXC ani požadavek na šablonu OpenVZ. Pořád ale potřebujete podporovanou linuxovou distribuci, kompatibilní jádro a dost RAM i úložiště pro danou zátěž.
Vlastnit jádro hosta znamená také se o něj starat. Na nespravovaném VPS zůstávají aktualizace, pravidla firewallu, zabezpečení Dockeru i zálohy na vás.
Klíčový poznatek: Docker nedělá z OpenVZ ani LXC nemožnou volbu, ale činí z konfigurace poskytovatele součást spolehlivosti vaší aplikace. U pronajatého produkčního hostitele pro Docker tuhle závislost navíc KVM odstraňuje.
Zda "4 vCPU" znamená čtyři vyhrazená jádra CPU
VPS, který působí pomale, zatímco jeho vlastní monitoring ukazuje nevytížený procesor, je nejčastěji popisovaný příznak. Umožňuje to kontejnerová virtualizace. Souboj o zdroje probíhá o vrstvu níž, než kam host vidí, takže jeho vlastní metriky nic špatného neukazují.
Mechanismem je sama nízká režie. Kontejner stojí hostitele mnohem méně než plnohodnotný virtuální stroj, takže se jich na stejný hardware vejde víc. Takovou hustotu je levné vytvořit a zevnitř hosta těžké odhalit, což přeprodej na OpenVZ strukturálně usnadňuje víc než na KVM. KVM poskytovateli nezabrání hostitele napěchovat. Vyhrazuje ale skutečnou paměť a skutečné podíly CPU na hosta, což pěchování dává aritmetický strop. Diagnostická stránka má vlastní návod na to, jak poznat, že váš poskytovatel přeprodává.
I paměť se chová jinak. Na OpenVZ nemůžete použít diskový swap jako dodatečnou paměť, takže číslo RAM na stránce tarifu je zeď, ne svah. Host na KVM se pod tlakem paměti zpomalí. Kontejneru na OpenVZ se pod tlakem paměti zabíjejí procesy.
Má to i důsledek pro izolaci a právě ten lidé podceňují nejvíc. Paměť kontejneru je z hostitele adresovatelná způsobem, jakým paměť hosta na KVM není. Šifrování disku uvnitř hosta vás pořád chrání před ukradeným diskem. Neochrání ale klíče běžícího kontejneru před strojem, který ho provozuje. Pokud do vašeho modelu hrozeb patří provozovatel hostitele, sdílené jádro je špatný základ. Žádná konfigurace uvnitř hosta to nezmění.
Klíčový poznatek: totéž číslo na stránce tarifu je podle typu jiným slibem. U KVM je to příděl. U OpenVZ je to strop, o který se dělíte.
Kde OpenVZ pořád dává smysl a kam směřuje
Pokud provozujete statický web nebo LAMP stack s malým provozem, možná se schopností, které OpenVZ omezuje, nikdy nedotknete. Žádný Windows, žádné vlastní jádro, žádný modul načítaný hostem a žádný produkční Docker. Pro takto úzkou zátěž dobře provozovaný kontejner OpenVZ pořád stačí.
Životní cyklus si žádá víc pozornosti než před deseti lety. OpenVZ 7 staví na jaderné větvi RHEL 7, verzi 3.10. Samotné číslo verze nedokazuje, že udržovanému podnikovému jádru chybí bezpečnostní opravy, protože dodavatelé záplaty zpětně portují. Znamená to ale, že byste měli ověřit kompatibilitu se softwarem, který očekává novější jaderná rozhraní.
The open-source OpenVZ project and the commercial Virtuozzo product are on separate tracks, and the commercial one has published dates. Virtuozzo Hybrid Server 7 reached end of maintenance in July 2024 and is listed for end of life in December 2027 in the oficiální politice životního cyklu.
Dnes fungující web na OpenVZ to nerozbije. Dělá to ale z migračního plánu poskytovatele důležitou věc, ještě než mu svěříte novou dlouhodobou zátěž. Zeptejte se, jaká verze OpenVZ nebo Virtuozzo běží, jak se doručují bezpečnostní opravy a jaká migrační cesta je k dispozici.
Pokud stránka tarifu typ virtualizace neuvádí, zeptejte se podpory, místo abyste jej odvozovali z ceny. Odpověď se vyplatí mít písemně.
Výběr podle zátěže
Vyjděte z požadavku, ne z technologie.
Zvolte KVM, když zátěž potřebuje vlastní jádro
KVM je přímá volba, když potřebujete cokoli z následujícího:
- Windows jako hostovaný operační systém
- Vlastní jádro
- Moduly jádra načítané hostem
- Produkční Docker bez závislostí typu kontejner v kontejneru
- Vnořená virtualizace, pokud ji poskytovatel zpřístupní
- Swap a ladění jádra pod kontrolou hosta
Windows je rozhodující, protože kontejnery OpenVZ i LXC používají linuxové jádro hostitele. Volba mezi Linuxem a Windows pro samotnou aplikaci je samostatná otázka, která se týká softwarové kompatibility, správy a licencí. Podívejte se na srovnání VPS s Linuxem a Windows k tomuto rozhodnutí.
Zvolte LXC, když chcete efektivní linuxový systémový kontejner
LXC dává smysl, když je zátěž čistě linuxová, nepotřebuje samostatné jádro a těží z nízké režie nebo z rychlých změn spravovaných hostitelem. Zvlášť užitečný je, když hostitele Proxmox nebo LXC ovládáte sami.
U pronajatého LXC VPS ověřte podporu Dockeru, potřebná zařízení, bezpečnostní režim, chování záloh a to, zda lze zapnout pokročilé funkce.
Zvažte OpenVZ u jednoduché, ověřené linuxové zátěže
OpenVZ může být pro základní web, malý LAMP stack, službu DNS nebo podobně běžnou linuxovou zátěž stále přijatelný, když:
- Poskytovatel dokumentuje verzi platformy.
- Váš software podporuje dostupné jaderné prostředí.
- Nepotřebujete Windows ani úpravy jádra.
- Docker je buď zbytečný, nebo výslovně podporovaný.
- Poskytovatel má věrohodný plán bezpečnosti a migrace.
- Cena nebo provozní model vám dává skutečný důvod ho zvolit.
Nevybírejte ho jen proto, že staré srovnání tvrdí, že OpenVZ je vždy levnější. Porovnejte současný tarif, podporu, politiku zdrojů a možnosti migrace.
Pokud vaše odpověď dopadla na KVM, rozhoduje omezení, ne preference. Služba KVM VPS od Cloudzy nabootuje za 60 sekund na AMD EPYC s čistým NVMe a každá instance dostane vlastní jádro hosta. Moduly jádra se načítají, vlastní jádra bootují a podporováni jsou hosté s Linuxem i Windows. Docker najdete v marketplace pokud si ho nechcete instalovat sami.
Časté dotazy
Můžu na OpenVZ VPS spustit Docker?
Jen pokud poskytovatel nastavil kompatibilní prostředí OpenVZ 7. SolusVM dokumentuje podporu na dostatečně nových jádrech OpenVZ 7 se šablonami EZ nebo vhodnými vlastními, zatímco standardní starší šablony nefungují. Dokud poskytovatel přesné nastavení nepotvrdí, považujte Docker za nepodporovaný.
Zvládne OpenVZ spustit Windows?
Ne, jako kontejner OpenVZ ne. Kontejner sdílí linuxové jádro hostitele. KVM hosta s Windows spustit umí, protože virtuální stroj bootuje vlastní jádro operačního systému, i tak ale musí poskytovatel podporovat image, ISO a licenční cestu.
Je LXC totéž co Docker?
Ne. LXC se běžně používá pro systémové kontejnery, které připomínají odlehčené linuxové stroje s init systémem a více procesy. Docker je platforma aplikačních kontejnerů postavená kolem obrazů a jednotlivých služeb. Oba využívají funkce linuxového jádra, jako jsou jmenné prostory a cgroups, a proto se pojmy někdy pletou.
Co je LXC VPS?
LXC VPS je linuxový systémový kontejner provozovaný přes LXC nebo platformu postavenou na LXC, například Proxmox. Vypadá a chová se hodně jako malý linuxový server, ale místo vlastního jádra sdílí jádro hostitele. Díky tomu je odlehčený, zároveň je ale omezená kontrola na úrovni jádra.
Jak zjistím, jaký typ virtualizace poskytovatel používá?
Podívejte se na stránku tarifu nebo se zeptejte podpory. Uvnitř linuxové instance prostředí často rozpozná tento příkaz:
systemd-detect-virt
Může vrátit hodnoty jako kvm, openvz, nebo lxc. Detekce zevnitř hosta je užitečná, ale před nákupem zůstává lepším zdrojem písemná specifikace poskytovatele.
Zaručuje KVM vyhrazený CPU a RAM?
Ne. KVM podporuje přeplňování CPU i paměti. Poskytovatel může nabízet rezervované zdroje, sdílené zdroje nebo jejich kombinaci. Hledejte výslovné formulace jako vyhrazená RAM, připnutý CPU, rezervovaná vCPU nebo bez přeplňování, místo abyste předpokládali, že to zaručuje hypervizor.
Je KVM vždy lepší volba?
Ne. KVM je jediná volba pro Docker, vlastní jádra a Windows, ale u zátěže, která se ničeho z toho nedotkne, je praktický rozdíl téměř neviditelný.

Diskuse
Komentáře
Přihlaste se a zapojte se do diskuse.