- Jste zde:
- Úvodní stránka
- O firmě
- Články
- Virtualizujeme, ale proč?
Virtualizujeme, ale proč?
20. 06. 2015
Proč je dnes virtualizace tématem číslo jedna v IT a proč se tak často skloňují pojmy jako je virtualizace serverů, vmware vsphere? Je to způsob, jak ušetřit náklady na provoz informačních systémů ve společnosti, jak levně a spolehlivě spravovat vaše prostředí, jak se oprostit od závislosti na hardware a věčného koloběhu "nový software chce nový hardware a naopak". Nezávisle na velikosti firmy se investice do virtualizace vrací dříve než za dva roky a to nepočítáme zásadní rozdíl ve spravovatelnosti, zvýšení dosažitelnsti infrastruktury a snížení rizika výpadku.
Pokud se nás někdo zeptá, jaká jsou negativa virtualizace, musíme po pravdě přiznat, že kromě faktu, že prodáváme méně hardware, žádná.
Společnost VMWare jako první přišla na to, jak virtualizovat počítač s architekturou x86. Dnes jsou její produkty vyspělé, neuvěřitelně spolehlivé a díky výhodám, které nabízejí, je používají všechny společnosti z žebříčku Fortune 100 a 98% společností z Fortune 1000.VMWare nabízí celou škálu produktů virtualizace, zde se zaměříme na popis produktů pro virtualizaci serverů, které se souhrnně nazývají v nové verzi vSphere (dříve Virtual Infrastructure).
Hypervisor
Jádro tvoří samotný hypervisor ESXi, který běží na hardwaru - nepoužívá tedy jiný operační systém, ať už Windows nebo Linux. Tento hypervisor umožňuje provoz virtuálních počítačů, kterým vytváří prostředky (procesor, paměť, disky, CD/DVD atd.). Umí také vytvořit virtuální ethernetový switch (nebo více switchů), který umožňuje komunikaci virtuálních počítačů navzájem a po připojení jedné nebo více síťových karet hostitelského systému i komunikaci s vnějším světem.
Správa – vytváření a ovládání virtuálních počítačů a přidělování prostředků – se děje pomocí webové konzoly.
Tím jsme se dostali k jednomu ESXi serveru (říkáme ESXi host), na kterém běží několik virtuálních strojů, a jeho ovládací konzole. Jenže to není zdaleka vše, co virtuální infrastruktura VMWare umí.
vCenter
Pokud připojíme několik počítačů s VMWare ESXi ke společnému diskovému úložišti (síť typu SAN, ať už se jedná o Fibre Channel nebo iSCSI), dostaneme další možnosti. Aby se výpočetní prostředky jednotlivých ESXi serverů logicky spojily, a také aby se daly přehledně ovládat, k tomu slouží softwarová komponenta, vCenter. vCenter řeší centralizovanou správu ESXi hostů, evidenci virtuálních strojů „pod jednou střechou“, sběr statistických dat a další činnosti jako je HA, vMotion nebo DRS, které si popíšeme za chvilku. Stejná správcovská konzola, VI Client, pak komunikuje s VirtualCentrem a ne s jednotlivými ESXi hosty.
Zde se již dostáváme k vychytávkám, které v prostředí fyzických serverů naprosto nejsou možné. Můžeme si vytvořit virtuální server, třeba Windows 2012, a použít ho jako šablonu – prostým naklonováním pak vytvoříme během několika minut třeba čtyři Windows 2012 servery, na jeden nainstalujeme třeba doménový řadič, na druhý Exchange atd. U čtyř fyzických serverů je to čtyřikrát instalace (včetně ovladačů pro hardware) a stahování aktualizací, jinými slovy hodiny místo minut.
Vysoká dostupnost
Kromě toho, pokud k obrazu virtuálního stroje na diskovém poli může přistupovat přes síť typu SAN několik ESXi hostů, není problém virtuální počítač spustit na jednom či druhém ESXi hostu. Tento proces lze automatizovat, pokud jeden ESXi host například vypadne, virtuální stroj je automaticky nastartován na jiném ESXi hostu. Odstávka virtuálního serveru pak trvá pouze tak dlouho, jak dlouho trvá nastartování operačního systému včetně příslušných služeb. U fyzického stroje by to znamenalo instalaci OS, instalaci aplikací, konfigurace, obnovu ze zálohy, zkrátka – v nejlepším případě mnoho hodin práce (a to když se všechno podaří). Tento mechanismus se v prostředí VMWare nazývá HA (High Availability). VirtualCenter se stará nejen o zjištění, že se některý ESXi host a na něm běžící virtuální stroje nehlásí, ale také o rozdělení, který virtuální stroj přidělí na který zbývající ESXi host tak, aby byly zajištěny prostředky pro jeho spuštění (paměť, procesorový výkon, aby byl připojen ke stejné síti atd.)
vMotion a dlaší technologie
Společnost VMWare však došla ještě dál, a vyvinula technologii, která umožňuje přesunout mezi jednotlivými ESXi hosty dokonce běžící virtuální stroj. Tato technologie se nazývávMotion a i technicky zdatným jedincům může připadat jako zázrak. Jak je něco takového možné?
Disky, které vidí virtuální počítač, jsou na sdíleném diskovém úložišti, takže je vidí oba ESXi hosty a mohou je virtuálnímu počítači zpřístupnit. Zbývá tedy přenést obsah paměti RAM a procesorových registrů. Obsah paměti běžícího virtuálního stroje je tedy za chodu zkopírován s tím, že veškeré zápisy do paměti hypervisor odchytí, zapíše si je „bokem“ a kromě toho si udělá bitovou mapu změněných stránek paměti. V okamžiku, kdy je přenesen základní obraz paměti, je virtuální počítač na starém ESXi hostu pozastaven, přenese se ještě bitová mapa změněných stránek a registry CPU (to je dohromady celkem málo dat, takže se jedná o zlomek sekundy) a řízení je předáno virtuálnímu stroji na novém ESXi hostu. Je vyslán speciální paket (reverzní ARP), který aktualizuje směrovací tabulky aktivních prvků, aby síťová komunikace správně našla svůj počítač, když najednou připojen na jiném portu. Na pozadí pak probíhá dokopírování změněných stránek paměti. V okamžiku, kdy by virtuální počítač sáhl do paměti, která byla změněna a není dosud dokopírována (což se pozná podle bitové mapy změněných stránek), je tato změněná stránka dokopírována přednostně a běh programu ve virtuálním stroji pokračuje již na aktuálních datech. Pokud z nějakého důvodu kopírování neproběhne úspěšně, je virtuální stroj ponechán na původním ESXi hostu.
Toto je samozřejmě zjednodušený popis, ve skutečnosti musí před zahájením operace VirtualCenter zkontrolovat řadu předpokladů, ať už se jedná například o připojení do stejné sítě (bylo by smutné, zaživa odmigrovat server, jen abychom zjistili, že se na novém ESXi hostu nedostane do sítě), nebo stejné vlastnosti CPU (mezi jednotlivými generacemi procesorů jsou rozdíly v instrukcích – MMX, několik generací SSE, VT...).
Tato technologie, jakkoliv geniální, může na první pohled působit jako samoúčelná hračka. Využívá ji však řada nadstavbových technologií, které jsou naopak vysoce užitečné.
Tak především je to DRS – Distributed Resource Scheduling. Běžící virtuální počítače kladou různé nároky na zdroje – výkon CPU, paměť atd.- tyto požadavky se navíc v průběhu času mění. Tak by se mohlo stát, že jeden ESXi host je přetížený, zatímco druhý, i když na něm běží třeba 6 virtuálních strojů, nedělá nic. Zde nastupuje DRS, který právě pomocí vMotion přesune vituální stroje tak, aby výpočetní prostředky byly rovnoměrně využity.
Další technologií využívající vMotion je APM – Advanced Power Management. Typicky v noci, kdy je zátěž serverů nižší, jsou virtuální servery odmigrovány z jednoho nebo více ESXi hostů a tyto uvolněné stroje se pak vypnou. Když se zátěž opět zvýší, vypnuté stroje se dálkově zapnou, nabootují ESXi hypervisor a vMotion na ně opět přesune virtuální počítače tak, aby se zátěž rozdělila.
V neposlední řadě také tato technologie zjednodušuje údržbu – je-li potřeba vysát prach, vyměnit ventilátor či přidat paměť, odmigrují se běžící virtuální stroje pryč a ESXi host se vypne.
Mezi další užitečné technologie patří například Transparent Page Sharing, tedy transparentní sdílení stránek. Firmy mají typicky tendenci používat na svých serverech určitou verzi operačního systému, například Windows Server 2003. To ale znamená, že několik virtuálních serverů používá hodně podobný kód, spousta standardních DLL knihoven je stejná. VMWare inteligentně rozezná tyto společné bloky kódu a pokud jsou pro více virtuálních strojů společné, jsou ve fyzické paměti pouze jednou. Pokud ovšem některý server do takového identického bloku paměti něco zapíše, a jiný ne, tyto obsahy by se lišily. VMWare to řeší tak, že v případě zápisu vytvoří kopii, ze sdílené stránky jsou nyní dvě samostatné stránky. Je neuvěřitelné, kolik paměti toto dokáže ušetřit. Pro zákazníka to znamená možnost spouštění více virtuálních strojů na stejném hardwaru.