Programování

Windows Server 2016 Hyper-V: Bezpečnější, ale ne rychlejší

S Windows Server 2016 společnost Microsoft představila dlouhý seznam vylepšení technologie Hyper-V. Spolu s funkčními doplňky, jako je podpora kontejnerů, vnořená virtualizace a zvýšené limity paměti a vCPU, najdete řadu nových funkcí, včetně kontrolních bodů na úrovni výroby a možnosti přidávání paměti a síťových adaptérů za provozu, které usnadňují správu.

Zdá se však, že hlavním cílem Microsoftu ve verzi 2016 Hyper-V bylo zlepšit zabezpečení. Ve skutečnosti bych šel tak daleko, že bych řekl, že novou funkcí zabijáka Hyper-V jsou stíněné virtuální počítače, které fungují s šifrováním BitLocker a opatrovnickou službou, aby zajistily, že virtuální stroje běží pouze na autorizovaných hostitelích.

Pokud by mě jedna funkce Hyper-V 2016 tlačila k upgradu, byla by to stíněná funkce VM. Schopnost přidělit více paměti virtuálním počítačům generace 2 a schopnost přidávat paměť a síťové adaptéry za provozu do virtualizačních hostitelů jsou také velkým lákadlem.

Jedna oblast Hyper-V 2016 se nemusí zlepšit, je výkon virtuálních počítačů. Ve skutečnosti moje testovací testy Sandra virtuálního počítače s Windows Server 2012 R2 na Hyper-V 2012 R2 versus Hyper-V 2016 naznačují krok zpět. Tyto výsledky bych v žádném případě nenazýval definitivními, ale mějte to na paměti, když začnete hodnotit Windows Server 2016 Hyper-V pro své vlastní pracovní vytížení.

Proces instalace Hyper-V

Pro účely této recenze jsem upgradoval stávající server Windows Server 2012 R2 na Windows Server 2016. Proces upgradu byl z větší části téměř totožný s procesem instalace systému Windows Server 2012 R2. Rozdíl spočíval v tom, že Průvodce instalací zobrazí varovnou zprávu, že upgrady systému Windows Server se nedoporučují, a měli byste provést čistou instalaci. Průvodce nastavením vám nezabrání v provedení upgradu na místě, ale musíte potvrdit varovnou zprávu kliknutím na tlačítko Potvrdit.

Posunul jsem se vpřed s procesem upgradu (i když jsem od té doby provedl několik čistých instalací), protože jsem chtěl vidět, co se stane. Kromě toho byl na serveru, který jsem upgradoval, spuštěna čistá instalace systému Windows Server 2012 R2. Nainstaloval jsem roli Hyper-V a vytvořil několik virtuálních strojů, ale nenainstaloval jsem žádný další software (kromě oprav Microsoft) nebo povolil abnormální nastavení konfigurace.

Proces upgradu na Windows Server proběhl velmi hladce. Všechna moje stávající nastavení operačního systému byla zachována a moje virtuální stroje zůstaly po upgradu funkční. Kromě toho se správce Hyper-V stále cítil úplně známý. Ačkoli společnost Microsoft představila řadu nových funkcí technologie Hyper-V v systému Windows Server 2016, správce technologie Hyper-V se změnil jen velmi málo. Správci s předchozími zkušenostmi s technologií Hyper-V se při používání nové verze budou cítit jako doma.

Postupné upgrady clusteru Hyper-V

I když jsem zpočátku provedl místní upgrade jednoho hostitele Hyper-V, Microsoft také podporuje postupné upgrady klastrovaných nasazení Hyper-V. To znamená, že servery se systémem Windows Server 2016 Hyper-V lze přidat do stávajících clusterů Windows Server 2012 R2 Hyper-V a v zásadě emulovat hostitele Windows Server 2012 R2 Hyper-V, což jim umožňuje plně se účastnit klastru. Virtuální počítače se systémem Windows Server 2012 R2 Hyper-V lze migrovat za provozu na uzly systému Windows Server 2016 Hyper-V, což umožňuje upgrade operačního systému klastru, aniž by byl některý z virtuálních počítačů offline.

V procesu psaní této recenze jsem nasadil tříuzlový klastr serverů Windows Server 2012 Hyper-V a poté přidal uzel Windows Server 2016 Hyper-V. Byl jsem schopen úspěšně se připojit k uzlu ke clusteru a živě migrovat virtuální počítače tam a zpět mezi dvěma různými verzemi Hyper-V. Stručně řečeno, postupný upgrade upgradovaného clusteru fungoval bezchybně.

Upgrade clusteru jsem dokončil v průběhu odpoledne, ale Microsoft umožňuje dlouhodobou koexistenci mezi verzemi Hyper-V v rámci clusteru. Dlouhodobá koexistence bude jistě jednodušší, když nyní Microsoft vylepšil Správce Hyper-V, takže jej lze používat současně s více verzemi Hyper-V. Ve Správci technologie Hyper-V v systému Windows Server 2016 můžete spravovat technologii Hyper-V také v systémech Windows Server 2012 a Windows Server 2012 R2.

Jedna nevýhoda nového správce Hyper-V: Protože společnost Microsoft nyní přináší aktualizace do služby Hyper-V Integration Services prostřednictvím normálního procesu správy oprav, zdá se, že byla odstraněna možnost nasazení integračních služeb. Instalace integračních služeb prostřednictvím služby Windows Update zní jako pokrok, ale nebylo by na škodu mít k dispozici starou metodu jako záložní řešení.

Všimněte si, že jakmile všechny vaše uzly clusteru používají Windows Server 2016 Hyper-V a aktualizovali jste funkční úroveň clusteru (záměrná administrativní akce, kterou provádíte přes PowerShell), ztratíte možnost přidat uzly Windows Server 2012 R2 do shluk. Po aktualizaci funkční úrovně klastru už není cesty zpět.

Stíněné virtuální stroje

I když v průběhu let bylo provedeno mnoho práce na ochraně virtuálních počítačů před vnějšími hrozbami, virtuální stroje (včetně těch na konkurenčních platformách, jako jsou VMware, Xen a KVM) zůstaly zranitelné vůči kompromisu nepoctivým správcem. Správci nic nebrání v tom, aby zkopíroval celý virtuální počítač na USB flash disk a vyrazil s ním ven. Jistě, dříve bylo možné šifrovat virtuální pevné disky, ale autorizovaný správce může snadno zrušit jakékoli šifrování na úrovni virtuálního počítače.

Ve Windows Server 2016 Hyper-V funkce stíněného virtuálního počítače šifruje disky a stav virtuálního počítače způsobem, který brání komukoli jinému než správci virtuálních počítačů nebo nájemců v zavedení virtuálního počítače nebo v přístupu k jeho obsahu. Tato funkce funguje tak, že využívá nové funkce Windows Serveru zvané Host Guardian Service, která obsahuje klíče k šifrování a dešifrování chráněných virtuálních počítačů.

Služba Host Guardian zkontroluje, zda je hostitel Hyper-V autorizován nebo „ověřen“ ke spuštění virtuálního počítače. To je pravda - správci mohou omezit stíněné virtuální počítače, takže se budou spouštět pouze na konkrétních hostitelích, kteří projdou atestačním testem. To znamená, že pokud by podvodní administrátoři zkopírovali stíněný virtuální počítač na flash disk, byla by kopie virtuálního počítače pro správce zbytečné. Virtuální počítač by nebyl schopen běžet mimo organizaci a jeho obsah by byl nepřístupný, protože klíče potřebné k dešifrování virtuálního počítače jsou chráněny službou Host Guardian.

Služba Host Guardian podporuje dva různé režimy ověřování, které se nazývají osvědčení důvěryhodné pro správce a osvědčení důvěryhodné pro TPM. Osvědčení důvěryhodné pro správce je jednodušší z obou režimů nasadit, ale zdaleka není tak bezpečné jako osvědčení důvěryhodné pro TPM. Hostitelé důvěryhodní pro správce jsou založeni na členství ve skupině zabezpečení služby Active Directory, zatímco důvěryhodní hostitelé TPM jsou založeni na identitě TPM a dokonce i na kontrole integrity bootování a kódu.

Kromě složitějšího procesu konfigurace má osvědčení důvěryhodné vůči TPM i některé hardwarové požadavky. Hlídaní hostitelé musí podporovat TPM 2.0 a UEFI 2.3.1 nebo vyšší. Naproti tomu osvědčení důvěryhodné pro správce nemá žádné významné hardwarové požadavky nad rámec těch, které jsou potřebné pro spuštění technologie Hyper-V.

Ačkoli se většina mediálního pokrytí týkajícího se zabezpečení Hyper-V 2016 zaměřila na stíněné virtuální počítače, společnost Microsoft představila další vylepšení zabezpečení. Například Hyper-V nyní podporuje Secure Boot pro některé virtuální počítače s Linuxem. Podle společnosti Microsoft podporované verze systému Linux zahrnují Ubuntu 14.04 a novější, Suse Linux Enterprise Server 12 a novější, Red Hat Enterprise Linux 7.0 a novější a CentOS 7.0 a novější.

Dalším významným vylepšením zabezpečení je podpora šifrování disků OS na bázi BitLocker ve virtuálních strojích 1. generace. Toto konkrétní vylepšení zabezpečení nezískalo velkou pozornost tisku, ale je významné kvůli počtu virtuálních počítačů generace 1 spuštěných v produkčních prostředích. Koneckonců, virtuální počítače generace 2 jsou podporovány pouze pro použití s ​​konkrétními hostujícími operačními systémy. Přestože se seznam podporovaných hostujících operačních systémů v průběhu let rozrostl, některá nasazení systému Linux, která by mohla běžně běžet na virtuálních počítačích generace 2, nadále fungují na virtuálních počítačích generace 1, jednoduše kvůli nemožnosti změnit verzi virtuálního počítače.

Windows kontejnery

Jednou z hlavních funkcí zavedených v systému Windows Server 2016 jsou kontejnery, kterých jsou dva typy. Kontejnery Windows Serveru sdílejí jádro OS s hostitelem (a jakýmikoli jinými kontejnery, které mohou na hostiteli běžet), zatímco kontejnery Hyper-V používají hypervisor a lehký hostující OS (Windows Server Core nebo Nano Server), aby poskytly vyšší úroveň izolace. Představte si kontejnery Hyper-V jako lehké virtuální stroje.

Doposud jsem strávil nějaký čas experimentováním s oběma typy kontejnerů. Moje hodnocení: I když se zdá, že kontejnery fungují tak, jak jsou inzerovány, s jejich používáním je spojena strmá křivka učení. Kontejnery musí být vytvořeny a spravovány na příkazovém řádku (na rozdíl od použití správce Hyper-V) pomocí syntaxe příkazu Docker, která se velmi liší od jiných prostředí příkazového řádku, jako je například PowerShell.

Myslím, že kontejnery se ukáží jako relevantní pro správce Windows, ale důrazně doporučuji trávit čas v laboratorním prostředí zvykáním si na Dockera a jeho mnoho nuancí před nasazením kontejnerů ve výrobě.

Otázky ohledně výkonu

Ve snaze otestovat výkon systému Windows Server 2016 jsem přivedl nový server online a spustil čistou instalaci systému Windows Server 2012 R2 Hyper-V. Tento server byl vybaven low-end, stárnoucím hardwarem, ale vzhledem k tomu, že cílem bylo zkontrolovat relativní výkon, nejmodernější hardware ve skutečnosti nebyl nutný.

S novým online serverem Windows Server 2012 R2 Hyper-V jsem vytvořil virtuální stroj 2. generace se systémem Windows Server 2012 R2. Hostitel i hostující operační systémy byly plně opraveny a můj testovací VM byl jediným virtuálním strojem přítomným na hostiteli.

Jakmile byl nový hostující operační systém funkční, nainstaloval jsem Sandru 2016 do virtuálního stroje, abych mohl srovnávat výkon virtuálního stroje. Zajímal jsem se především o výkon CPU, úložiště, paměti a sítě.

Se základní sadou metrik v ruce jsem upgradoval hostitele Hyper-V na Windows Server 2016. Společnost Microsoft odrazuje od místních upgradů, ale rozhodl jsem se provést jednu spíše než čistou instalaci, abych udržel své testovací prostředí konzistentní jako možné ve všech testech.

Po dokončení upgradu jsem spustil virtuální počítač, na kterém byl stále spuštěn Windows Server 2012 R2. Dále jsem se pokusil upgradovat Hyper-V Integration Services na virtuálním počítači, ale Microsoft odstranil možnost provést to ručně. Integrační služby jsou nyní dodávány prostřednictvím služby Windows Update.

Po úplném opravení hostitele Windows Server 2016 Hyper-V jsem zopakoval srovnávací testy ve snaze zjistit, zda nová verze Hyper-V přinese nějaké zvýšení výkonu. Ve skutečnosti se ukázal pravý opak. Můj virtuální počítač zaznamenal výrazné snížení výkonu.

Pro svůj závěrečný test jsem provedl místní aktualizaci hostujícího operačního systému na Windows Server 2016. Plně jsem opravil nový hostující OS a naposledy jsem zopakoval své srovnávací testy. Tentokrát se můj výkon virtuálního počítače do značné míry zlepšil, ale ne zcela na úroveň původního virtuálního počítače Windows Server 2012 R2 běžícího na hostiteli Windows Server 2012 R2, a několik testů vidělo další snížení výkonu.

Níže jsem uvedl metriky, které jsem porovnal, a výsledky.

Test Sandra 2016Hostitel Windows Server 2012 R2 a virtuální počítač Windows Server 2012 R2Hostitel Windows Server 2016 a Windows Server 2012 R2 VMHostitel Windows Server 2016 a Windows Server 2016 VM

Aritmetika procesoru (agregovaný nativní výkon)

27,73 GOPS

20,82 GOPS

26,31 GOPS

Šířka pásma kryptografie

435 MB / s

390 MB / s

400 MBps

Šířka pásma meziprocesoru procesoru

2,12 GB / s

2,08 GB / s

2 GB / s

Fyzické disky (skóre disku)

975,76 MB / s

831,9 MBps

897 MB / s

I / O systému souborů (skóre zařízení)

242 IOPS

238 IOPS

195 IOPS

Šířka pásma paměti (celkový výkon paměti)

10,58 GB / s

10 GB / s

10 GB / s

Propustnost transakce paměti

3 MTPS

3 MTPS

2,92 MTPS

Síť LAN (šířka pásma dat)

7,56 MBps

7,21 MB / s

7,16 MBps

Jak můžete vidět, podle mých testů Sandra se Windows Server 2012 R2 VM nepodařilo na Windows Server 2016 Hyper-V fungovat tak dobře jako v předchozí verzi Hyper-V. Každý test jsem spustil několikrát (zatímco hostitel byl nečinný) ve snaze zajistit, aby moje metriky byly přesné. Výkon virtuálního počítače se zlepšil, když byl hostovaný OS upgradován na Windows Server 2016, ale ne na úroveň hosta Windows Server 2012 R2 běžícího na Windows Server 2012 R2 Hyper-V.

Přirozeně byste měli tyto (a jakékoli další) srovnávací výsledky brát s rezervou. Referenční hodnoty ne vždy odrážejí realitu a tato zjištění představují pouze jednu sadu testů na jedné hardwarové konfiguraci. Dále jsem ochoten dát společnosti Microsoft výhodu pochybností, protože metriky byly zachyceny na hostiteli, který byl upgradován z předchozí verze systému Windows Server, spíše než na hostiteli, který spouští čistou instalaci.

Jediným smysluplným testem výkonu systému Windows Server 2016 Hyper-V budou vaše skutečné vytížení skutečného hardwaru. Vzhledem k výsledkům testů Sandra budete chtít pozorně sledovat výkon Hyper-V 2016.

$config[zx-auto] not found$config[zx-overlay] not found