Programavimas

„Windows Server 2016 Hyper-V“: saugesnė, bet ne greitesnė

Su „Windows Server 2016“ „Microsoft“ pristatė ilgą „Hyper-V“ patobulinimų sąrašą. Kartu su funkciniais priedais, tokiais kaip talpyklų palaikymas, įdėta virtualizacija, padidėjusia atminties ir „vCPU“ riba, rasite daugybę naujų funkcijų, įskaitant gamybos lygio kontrolinius taškus ir galimybę greitai pridėti atmintį ir tinklo adapterius, kurios palengvina administravimą.

Tačiau atrodo, kad pagrindinis „Microsoft“ tikslas 2016 m. „Hyper-V“ leidime buvo pagerinti saugumą. Tiesą sakant, norėčiau pasakyti, kad „Hyper-V“ naujoji žudikų funkcija yra ekranuoti VM, kurie dirba su „BitLocker“ šifravimu ir globėjų paslauga, siekdami užtikrinti, kad virtualios mašinos veiktų tik įgaliotais pagrindiniais kompiuteriais.

Jei viena „Hyper-V 2016“ funkcija paskatintų mane naujovinti, tai būtų apsaugota VM funkcija. Tačiau galimybė išskirti daugiau atminties 2 kartos virtualioms mašinoms ir galimybė greitai pridėti atmintį ir tinklo adapterius prie virtualizacijos pagrindinių kompiuterių yra dideli trūkumai.

Viena „Hyper-V 2016“ sritis gali nepagerėti - tai VM našumas. Tiesą sakant, mano „Sandra“ etaloniniai „Windows Server 2012 R2“ virtualiosios mašinos bandymai „Hyper-V 2012 R2“ ir „Hyper-V 2016“ rodo žingsnį atgal. Šių rezultatų jokiu būdu nevadinčiau galutiniais, tačiau turėkite tai omenyje, kai pradėsite vertinti „Windows Server 2016 Hyper-V“ savo darbo krūviams.

„Hyper-V“ sąrankos procesas

Šioje apžvalgoje naujovinau esamą „Windows Server 2012 R2“ serverį į „Windows Server 2016“. Daugeliu atveju naujovinimo procesas buvo beveik toks pat, kaip diegiant „Windows Server 2012 R2“. Skirtumas buvo tas, kad sąrankos vedlys rodo įspėjamąjį pranešimą, nurodantį, kad „Windows Server“ naujovinti nerekomenduojama, todėl turėtumėte atlikti švarų diegimą. Sąrankos vedlys netrukdys atlikti naujovinimo vietoje, tačiau norėdami patvirtinti įspėjamąjį pranešimą, turite spustelėti mygtuką Patvirtinti.

Su naujovinimo procesu žengiau į priekį (nors nuo tada atlikau kelis švarius diegimus), nes norėjau pamatyti, kas nutiks. Be to, mano atnaujintame serveryje buvo vykdomas švarus „Windows Server 2012 R2“ diegimas. Aš buvau įdiegęs „Hyper-V“ vaidmenį ir sukūręs keletą virtualių mašinų, bet nebuvau įdiegęs jokios papildomos programinės įrangos (išskyrus „Microsoft“ pataisas) ir neįgalinęs jokių nenormalių konfigūracijos parametrų.

„Windows Server“ atnaujinimo procesas vyko labai sklandžiai. Visi mano esami operacinės sistemos parametrai buvo išsaugoti, o virtualios mašinos po atnaujinimo liko veikiančios. Be to, „Hyper-V Manager“ vis tiek jautėsi visiškai pažįstamas. Nors „Microsoft“ „Windows Server 2016“ pristatė daugybę naujų „Hyper-V“ funkcijų, „Hyper-V Manager“ pasikeitė labai nedaug. Administratoriai, turintys ankstesnę „Hyper-V“ patirtį, naudodamiesi nauja versija tikrai jausis kaip namie.

„Hyper-V“ grupių atnaujinimai

Nors iš pradžių atlikau vieno „Hyper-V“ pagrindinio kompiuterio atnaujinimą vietoje, „Microsoft“ taip pat palaiko nuolatinius grupuotų „Hyper-V“ diegimų naujinimus. Tai reiškia, kad serverius, kuriuose veikia „Windows Server 2016 Hyper-V“, galima pridėti prie esamų „Windows Server 2012 R2 Hyper-V“ grupių ir iš esmės imituoti „Windows Server 2012 R2 Hyper-V“ pagrindinius kompiuterius, tokiu būdu leidžiant jiems visapusiškai dalyvauti klasteryje. „Windows Server 2012 R2 Hyper-V“ virtualiosios mašinos gali būti tiesiogiai perkeltos į „Windows Server 2016 Hyper-V“ mazgus, tokiu būdu įgalinant grupių operacinės sistemos naujinimą neprisijungus nė vienos virtualios mašinos.

Rašydamas šią apžvalgą, aš įdiegiau trijų mazgų grupę „Windows Server 2012 Hyper-V“ serverių, tada pridėjau „Windows Server 2016 Hyper-V“ mazgą. Man pavyko sėkmingai prijungti mazgą prie klasterio ir tiesiogiai perkelti VM pirmyn ir atgal tarp dviejų skirtingų „Hyper-V“ versijų. Trumpai tariant, slenkančio klasterio atnaujinimo procesas veikė nepriekaištingai.

Klasterio naujovinimą užbaigiau per popietę, tačiau „Microsoft“ leidžia ilgalaikį „Hyper-V“ versijų sambūvį klasteryje. Ilgalaikis sambūvis tikrai bus lengvesnis dabar, kai „Microsoft“ atnaujino „Hyper-V Manager“, todėl jį galima naudoti vienu metu su keliomis „Hyper-V“ versijomis. Iš „Hyper-V Manager“, esančios „Windows Server 2016“, taip pat galite valdyti „Hyper-V“ sistemose „Windows Server 2012“ ir „Windows Server 2012 R2“.

Vienas naujojo „Hyper-V Manager“ trūkumas: Kadangi „Microsoft“ dabar teikia „Hyper-V“ integravimo tarnybų atnaujinimus naudodama įprastą pataisų valdymo procesą, panašu, kad galimybė integruoti integravimo paslaugas buvo panaikinta. Integravimo paslaugų diegimas per „Windows Update“ skamba kaip pažanga, tačiau nepakenktų, jei senasis metodas būtų kaip atsarginis.

Atkreipkite dėmesį, kad kai visi jūsų sankaupos mazgai veiks „Windows Server 2016 Hyper-V“ ir atnaujinsite sankaupos funkcinį lygį (sąmoningas administracinis veiksmas, kurį atliekate per „PowerShell“), prarasite galimybę pridėti „Windows Server 2012 R2“ mazgų į klasteris. Atnaujinę sankaupos funkcinį lygį, nebegalėsite grįžti atgal.

Apsaugotos virtualios mašinos

Nors daugelį metų buvo padaryta daugybė darbų siekiant apsaugoti VM nuo išorinių grėsmių, virtualios mašinos (įskaitant mašinas, esančias konkuruojančiose platformose, tokiose kaip „VMware“, „Xen“ ir „KVM“), išliko pažeidžiamos nesąžiningo administratoriaus kompromisų. Niekas netrukdo administratoriui nukopijuoti visą VM į USB atmintinę ir išeiti su juo pro duris. Žinoma, anksčiau buvo įmanoma šifruoti virtualiuosius standžiuosius diskus, tačiau įgaliotas administratorius gali lengvai anuliuoti bet kokį VM šifravimą.

„Windows Server 2016 Hyper-V“ apsaugota VM funkcija užšifruoja virtualios mašinos diskus ir būseną taip, kad niekas kitas, išskyrus VM ar nuomininkų administratorius, negalėtų paleisti VM ar pasiekti jo turinio. Ši funkcija veikia pasinaudojant nauja „Windows Server“ funkcija, vadinama „Host Guardian“ paslauga, kurioje yra ekranuotų ekranų šifravimo ir iššifravimo raktai.

„Host Guardian“ tarnyba patikrina, ar „Hyper-V“ kompiuteris yra įgaliotas ar „patvirtintas“ paleisti virtualią mašiną. Tai tiesa - administratoriai gali apriboti ekranuotus VM, todėl jie veiks tik su konkrečiais pagrindiniais kompiuteriais, kurie išlaikys atestavimo testą. Tai reiškia, kad jei nesąžiningas administratorius nukopijuotų ekranuotą VM į „flash“ diską, VM kopija būtų nenaudinga administratoriui. VM negalėtų veikti už organizacijos ribų, o jo turinys būtų neprieinamas, nes raktus, reikalingus VM iššifruoti, saugo „Host Guardian“ tarnyba.

„Host Guardian“ tarnyba palaiko du skirtingus atestavimo režimus, vadinamus patikimais administratoriaus ir TPM patikimais patvirtinimais. Iš abiejų režimų lengviau įdiegti administratoriaus patikimą patvirtinimą, bet jis nėra toks saugus kaip TPM patikimas patvirtinimas. Administratoriaus patikimi pagrindiniai kompiuteriai yra pagrįsti „Active Directory“ saugos grupės naryste, o „TPM“ patikimi pagrindiniai kompiuteriai grindžiami TPM tapatumu ir netgi įkrovos ir kodo vientisumo patikrinimais.

Be sudėtingesnio konfigūravimo proceso, TPM patikimas atestavimas taip pat turi keletą aparatinės įrangos reikalavimų. Saugomi pagrindiniai kompiuteriai turi palaikyti TPM 2.0 ir UEFI 2.3.1 arba naujesnes versijas. Priešingai, administratoriaus patikimoje atestacijoje nėra jokių reikšmingų aparatinės įrangos reikalavimų, išskyrus tuos, kurių reikia norint paleisti „Hyper-V“.

Nors didžioji dalis žiniasklaidos priemonių, susijusių su „Hyper-V 2016“ saugumu, daugiausia dėmesio skyrė ekranuotiems VM, „Microsoft“ pristatė kitus saugos patobulinimus. Pavyzdžiui, „Hyper-V“ dabar palaiko „Secure Boot“ kai kuriems „Linux“ VM. Pasak „Microsoft“, palaikomos „Linux“ versijos yra „Ubuntu 14.04“ ir naujesnės versijos, „Suse Linux Enterprise Server 12“ ir naujesnės versijos, „Red Hat Enterprise Linux 7.0“ ir naujesnės versijos bei „CentOS 7.0“ ir naujesnės versijos.

Kitas reikšmingas saugumo patobulinimas yra „BitLocker“ pagrindu sukurto OS disko šifravimo palaikymas 1 kartos virtualiose mašinose. Šis konkretus saugumo patobulinimas nesulaukė didelio spaudos dėmesio, tačiau jis yra reikšmingas dėl 1 kartos VM, veikiančių gamybos aplinkoje, skaičiaus. Galų gale, 2 kartos VM yra palaikomi naudoti tik su konkrečiomis svečių operacinėmis sistemomis. Nors palaikomų svečių operacinių sistemų sąrašas per metus išaugo, kai kurie „Linux“ diegimai, kurie galėjo veikti 2 kartos VM, ir toliau veikia 1 kartos VM, vien dėl to, kad nesugebėta pakeisti VM versijos.

„Windows“ konteineriai

Viena iš pagrindinių „Windows Server 2016“ pristatomų funkcijų yra konteineriai, kurių yra dviejų tipų. „Windows Server“ sudėtiniai rodiniai dalijasi OS branduoliu su pagrindiniu kompiuteriu (ir visais kitais talpyklomis, kurie gali veikti pagrindiniame kompiuteryje), o „Hyper-V“ konteineriai naudoja hipervizorių ir lengvą svečio OS („Windows Server Core“ arba „Nano Server“), kad užtikrintų aukštesnį lygį izoliacijos. Pagalvokite apie „Hyper-V“ konteinerius kaip apie lengvąsias virtualias mašinas.

Iki šiol šiek tiek laiko praleidau eksperimentuodamas su abiejų tipų konteineriais. Mano vertinimas: Nors atrodo, kad konteineriai veikia taip, kaip reklamuojama, su jų naudojimu siejama kieta mokymosi kreivė. Konteineriai turi būti sukurti ir tvarkomi komandinėje eilutėje (o ne naudojant „Hyper-V Manager“) naudojant „Docker“ komandų sintaksę, kuri labai skiriasi nuo kitų komandų eilutės aplinkų, tokių kaip „PowerShell“.

Manau, kad konteineriai pasirodys aktualūs „Windows“ administratoriams, tačiau primygtinai rekomenduoju leisti laiką laboratorijos aplinkoje, kad priprastumėte prie „Docker“ ir jo daugybės niuansų prieš diegdami konteinerius gamyboje.

Spektaklio klausimai

Siekdamas išbandyti „Windows Server 2016“ našumą, prisijungiau prie naujo serverio, kuriame vykdomas švarus „Windows Server 2012 R2 Hyper-V“ diegimas. Šis serveris buvo aprūpintas žemos klasės, senstančia aparatine įranga, tačiau atsižvelgiant į tikslą buvo patikrinti santykinį našumą, moderniausia aparatūra iš tikrųjų nebuvo reikalinga.

Su naujuoju „Windows Server 2012 R2 Hyper-V“ serveriu internete sukūriau 2 kartos virtualią mašiną, kurioje veikia „Windows Server 2012 R2“. Tiek pagrindinio kompiuterio, tiek svečio operacinės sistemos buvo visiškai pataisytos, o mano bandomasis VM buvo vienintelė virtuali mašina, esanti pagrindiniame kompiuteryje.

Kai naujoji svečio OS buvo sukurta ir veikė, aš įdiegiau „Sandra 2016“ į virtualią mašiną, kad galėčiau palyginti virtualios mašinos našumą. Pirmiausia mane domino procesoriaus, atminties, atminties ir tinklo našumas.

Turėdamas pagrindinį metrikos rinkinį, naujovinau „Hyper-V“ pagrindinį kompiuterį į „Windows Server 2016“. „Microsoft“ nenori atnaujinti vietoje, tačiau nusprendžiau atlikti vieną, o ne švarų diegimą, kad bandymo aplinka būtų tokia nuosekli kaip įmanoma per visus bandymus.

Kai naujovinimas buvo baigtas, paleidžiau VM, kuriame vis dar veikė „Windows Server 2012 R2“. Tada bandžiau atnaujinti „Hyper-V“ integravimo tarnybas VM, tačiau „Microsoft“ pašalino galimybę tai padaryti rankiniu būdu. Integravimo paslaugos dabar teikiamos per „Windows Update“.

Pilnai užtaisęs „Windows Server 2016 Hyper-V Host“, pakartojau etaloninius bandymus, siekdamas sužinoti, ar naujoji „Hyper-V“ versija padidins našumą. Tiesą sakant, buvo atvirkščiai. Mano VM pastebimai sumažėjo našumas.

Atlikdamas paskutinį bandymą, vietoje atlikau svečių operacinės sistemos atnaujinimą į „Windows Server 2016.“. Aš visiškai užtaisiau naują svečio OS ir paskutinį kartą pakartojau savo etalono testus. Šį kartą mano VM našumas iš esmės pagerėjo, bet ne visai iki originalaus „Windows Server 2012 R2“ VM, veikiančio „Windows Server 2012 R2“ pagrindiniame kompiuteryje, lygio, o atlikus kelis bandymus našumas dar labiau sumažėjo.

Toliau išvardijau metriką, kurią palyginau, ir rezultatus.

Sandra 2016 testas„Windows Server 2012 R2 Host“ ir „Windows Server 2012 R2“ VM„Windows Server 2016 Host“ ir „Windows Server 2012 R2“ VM„Windows Server 2016 Host“ ir „Windows Server 2016 VM“

Procesoriaus aritmetika (bendras savasis našumas)

27,73 GOPS

20.82 GOPS

26.31 GOPS

Kriptografijos pralaidumas

435 MBps

390 MBps

400 MBps

Procesoriaus tarpinių duomenų pralaidumas

2,12 GBps

2.08 GBps

2 GBps

Fiziniai diskai (disko balas)

975,76 MBps

831.9 MBps

897 MBps

Failų sistemos įvestis / išvestis (įrenginio balas)

242 IOPS

238 IOPS

195 IOPS

Atminties pralaidumas (bendras atminties našumas)

10,58 GBps

10 GBps

10 GBps

Atminties operacijų pralaidumas

3 MTPS

3 MTPS

2,92 MTPS

Tinklo LAN (duomenų pralaidumas)

7,56 MBps

7,21 MBps

7,16 MBps

Kaip matote, pagal mano „Sandra“ testus „Windows Server 2012 R2“ VM „Windows Server 2016 Hyper-V“ veikė ne taip gerai, kaip ankstesnėje „Hyper-V“ versijoje. Kiekvieną etaloną vykdžiau kelis kartus (kol šeimininkas neveikė), siekdamas įsitikinti, ar mano metrika yra tiksli. Virtualioji mašina veikė geriau, kai svečio OS buvo naujovinta į „Windows Server 2016“, bet ne į „Windows Server 2012 R2“ svečio, veikiančio sistemoje „Windows Server 2012 R2 Hyper-V“, lygį.

Natūralu, kad turėtumėte atsižvelgti į šiuos (ir kitus) etalono rezultatus su druska. Lyginamieji indeksai ne visada atspindi tikrovę, o šios išvados atspindi tik vieną vienos aparatinės įrangos konfigūracijos testų rinkinį. Be to, aš noriu suteikti „Microsoft“ abejonių, nes metrika buvo užfiksuota pagrindiniame kompiuteryje, kuris buvo atnaujintas iš ankstesnės „Windows Server“ versijos, o ne pagrindiniame kompiuteryje, kuriame vykdomas švarus diegimas.

Vienintelis prasmingas „Windows Server 2016 Hyper-V“ našumo testas bus jūsų faktinės aparatinės įrangos darbo krūviai. Atsižvelgdami į „Sandra“ testų rezultatus, norėsite atidžiai stebėti „Hyper-V 2016“ našumą.

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