Definice
Virtualizace je technika, při níž software vytváří oddělenou vrstvu mezi fyzickým hardwarem a operačními systémy, aplikacemi nebo úložištěm, takže jeden počítač může bezpečně hostit více izolovaných prostředí. Používá se v serverech, cloudu, vývoji i testování, protože zlepšuje využití zdrojů a zjednodušuje správu.
Proč virtualizace odděluje software od železa
Virtualizace řeší situaci, kdy je fyzický hardware drahý, těžko se přesouvá a často není využitý naplno. Vrstva virtualizace předstírá operačnímu systému nebo aplikaci, že má vlastní procesor, paměť, disk a síťovou kartu. Ve skutečnosti se o stejné fyzické zdroje dělí více prostředí, která mohou mít rozdílné operační systémy, konfigurace i životní cyklus.
Fyzický server díky tomu nemusí být svázaný s jednou rolí. Na jednom stroji může běžet databázový server, testovací Linux i starší Windows aplikace, aniž by se jejich knihovny a nastavení přímo míchaly. Správce může virtuální stroj zastavit, přesunout, zálohovat nebo obnovit snáz než celý fyzický počítač.
Hypervisor jako prostředník mezi VM a hardwarem
Hypervisor je software, který přiděluje virtuálním strojům procesorový čas, paměť, úložiště a síť. Virtuální stroj se z pohledu hostovaného operačního systému tváří jako běžný počítač, ale požadavky na hardware procházejí přes hypervisor. Moderní procesory často obsahují podporu, která některé operace zrychluje a zmenšuje režii.
Typ 1: přímo nad hardwarem
Typ 1, někdy označovaný jako bare-metal hypervisor, běží přímo na serveru bez běžného hostitelského systému. Tento model je typický pro datová centra, privátní cloudy a produkční infrastrukturu, kde je důležitá stabilita, řízení zdrojů a jasné oddělení virtuálních strojů.
Typ 2: nad hostitelským systémem
Typ 2 běží jako aplikace v běžném operačním systému, například na notebooku vývojáře. Tento model se hodí pro učení, testování instalací, spouštění jiného operačního systému nebo izolované experimenty. Výkon a spolehlivost závisí i na hostitelském systému, protože hypervisor není nejnižší vrstvou.
Izolace má cenu v paměti, disku i správě
Izolace virtuálních strojů je silnější než u běžných procesů, ale není zdarma. Každý virtuální stroj obvykle potřebuje vlastní operační systém, alokovanou paměť, obraz disku a bezpečnostní aktualizace. Přidělení příliš mnoha virtuálních CPU nebo paměti může vést k soupeření o zdroje a k horší odezvě všech zátěží na hostiteli.
Správce musí sledovat nejen využití uvnitř virtuálního stroje, ale také stav hostitele. Virtuální stroj může ukazovat volnou paměť, zatímco fyzický server už má problém s přetížením. Důležitá je také síťová izolace, práva k obrazům disků, šifrování záloh a plán obnovy po selhání.
Dva příklady z praxe
Testovací server bez dalšího železa
Vývojářský tým potřebuje ověřit migraci databáze před nasazením nové verze API. Správce vytvoří virtuální stroj se stejnou verzí systému jako v produkci, nahraje kopii anonymizovaných dat a před testem pořídí snapshot. Neúspěšný pokus lze vrátit během chvíle bez přeinstalace serveru.
virsh snapshot-create-as test-api before-upgrade
virsh snapshot-revert test-api before-upgradeCloudová instance pro e-shop
E-shop potřebuje před sezónní kampaní rychle přidat výkon pro aplikační servery. Cloudový poskytovatel spustí nové virtuální stroje z připraveného obrazu a připojí je za load balancer. Po skončení kampaně se instance vypnou, takže tým neudržuje nevyužitý fyzický server celý rok.
Příklady z praxe
Testovací server bez dalšího železa
Vývojářský tým potřebuje ověřit migraci databáze před nasazením nové verze API. Správce vytvoří virtuální stroj se stejnou verzí systému jako v produkci, nahraje kopii anonymizovaných dat a před testem pořídí snapshot. Neúspěšný pokus lze vrátit bez přeinstalace serveru.
virsh snapshot-create-as test-api before-upgrade virsh snapshot-revert test-api before-upgradeCloudová instance pro e-shop
E-shop potřebuje před sezónní kampaní rychle přidat výkon pro aplikační servery. Cloudový poskytovatel spustí nové virtuální stroje z připraveného obrazu a připojí je za load balancer. Po skončení kampaně se instance vypnou, takže tým neudržuje nevyužitý fyzický server celý rok.
Časté omyly
- MýtusVirtualizace je totéž co Docker.
- Ve skutečnostiVirtualizace typicky vytváří celý virtuální stroj s vlastním operačním systémem, zatímco Docker pracuje s kontejnery sdílejícími jádro hostitele. Kontejnery jsou často lehčí, ale neposkytují stejný model izolace jako samostatný virtuální stroj.
- MýtusVirtuální stroj je vždycky pomalý.
- Ve skutečnostiVirtuální stroj má určitou režii, ale moderní hardware a hypervisory ji u mnoha zátěží výrazně snižují. Skutečný problém bývá častěji špatné přidělení zdrojů, pomalé úložiště nebo přetížení hostitele.
Časté dotazy
- Proč se u virtualizace mluví o hypervisoru?
- Hypervisor je u virtualizace řídicí vrstva, která zprostředkuje přístup virtuálních strojů k fyzickému procesoru, paměti, disku a síti. Hostovaný operační systém pracuje s virtuálním hardwarem, zatímco hypervisor rozhoduje, kdy a jak se požadavky převedou na skutečné zdroje. Kvalita hypervisoru ovlivňuje výkon, izolaci, možnosti přesunu virtuálních strojů i obnovu po selhání.
- Kolik virtuálních strojů se vejde na jeden fyzický server?
- Počet virtuálních strojů na jednom serveru závisí na typu zátěže, velikosti paměti, rychlosti úložiště, síti a rezervách pro hostitele. Lehký testovací systém může spotřebovat málo prostředků, zatímco databáze s vysokým provozem může zabrat většinu serveru sama. Praktické plánování proto vychází z měření, limitů a požadované dostupnosti, ne z univerzálního čísla.
- V čem virtualizace dává větší smysl než kontejnery?
- Virtualizace dává větší smysl než kontejnerizace, když aplikace potřebuje vlastní operační systém, silnější oddělení prostředí nebo provoz odlišných systémů na stejném hardwaru. Virtuální stroj je vhodný i pro starší software, specifické ovladače, bezpečnostní hranice mezi týmy nebo testování instalace celého systému. Kontejner bývá lehčí, ale sdílí jádro hostitele.
- Může virtualizace zvýšit bezpečnost infrastruktury?
- Virtualizace může zvýšit bezpečnost tím, že oddělí systémy do samostatných virtuálních strojů a usnadní obnovu ze snapshotu nebo zálohy. Bezpečnost ale není automatická. Špatně nastavená síť, zranitelný hypervisor, uniklé obrazy disků nebo nadměrná práva správce mohou vytvořit vážné riziko. Virtuální stroj je bezpečnostní hranice, ne náhrada aktualizací a řízení přístupů.
Zdroje
- Virtualization documentation(otevře se v novém okně)
- KVM(otevře se v novém okně)
- Amazon EC2 FAQs(otevře se v novém okně)
- Virtualization(otevře se v novém okně)