Programovanie

Windows Server 2016 Hyper-V: bezpečnejší, ale nie rýchlejší

So systémom Windows Server 2016 predstavila spoločnosť Microsoft rozsiahly zoznam vylepšení technológie Hyper-V. Spolu s funkčnými doplnkami, ako je podpora kontajnerov, vnorená virtualizácia a zvýšené limity pamäte a vCPU, nájdete množstvo nových funkcií vrátane kontrolných bodov na úrovni výroby a možnosti rýchleho pridávania pamäte a sieťových adaptérov, ktoré uľahčujú správu.

Zdá sa však, že hlavným cieľom spoločnosti Microsoft vo vydaní Hyper-V 2016 bolo zlepšenie zabezpečenia. V skutočnosti by som išiel tak ďaleko, že by som povedal, že novou zabijáckou funkciou Hyper-V sú tienené VM, ktoré pracujú so šifrovaním BitLocker a strážnou službou, aby zabezpečili, že virtuálne stroje budú fungovať iba na autorizovaných hostiteľoch.

Ak by ma jedna funkcia Hyper-V 2016 tlačila na upgrade, bola by to tienená funkcia VM. Veľkým lákadlom je však aj schopnosť prideliť viac pamäte virtuálnym počítačom 2. generácie a schopnosť pridávať pamäť a sieťové adaptéry za tepla do hostiteľov virtualizácie.

Jednou z oblastí, ktorú Hyper-V 2016 nemusí vylepšiť, je výkon VM. Moje testovacie testy virtuálneho stroja Windows Server 2012 R2 na platforme Hyper-V 2012 R2 verzus Hyper-V 2016 v skutočnosti naznačujú krok späť. Tieto výsledky by som v žiadnom prípade nenazýval definitívnym, ale nezabudnite na to, keď začnete hodnotiť Windows Server 2016 Hyper-V pre svoje vlastné pracovné zaťaženia.

Proces nastavenia Hyper-V

Na účely tejto kontroly som inovoval existujúci server Windows Server 2012 R2 na Windows Server 2016. Proces inovácie bol z väčšej časti takmer identický s procesom inštalácie systému Windows Server 2012 R2. Rozdiel bol v tom, že Sprievodca nastavením zobrazí varovnú správu s informáciou, že inovácie systému Windows Server sa neodporúčajú, a preto by ste mali vykonať čistú inštaláciu. Sprievodca nastavením vám nezabráni vykonať miestnu aktualizáciu, ale musíte potvrdiť varovnú správu kliknutím na tlačidlo Potvrdiť.

Posunul som sa vpred s procesom aktualizácie (aj keď som odvtedy vykonal niekoľko čistých inštalácií), pretože som chcel vidieť, čo sa stane. Okrem toho na serveri, ktorý som inovoval, bola spustená čistá inštalácia systému Windows Server 2012 R2. Nainštaloval som si rolu Hyper-V a vytvoril som niekoľko virtuálnych strojov, ale nenainštaloval som žiadny ďalší softvér (okrem opráv od spoločnosti Microsoft) ani som neaktivoval žiadne neobvyklé konfiguračné nastavenia.

Proces aktualizácie servera Windows prebiehal veľmi hladko. Všetky moje existujúce nastavenia operačného systému boli zachované a moje virtuálne počítače zostali po inovácii funkčné. Ďalej sa správca Hyper-V cítil stále úplne dobre. Aj keď spoločnosť Microsoft predstavila v systéme Windows Server 2016 množstvo nových funkcií Hyper-V, správca Hyper-V sa zmenil len veľmi málo. Správcovia, ktorí majú predchádzajúce skúsenosti s technológiou Hyper-V, sa pri používaní novej verzie budú cítiť ako doma.

Priebežná aktualizácia klastra Hyper-V

Aj keď som pôvodne vykonal lokálnu aktualizáciu jedného hostiteľa Hyper-V, Microsoft podporuje aj postupné upgrady klastrovaných nasadení Hyper-V. To znamená, že servery so systémom Windows Server 2016 Hyper-V môžu byť pridané k existujúcim klastrom Windows Server 2012 R2 Hyper-V a v podstate emulujú hostiteľov Windows Server 2012 R2 Hyper-V, čo im umožňuje plnú účasť v klastri. Virtuálne počítače so systémom Windows Server 2012 R2 Hyper-V je možné migrovať za živa do uzlov systému Windows Server 2016 Hyper-V, čo umožňuje aktualizáciu operačného systému klastra bez toho, aby bol niektorý z virtuálnych strojov offline.

V rámci písania tejto kontroly som nasadil trojuzlový klaster serverov Windows Server 2012 Hyper-V a potom som pridal uzol Windows Server 2016 Hyper-V. Podarilo sa mi úspešne pripojiť uzol ku klastru a žiť migráciu VM tam a späť medzi dvoma rôznymi verziami Hyper-V. Stručne povedané, postupný postup upgradovania klastra fungoval bezchybne.

Inováciu klastra som dokončil v priebehu popoludnia, ale Microsoft umožňuje dlhodobú koexistenciu medzi verziami Hyper-V v klastri. Dlhodobé spolužitie bude určite jednoduchšie, keď teraz spoločnosť Microsoft vylepšila Správcu Hyper-V, takže ho možno používať súčasne s viacerými verziami Hyper-V. Od správcu Hyper-V v systéme Windows Server 2016 môžete spravovať Hyper-V aj v systémoch Windows Server 2012 a Windows Server 2012 R2.

Jedna nevýhoda nového správcu Hyper-V: Pretože spoločnosť Microsoft teraz dodáva aktualizácie pre služby integrácie Hyper-V prostredníctvom bežného procesu správy opráv, zdá sa, že bola odstránená možnosť nasadiť integračné služby. Inštalácia integračných služieb prostredníctvom služby Windows Update znie ako pokrok, ale nebolo by na škodu mať k dispozícii ako alternatívu starú metódu.

Upozorňujeme, že akonáhle sú všetky vaše uzly klastra spustené v systéme Windows Server 2016 Hyper-V a vy ste aktualizovali funkčnú úroveň klastra (zámernú administratívnu akciu, ktorú vykonáte prostredníctvom prostredia PowerShell), stratíte možnosť pridávať uzly systému Windows Server 2012 R2 do zhluk. Po aktualizácii funkčnej úrovne klastra nebude možné vrátiť sa späť.

Tienené virtuálne stroje

Aj keď sa v priebehu rokov vykonalo veľa práce na ochrane VM pred vonkajšími hrozbami, virtuálne stroje (vrátane tých na konkurenčných platformách, ako sú VMware, Xen a KVM) zostali zraniteľné voči kompromitácii nečestným správcom. Správcovi nič nebráni v tom, aby skopíroval celý VM na USB flash disk a vyšiel s ním z dverí. Iste, predtým bolo možné šifrovať virtuálne pevné disky, ale autorizovaný správca môže ľahko vrátiť späť akékoľvek šifrovanie na úrovni VM.

V systéme Windows Server 2016 Hyper-V tienená funkcia virtuálneho počítača šifruje disky a stav virtuálneho počítača spôsobom, ktorý bráni inému ako administrátorovi virtuálneho počítača alebo správcovi nájomcu spustiť virtuálny počítač alebo získať prístup k jeho obsahu. Táto funkcia funguje tak, že využíva výhody novej funkcie systému Windows Server s názvom Host Guardian Service, ktorá obsahuje kľúče na šifrovanie a dešifrovanie chránených virtuálnych počítačov.

Služba Host Guardian skontroluje, či je hostiteľ Hyper-V autorizovaný alebo „overený“ na spustenie virtuálneho počítača. Máte pravdu - správcovia môžu obmedziť chránené virtuálne počítače, takže sa budú spúšťať iba na konkrétnych hostiteľoch, ktorí prejdú atestačným testom. To znamená, že ak by podvodnícky administrátor kopíroval tienený VM na flash disk, kópia VM by bola pre administrátora zbytočná. VM by nemohol bežať mimo organizácie a jeho obsah by bol neprístupný, pretože kľúče potrebné na dešifrovanie VM sú chránené službou Host Guardian.

Služba Host Guardian podporuje dva rôzne režimy osvedčovania, ktoré sa nazývajú osvedčenie dôveryhodné pre správcu a osvedčenie dôveryhodné pre TPM. Osvedčenie dôveryhodné pre správcov je z týchto dvoch režimov ľahšie nasaditeľné, nie je však také bezpečné ako osvedčenie dôveryhodné pre TPM. Hostitelia dôveryhodní správcom sú založené na členstve v bezpečnostnej skupine služby Active Directory, zatiaľ čo dôveryhodní hostitelia TPM sú založené na identite TPM a dokonca aj na kontrole integrity bootovania a kódu.

Okrem zložitejšieho procesu konfigurácie má overenie dôveryhodné s TPM aj niektoré hardvérové ​​požiadavky. Strážení hostitelia musia podporovať TPM 2.0 a UEFI 2.3.1 alebo novší. Naproti tomu osvedčenie dôveryhodné pre administrátora nemá žiadne ďalšie významné hardvérové ​​požiadavky, než sú tie, ktoré sú potrebné na spustenie Hyper-V.

Aj keď sa väčšina mediálneho pokrytia týkajúceho sa zabezpečenia Hyper-V 2016 zameriava na chránené virtuálne počítače, spoločnosť Microsoft predstavila ďalšie vylepšenia zabezpečenia. Napríklad Hyper-V teraz podporuje Secure Boot pre niektoré virtuálne počítače s Linuxom. Podľa spoločnosti Microsoft medzi podporované verzie systému Linux patrí Ubuntu 14.04 a novší, Suse Linux Enterprise Server 12 a novší, Red Hat Enterprise Linux 7.0 a novší a CentOS 7.0 a novší.

Ďalším významným vylepšením zabezpečenia je podpora šifrovania diskov OS na báze BitLocker vo virtuálnych strojoch 1. generácie. Toto konkrétne vylepšenie zabezpečenia si nezískalo veľkú pozornosť tlače, je však významné z dôvodu počtu virtuálnych počítačov 1. generácie bežiacich v produkčných prostrediach. Virtuálne počítače druhej generácie sú koniec koncov podporované iba na použitie s konkrétnymi hosťovanými operačnými systémami. Aj keď sa zoznam podporovaných hosťujúcich operačných systémov v priebehu rokov rozrástol, niektoré nasadenia systému Linux, ktoré by mohli bežať na virtuálnych počítačoch 2. generácie, naďalej fungujú na virtuálnych počítačoch 1. generácie, a to jednoducho kvôli nemožnosti zmeniť verziu VM.

Windows kontajnery

Jednou z hlavných funkcií zavedených v systéme Windows Server 2016 sú kontajnery, ktoré majú dva typy. Kontajnery Windows Server zdieľajú jadro OS s hostiteľom (a akýmikoľvek inými kontajnermi, ktoré môžu byť na hostiteľovi spustené), zatiaľ čo kontajnery Hyper-V používajú na vyššiu úroveň hypervisor a ľahký hosťujúci OS (Windows Server Core alebo Nano Server). izolácie. Predstavte si kontajnery Hyper-V ako ľahké virtuálne stroje.

Dodnes som strávil istý čas experimentovaním s oboma typmi kontajnerov. Moje hodnotenie: Aj keď sa zdá, že kontajnery fungujú tak, ako inzerovali, s ich používaním je spojená strmá krivka učenia. Kontajnery musia byť vytvorené a spravované na príkazovom riadku (na rozdiel od použitia správcu Hyper-V) pomocou syntaxe príkazu Docker, ktorá sa veľmi líši od iných prostredí príkazového riadku, ako je napríklad PowerShell.

Myslím si, že kontajnery sa ukážu ako relevantné pre správcov Windows, ale dôrazne odporúčam tráviť čas v laboratórnom prostredí zvykaním si na Dockera a jeho množstvo nuancií pred nasadením kontajnerov do výroby.

Otázky týkajúce sa výkonu

V snahe otestovať výkon systému Windows Server 2016 som uviedol do prevádzky nový server s čistou inštaláciou systému Windows Server 2012 R2 Hyper-V. Tento server bol vybavený starším hardvérom nižšej triedy, ale vzhľadom na cieľ skontrolovať relatívny výkon nebol najmodernejší hardvér skutočne potrebný.

S novým online serverom Windows Server 2012 R2 Hyper-V som vytvoril virtuálny stroj 2. generácie so systémom Windows Server 2012 R2. Hostiteľ aj hosťujúci operačný systém boli úplne opravené a môj testovací VM bol jediný virtuálny stroj na hostiteľovi.

Akonáhle bol nový hosťujúci OS funkčný, nainštaloval som do virtuálneho stroja Sandru 2016, aby som mohol porovnať výkon virtuálneho stroja. Primárne ma zaujímal výkon procesora, úložiska, pamäte a siete.

So základnou sadou metrík v ruke som inovoval hostiteľa Hyper-V na Windows Server 2016. Spoločnosť Microsoft odrádza od miestnych aktualizácií, ale rozhodol som sa vykonať radšej jednu ako čistú inštaláciu, aby som udržal svoje testovacie prostredie rovnako konzistentné ako možné vo všetkých testoch.

Keď bola aktualizácia dokončená, nabootoval som VM, na ktorom stále bežal Windows Server 2012 R2. Ďalej som sa pokúsil inovovať Hyper-V Integration Services na VM, ale spoločnosť Microsoft odstránila možnosť urobiť to ručne. Integračné služby sú teraz poskytované prostredníctvom služby Windows Update.

Po úplnom vykonaní opravy hostiteľa Windows Server 2016 Hyper-V Host som zopakoval testovacie testy so snahou zistiť, či nová verzia Hyper-V prinesie nejaké zvýšenie výkonu. V skutočnosti sa ukázal pravý opak. Môj VM zaznamenal výrazný pokles výkonu.

Pri svojom záverečnom teste som vykonal lokálnu aktualizáciu hosťujúceho operačného systému na Windows Server 2016. Plne som opravil nový hosťujúci OS a naposledy som zopakoval svoje testovacie testy. Tentokrát sa môj výkon virtuálneho počítača do značnej miery zlepšil, ale nie na úroveň pôvodného virtuálneho počítača so systémom Windows Server 2012 R2 bežiacim na hostiteľovi so serverom Windows Server 2012 R2, a pri niekoľkých testoch sa výkonnosť ďalej znižovala.

Nižšie uvádzam metriky, ktoré som porovnal, a výsledky.

Test Sandra 2016Hostiteľ Windows Server 2012 R2 a Windows Server 2012 R2 VMHostiteľ Windows Server 2016 a Windows Server 2012 R2 VMHostiteľ Windows Server 2016 a Windows Server 2016 VM

Aritmetika procesora (súhrnný natívny výkon)

27,73 GOPS

20,82 GOPS

26,31 GOPS

Šírka pásma kryptografie

435 MBps

390 MBps

400 MBps

Šírka pásma procesora intercore

2,12 GB / s

2,08 GB / s

2 GB / s

Fyzické disky (skóre disku)

975,76 MBps

831,9 MBps

897 MBps

I / O systému súborov (skóre zariadenia)

242 IOPS

238 IOPS

195 IOPS

Šírka pásma pamäte (celkový výkon pamäte)

10,58 GB / s

10 GB / s

10 GB / s

Priepustnosť pamäťových transakcií

3 MTPS

3 MTPS

2,92 MTPS

Sieť LAN (šírka pásma údajov)

7,56 MBps

7,21 MBps

7,16 MBps

Ako môžete vidieť, podľa mojich testov Sandra si Windows Server 2012 R2 VM neviedol na Windows Server 2016 Hyper-V taký dobrý výkon ako v predchádzajúcej verzii Hyper-V. Každú referenčnú hodnotu som spustil niekoľkokrát (kým bol hostiteľ nečinný) v snahe zabezpečiť, aby moje metriky boli presné. Výkon virtuálneho počítača sa zlepšil, keď sa hosťovský operačný systém inovoval na Windows Server 2016, ale nie na úroveň hosťa Windows Server 2012 R2 bežiaceho na Windows Server 2012 R2 Hyper-V.

Prirodzene, tieto (a akékoľvek ďalšie) referenčné výsledky by ste mali brať s rezervou. Referenčné hodnoty nie vždy odrážajú realitu a tieto zistenia predstavujú iba jednu skupinu testov na jednej konfigurácii hardvéru. Okrem toho som ochotný dať spoločnosti Microsoft výhodu v pochybnosti, pretože metriky boli zachytené na hostiteľovi, ktorý bol inovovaný z predchádzajúcej verzie systému Windows Server, a nie na hostiteľovi, ktorý prevádzkuje čistú inštaláciu.

Jediným zmysluplným testom výkonu systému Windows Server 2016 Hyper-V budú vaše skutočné pracovné záťaže na vašom skutočnom hardvéri. Vzhľadom na výsledky testov Sandra budete chcieť pozorne sledovať výkon Hyper-V 2016.