Jak jsem psal v článku „Standardizace – děláme IT jako Baťa cvičky“, v minulosti naše firma stála před nutností sjednotit technologie. V té době jsme měli zákazníky na Microsoft Hyper-V, VMware vSphere a Citrix XenServer a museli jsme si vybrat jednu virtualizační platformu, na kterou „vsadit“ naši budoucnost. Dle nadpisu článku je jasné, že jsme si vybrali Hyper-V. Rád bych se s vámi podělil o 6 důvodů, „proč“ jsme si vybrali právě Hyper-V.
Než začnu, chci věci uvést do kontextu. Volba Hyper-V pramení z našeho prostředí (převážně standalone virtualizační servery nebo malé clustery s maximálně pár desítkami virtuálů, většinou s OS Windows Server, občas i různými linuxovými distribucemi), zkušeností a znalostí.
V článku nebudu dále zmiňovat Citrix XenServer, se kterým jsme měli vážné potíže (výkonové propady a poškozování síťové komunikace) a proto jsme jej vyloučili (měli jsme jej jen v jedné zděděné instalaci a je možné, že to prostě byla jen smůla).
Důvod č. 1) Jednodušší učení
Pokud již někdo umí pracovat s Windows Server, tak umí automaticky pracovat s Hyper-V. Hyper-V totiž není nic jiného než Windows Server s nainstalovanou rolí (samozřejmě se dá provozovat i bez GUI i v režimu příkazového řádku/powershellu).
Pro ladění a správu tak můžeme používat stejné nástroje, na které jsme zvyklí i z prostředí bez virtualizace: Event Viewer, Process monitor, Performance monitor, Windows Explorer. Ušetří se tak čas na zaučování a problémy se díky zkušenostem z Windows Server ladí rychleji.
Obrázek 1: Vlevo Windows Server bez Hyper-v. Vpravo pak s Hyper-V. (není zde žádný rozdíl 😊 )
U VMware je třeba se seznámit s Vmware ESXi (OS co se instaluje na virtualizačního hosta). Instalace naštěstí není složitá. Pokud se však objeví nějaké komplikace se stabilitou nebo výkonem … tak teprve začíná „zábava“ (je nutné se učit performance debugging a specifika tohoto OS).
Důvod č. 2) Jednoduché aktualizace (OS a firmware)
Aktualizovat Hyper-V je jednoduché. Jak jsem psal výše, je to Windows Server, tudíž se vše aktualizuje přes Windows Update. Zároveň pokud potřebujeme zaktualizovat firmware v serveru (např. kritický update PSU, UEFI, HDD, SSD, řadič disku), většina výrobců má aktualizační balíčky spustitelné přímo z Windows. Takže se udělá rychlý update FW (během něj vše stále produkčně jede) a pak následný rychlý restart.
Aktualizace u VMware mi tak „jednoduché“ nepřišly (viz jeden z jednodušších návodů https://tinkertry.com/easy-upgrade-to-esxi-650d ). Spousta lidi si myslí, že pro VMware aktualizace nejsou, resp. že jediné aktualizace jsou upgrade mezi verzemi (např. 6.0 na 6.5). Není tomu tak. I na VMware vychází v rámci řady aktualizace (např. ESXi 6.5 release history https://esxi-patches.v-front.de/ESXi-6.5.0.html ). Co se týče aktualizací FW, tak ty jsou podle toho co vím ve VMware nemožné. Je nutné použít bootovací update DVD, lifecycle controller, nebo provést update skrze nějaký remote management (iDrac, iLo, IMM). PS: Na jedné konferenci jsem se o FW aktualizacích dodatečně s někým bavil. Říkal, že prý výrobci vydávají své vlastní „balíčky“ VMware a ty prý obsahují i aktualizace firmware. Osobní zkušenost ale nemám.
Důvod č. 3) Propojení s UPS
Vždy propojujeme virtualizační servery s UPS (záložními zdroji).
- Zabránit ztrátě dat: virtuální servery i hostitel se musí při výpadku proudu korektně vypnout dříve, než se UPS úplně vybije.
- Minimalizovat dobu výpadku: servery se musí samy automaticky spustit, jakmile dojde k obnovení dodávky el. proudu. Díky tomu nemusíme řešit situace typu: proud vypadne po půlnoci, ranní směna začíná v 5 ráno, ale servery jsou stále vypnuté – je třeba vzbudit správce IT a než se vše nastartuje, směna už má 30 minut zpoždění.
U Hyper-V je toto jednoduché a dosažitelné téměř se všemi výrobci UPS.
U VMware se nám na standalone virtualizačních serverech nepodařilo přijít na to JAK. Rozjeli jsme to až s vCenter konzolí a pluginem od APC, k tomu je však třeba vCenter server a licence. Když jsme po půl roce ověřovali funkčnost, zjistili jsme, že to přestalo fungovat a bylo nutné plugin přeinstalovat.
Důvod č. 4) Již hotové monitorování
Již předtím jsme měli hotový monitorovací systém, kterým máme dohled nad všemi Windows Servery. Hlídáme zdraví HW, stavy UPS, nastavení systému (viz systém PREVENCE). Pro podporu Hyper-V nebylo třeba nic upravovat.
U VMware bychom museli podporu monitorování dodělávat (hledat nové SNMP OID pro jednotlivé HW komponenty serveru a výkonové ukazatele). Subjektivně bych i řekl, že z VMware bychom nebyli schopni dostat tolik informací jako z Windows.
Důvod č. 5) Úspornější nasazení
Zde vycházím z předpokladu, že: „každý server je třeba monitorovat a aktualizovat“ => více serverů = více potřebného času = vyšší náklady.
U všech našich zákazníků děláme zálohy serverů jak zvenku (myšleno z hypervizoru) tak i zevnitř (přímo z virtuálního serveru). Je to standard, který jsme si takto zavedli a je to důležitý prvek pro bezpečnost záloh (viz Zálohování – jak nepřijít o data při útoku hackera (praxe) ).
U Hyper-V jsem schopen mít nainstalovaný zálohovací SW přímo na hypervizoru. U VMware to však nejde (alespoň co jsem zjišťoval) a je třeba mít další (fyzický nebo virtuální) server a licenci pro VMware, abych mohl zálohovat virtuální servery zvenku.
Kvůli malým clusterům již nově u Hyper-V nepotřebuji mít dedikovanou Active Directory (tzn. další server), protože od Windows Server 2016 lze nově dělat „workgroup clusters“ (4 nodový cluster = 4 servery). Pro vytvoření VMware clusteru však potřebuji vCenter server (4 nodový cluster = 4+1).
Důvod č. 6) Drobnosti
Pár drobností, které mne napadají, ale nechci je uvádět zvlášť (když si na něco vzpomenu v budoucnu, doplním).
- Vzdálená správa:
- Hyper-V: vystačíme si s klasickým RDP, které je součástí všech OS Windows a dá se stáhnout i pro ostatní systémy (Linux, Android, iOS).
- VMware: naštěstí už má teď také jednotný nástroj – webového klienta. V době rozhodování mezi VMware a Hyper-V se však stále používal „tlustý“ vSphere klient, který bylo nutné mít ve stejné verzi jako VMware ESX(i) server. Takže měl pak každý nainstalované tři, čtyři verze tohoto klienta.
- Cena:
- Hyper-V: je zdarma v edici Windows Hyper-V Server (bez GUI). Pokud však máte alespoň jednu licenci Windows Server Standard, tak ta vás opravňuje mít nainstalován OS na fyzickém serveru (pouze pro účely provozu Hyper-V) a dvou virtuálních serverech v rámci jedné licence (licenci na plnou funkcionalitu má tedy v podstatě každý).
- VMware: má také verzi zdarma, ale s určitými limity (podle toho, co jsem dohledal: limit 8 jader na virtuál a bez API, SNMP i vMotion). Cena je naštěstí poměrně rozumná, dá se koupit balíček „VMware Essentials Kit for 3 hosts“ (cca 12k bez DPH + cca 1,6k roční support). Avšak pokud má zákazník server za 20 až 30 tisíc …
Své zkušenosti s VMware také sepsal na svém blogu „Max Devaine“ (ANO přiznávám, je to trochu voda na můj mlýn 😊).
Závěr
S rozhodnutím vsadit na Hyper-V jsme spokojeni. Sjednocením virtualizačních technologií se nám podařilo udělat zákazníky spokojenější a nám ušetřit práci, protože:
- jsme snížili množství problémů, které jsme řešili,
- kolegové se zaučují rychleji a rozumí technologii hlouběji,
- zjednodušila se nám dokumentace prostředí zákazníků.
Občas se u zákazníků setkáme se strachem z migrace. Bojí se, že pod Hyper-V jim nebudou fungovat jejich virtuální linuxové servery. Je pravda, že až do Windows Server 2012 byla podpora Linuxu nic moc. Avšak od té doby máme u řady zákazníků důležité linuxové severy (některé i jako gen2) na Hyper-V a vše šlape jako hodinky 😊.
Asi jste si všimli, že jsem v článku neporovnával pokročilé funkce VMware a Hyper-V. To z toho důvodu, že pro naše využití si vystačíme s „málem“, které zvládnou snad všechny virtualizační platformy. Navíc protože již několik let děláme pouze Hyper-V, tak už nemám přehled v tom, co nabízí VMware, a nerad bych vám tvrdil něco, co není pravda. Pokud vás napadá nějaká funkce, kterou má jedna platforma, ale nemá ji druhá, budu rád když mi to napíšete do komentářů.
Jaké máte zkušenosti vy? Používáte VMware, Hyper-V nebo nějakou jinou platformu? Setkali jste se už s nějakými neřešitelnými problémy?