Hyper-V käyttöönotto ja virtuaalikoneen luonti – Windows 10

Johdanto

Tämä artikkeli käsittelee Hyper-V:n käyttöönottoa ja virtuaalikoneiden luontia Windows 10 Pro-käyttöjärjestelmällä. Hyper-V on Microsoftin 1.-tason hypervisor, eli se pyörii host-koneella ja ottaa kontrollin hostin laitteistosta. Hyper-V-hallinnasta voidaan sitten luoda virtuaalikoneita (guest-koneita) sekä virtuaalikytkimiä.

Käytetty käyttöjärjestelmä oli Windows 10 Pro – 1803 (käyttöliittymän koontiversio 17134.345).


Sisällys

  • Hyper-V käyttöönotto
  • Uuden virtuaalikoneen luominen
  • Virtuaalikoneen asetukset
  • Virtuaalikoneiden hallinta

Hyper-V käyttöönotto

Suoritin PowerShellin järjestelmänvalvojana:

Hyper-V voidaan ottaa käyttöön joko PowerShellillä, CMD:n kautta tai ohjauspaneelin kautta. Itse käytin PowerShelliä.

Otin Hyper-V ominaisuuden käyttöön Enable-WindowsOptionalFeature -cmdletillä:

PS C:\WINDOWS\system32> Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All

Windows otti Hyper-V:tä käyttöön:

Sitten tuli käynnistää kone uudelleen. Vastasin Y,eli kyllä.

Tietokoneen uudelleenkäynnistymisen jälkeen avasin ohjauspaneelin ja navigoin Valvontatyökalut > Hyper-V-hallinta:


Uuden virtuaalikoneen luominen

Seuraavaksi tein uuden virtuaalikoneen. Navigoin Toiminnot > Uusi > Virtuaalikone. 

Annoin koneelle nimeksi Xubuntu 18.04.1 LTS, sillä olen tekemässä siitä Xubuntu VM:n. Laitoin täpän ruutuun “Tallenna virtuaalikone eri sijaintiin” ja valitsin sijainniksi yhden isomman kiintolevyni, sillä en halua virtuaalikoneiden virtuaalisia kiintolevyjä tai snapshotteja C-levylle.

Seuraavassa vaiheessa valitsin virtuaalikoneen sukupolveksi toisen sukupolven. Tämä Microsoftin artikkeli käsittelee noiden eroja: https://docs.microsoft.com/en-us/windows-server/virtualization/hyper-v/plan/should-i-create-a-generation-1-or-2-virtual-machine-in-hyper-v.

Olen asentamassa Xubuntu 18.04.1 LTS käyttöjärjestelmän 64-bittisen version, eli voin hyvinkin käyttää uudempaa sukupolvea.

Sitten määrittelin virtuaalikoneelle varatun keskusmuistin määrän. Koneessani on 16GB DDR4-muistia, joten varasin siitä 2 GB, eli 2048 MB, Hyper-V VM:n käyttöön. Laitoin myös täpän ruutuun “Käytä dynaamista muistia tälle virtuaalikoneelle“. Tällöin VM ei rajaa muistia enempää, kuin tarvitsemansa määrän.

Periaatteessa dynaamista muistia käytettäessä, virtuaalikoneen muistinkäytölle voidaan asettaa käynnistysmuistin lisäksi RAM-muistin vähimmäismäärä ja RAM-muistin enimmäismäärä. Alunperin virtuaalikone tulee luulemaan, että sillä on muistia ainoastaan tuon 2048 MB:n verran, minkä se ottaakin resurssienhallinnassaan huomioon pyrkiessään pitämään muistinkäytön sen alapuolella. Softat voi kuitenkin vaatia enemmän muistia, jolloin Hyper-V voi nostaa koneen muistimäärää käynnistysmuistista dynaamisesti suuremmaksi. Muistia nostetaan tarpeen mukaan asteittain aina enimmäismäärään asti.

Dynaamisesta muistinkäytöstä voi lukea yksityiskohtaisemmin mm. Altaron Hyper-V blogista: https://www.altaro.com/hyper-v/hyper-v-dynamic-memory-explanation-and-recommendations-2/

Jostain syystä tässä vaiheessa pystyi vain valitsemaan dynaamisen muistin käyttöön, mutta sen tarkemmat asetukset pääsin määrittelemään vasta virtuaalikoneen luonnin jälkeen.

Seuraavassa vaiheessa minun tuli valita yhteys virtuaalikoneelleni. Tässä vaiheessa en vielä valinnut mitään, sillä halusin perehtyä tarkemmin vaihtoehtoihin. VM:llä ei siis ole nyt verkkoyhteyttä ollenkaan; ei host-koneelle päin, eikä internettiin.

Sitten tein uuden virtuaalikiintolevyn (VHD tai tarkemmin VHDX, kun puhutaan Hyper-V virtuaalikiintolevystä), joka sai nimensä automaattisesti virtuaalikoneeni nimen mukaan. Sijainti E-levyllä on sama, jonka asetin ensimmäisessä vaiheessa. Annoin virtuaalikiintolevyn kooksi 10 GB. Xubuntu ei vie hirveästi tallennustilaa.

Valitsin asentaa käyttöjärjestelmän käynnistettävästä näköistiedostosta. Xubuntu 18.04.1 LTS -imagen latasin Xubuntun sivuilta: https://xubuntu.org/download Ruotsin-mirrorin kautta.

Viimeisessä vaiheessa tarkistin vielä, että asetukset ovat haluamallani tavalla. Painoin “Valmis”.

VM oli nyt luotu. Siihen liittyvät toiminnot löytyivät oikeasta reunasta Host-palvelimen alapuolelta.

Menin virtuaalikoneen asetuksiin. Huomaa, että koneen tulee olla sammutettu, jotta kaikkia asetuksia pääsee muuttamaan.


Virtuaalikoneen asetukset

Asetukset on jaettu kahteen osaan: Laitteisto ja Hallinta. Kuvaan tässä artikkelissa lähinnä asetuksia laitteiston osalta. Hallinnasta voi kuitenkin muuttaa mm. VM:n nimeä, kuvausta sekä asettaa tarkistuspisteet.

Laitteisto:

Käynnistysjärjestys

Varmistin “Laiteohjelmisto“-asetuksista, että virtuaalikoneen boot-järjestys oli oikein, eli DVD-aseman täytyy olla ensimmäisenä, sillä käyttöjärjestelmäni .ISO-kuva on sillä. Verkkokortin siirsin Kiintolevyn alapuolelle boot-orderissa. Sitten, kun olen asentanut käyttiksen virtuaalikiintolevylle, siirrän sen järjestyksen ylimmäksi.

HUOM! Jos muuttaa myöhemmin esimerkiksi verkkosovitinta, niin boot-order saattaa vaihtua siten, että verkkosovitin on ensimmäisenä. Tällöin pitää vaan tajuta tarkistaa, että boot-order on haluamassaan järjestyksessä. Jos verkkosovitin on ensimmäisenä, kone boottaa tällaiseen ruutuun:

Tuossa kone yrittää käynnistää käyttöjärjestelmää PXE netbootin kautta. Sellaista ei toki ole tässä tapauksessa konfiguroitu. PXE netbootissa kone hakisi käyttiksen imagen palvelimelta, mikä on hyödyllistä, jos pitää saada monta konetta aina samaan konfiguraatioon nopeasti.


Suojaus

Suojattu käynnistäminen tulee ottaa pois käytöstä ainakin Ubuntu-pohjaisilla virtuaalikoneilla. Muuten käynnistyksen yhteydessä käyttöjärjestelmää ei ladata, ja tulee sama ilmoitus PXE netbootista, kuin boot-orderin ollessa väärä.

Eli täppä pois ruudusta “Ota käyttöön suojattu käynnistys“. Sitten painoin “Käytä” ja “OK“.

Suojaus-asetuksista voidaan myös halutessa ottaa käyttöön TPM-turvapiiriin pohjautuva salaus koko virtuaalikoneelle.


RAM-muisti

Sitten palasin määrittelemään dynaamisen muistin asetukset “Muisti“-välilehdeltä. RAM-muisti on 2048 MB, eli tämä on nyt se käynnistysmuisti, jonka määrittelin aiemmin. Nyt pystyn myös asettamaan dynaamiselle muistille ne vähimmäis- ja enimmäismäärät.

Vähimmäismääräksi jätin 512 MB. Sillä ei sinänsä ole väliä, koska VM aloittaa aloitusmuistissa määritellystä muistimäärästä joka tapauksessa. Kunhan tämä on sama tai pienempi, kuin käynnistysmuisti.

Enimmäismääräksi asetin 4096 MB. Tämä on nyt se RAM-muistin raja, jota ei ylitetä. Koneelle ei koskaan tulla antamaan neljää gigaa enempää muistia.

Muistipuskurin jätin oletukselle, eli 20%. Hyper-V jättää aina muistia varatessaan pelivaraa tuon verran. Jos kone siis syö 2048 MB:n edestä muistia, niin koneelle on kuitenkin jo Hyper-V:n puolesta varattu 20% enemmän muistia, eli 2458 MB.

Muistin painotus-asetuksen jätin myös oletukselle, koska en ole nyt aikeissa pyörittää useampia virtuaalikoneita samanaikaisesti.


Suoritin

Suoritin“-välilehdeltä olisin voinnut valita virtuaalisuorittimien määrän. Koneessani on kelloittamaton Intel i7-6700K 4,0GHz. Siinä on neljä fyysistä suoritinta (ydintä), mutta hyper-threadingin vuoksi jokaista fyysistä ydintä kohden on myös kaksi virtuaalista loogista ydintä.  Loogisia suorittimia prosessorillani on siis kahdeksan. Voisin siis helposti antaa VM:lle esimerkiksi kaksi suoritinta käyttöön, mutta en tarvitse sellaista tehoa käyttötarkoitukseeni.

Suorittimien määrän lisäksi, voidaan määritellä niiden resurssien hallintaa.

Virtuaalikonevarasto-asetuksella voi säätää prosentuaalisen osuuden loogisesta suorittimesta, joka varataan aina kyseiselle virtuaalikoneelle. Koska olin asettanut virtuaalisuorittiemien määrän yhteen, virtuaalikonevaraston asettaminen 100 %:iin, tarkottaisi, että koko suoritin varataan virtuaalikoneelleni, vaikka sitä tehoa tarvittaisikiin muualla.

Prosenttiosuus järjestelmän kokonaisresursseista määrittelee sen prosentuaalisen osuuden host-koneen kaikista loogisten suorittimista, joka varataan virtuaalikoneelle. Eli asetuksen asettaminen 100 %:iin varaisi kaikki suorittimet yhden virtuaalikoneen käyttöön, missä ei mielestäni ole mitään järkeä. Kai tuollekin joku käytännöntarkoitus on, mutta itse käyttäisin vaan virtuaalikonevarasto-asetusta suoritintehon varaamiseen.

Virtuaalikonerajoitus-asetuksella voidaan rajoittaa kuinka paljon virtuaalikone voi käyttää sille varatusta loogisesta suorittimesta. Oletusarvo on 100 %. Erona virtuaalikonevarastoon taitaa olla se, että varasto varaa aina sen määritellyn prosentuaalisen osuuden suorittimesta VM:n käyttöön tarvittiin sitä tai ei, kun taas rajoitus määrittelee sen maksimiarvon, jota VM ei voi ylittää, mutta muuten suorittimen käyttöasteet saavat liikkua aika vapaasti, eikä suoritintehoa varata turhaan virtuaalikoneen käyttöön.

Suhteellinen painotus on oletuksena 100. Asetusta voidaan muuttaa voidaan asettamalla sille arvo 0-10000 skaalalla. Tämä arvo otetaan huomioon tilanteissa, joissa host-koneen fyysisistä resursseista on liikaa kilpailua. Oletuksena resurssit jaetaan tasaisesti kaikkien virtuaalikoneiden kesken, sillä niiden suhteellinen painotus on kaikilla sama. Jos yhden koneen suhteellista painotusta kuitenkin nostetaan, niin sille annetaan tarpeen vaatiessa isompi osa saatavilla olevista fyysisistä resursseista. Käytännössä tällä asetuksella voidaan siis säätää koneiden prioriteettia suoritintehon suhteen.

Kunkin asetuksen yksityiskohtaisempi käyttötarkoitus on selitetty mm. tässä Petrin artikkelissa: https://www.petri.com/hyper-v-virtual-machine-processor-resource-control-overview.

Windows 10:ssä suorittimien resurssien hallinta on kuitenkin poistettu käytöstä oletuksena 1803-versiosta lähtien: https://docs.microsoft.com/en-us/windows-server/virtualization/hyper-v/manage/manage-hyper-v-scheduler-types#the-root-scheduler

1803:sta lähtien Hyper-V käyttää oletus-schedulerina “The root scheduleria”, jonka kanssa suorittimen resurssien hallintaa ei tueta. Microsoft itse sanoo “Administrators should not attempt to override the default hypervisor scheduler type on Windows 10 client systems.” Näin ollen, en lähde säätämään asetuksen kanssa tarkemmin. Virtuaalikoneelleni on siis varattu yksi virtuaalinen suoritin, jonka käyttörajoitus on 100% oletuksena.

Windows Server-pohjaisilla käyttöjärjestelmillä root-scheduleria ei kuitenkaan käytetä, jolloin myös VM:n suorittimien resurssien hallinta-ominaisuudet on käytettävissä.


SCSI-ohjain

SCSI-ohjain hallitsee virtuaalikoneeseen kytkettyjä lisälaitteita, kuten DVD-asemaa ja kiintolevyjä. SCSI-kontrolleria ei yleensä ole tavallisissa kuluttajakoneissa, joissa käytetään USB- ja SATA-liitäntään, vaan yleisimmin palvelinraudassa.

SCSI-asetuksista voin lisätä ja hallinnoida VM:n virtuaalikiintolevyjä. Tässä tapauksessa en tarvitse uutta levyä koneelle, sillä loin sellaisen jo VM:n luonnin yhteydessä.

Ohjaimen vierestä voidaan määritellä “sijainti“. Kyseinen SCSI-ohjain tukee yhteensä 64-levyä tai lisälaitetta. VHDX:lleni on varattu sijanti 0 ja DVD asemalle 1. Numerolla ei sinänsä ole väliä, kunhan ne ovat eri kaikilla laitteilla. Tuo sijainti on ikäänkuin fyysinen interface tuossa SCSI-ohjaimessa, eli yhteen interfaceen ei voida kytkeä, kuin yksi laite.

DVD-aseman kohdallakaan minun ei tarvinnut enää muuttaa mitään. Näköistiedoston valitsin myös VM:n luonnin yhteydessä. Huomaa kuitenkin, että DVD-asemaan laitettu ISO katoaa joka sammutuksen yhteydessä. Jos siis käyttää käyttistä live-tilassa, niin se pitää muistaa asettaa aina uudelleen.


Verkkosovitin

Verkkosovitin-välilehdeltä voidaan määritellä virtuaalikoneen verkkoyhteyden asetukset. Ensimmäisenä piti valita virtuaalikytkin, joka oman VM:n kohdalla oli “Yhteyttä ei ole“. Tämä siksi, että valitsin sen asetuksen koneen luonnin yhteydessä.

Asetuksien kautta voidaan valita, mitä kytkintä käytetään. Kytkimiä kuitenkiin luodaan omasta Virtuaalikytkimien hallinta -toiminnosta, jonka käytön olen kuvannut artikkelissa: https://markuspyharanta.com/2018/10/26/hyper-v-virtuaalikytkimien-hallinta/

En siis kuvaa tässä tarkemmin eri kytkimien toimintaperiaatetta. Asetin virtuaalikoneen kytkimeksi “Oletuskytkin“. Virtual LAN:ia (VLAN) en käyttänyt, enkä kaistanleveyden hallintaa.

Jos kaistanleveyden hallinnan ottaa käyttöön, voi määritellä vähimmäis- ja enimmäiskaistanleveyksille Mbps-arvot. Sillä voisin siis rajoittaa virtuaalikoneen verkon käyttöä, jotta koko nettiyhteyteni ei kulu VM:n käyttöön.


Virtuaalikoneiden hallinta

Luomani virtuaalikoneet näkyvät heti Hyper-V-hallinnan oletussivulla. Klikkaamalla haluamaani virtuaalikonetta, sen hallintavaihtoehdot näkyvät Toiminnot-sivupalkissa.

Kun olin säätänyt virtuaalikoneen asetukset haluamallani tavalla, käynnistin sen painamalla “Käynnistä“-painiketta. Virtuaalikoneen tila muuttui “Ei käytössä” > “Käynnissä”.

Koneen tila oli “Käynnistä”, joten painoin “Yhdistä“-painiketta. Tällöin aukesi erillinen etäyhteysikkuna:

Boottaan Xubuntuun levykuvalta, joten valitsin “Try Xubuntu without installing“. Tarkoituksenani ei nyt ole asentaa käyttöjärjestelmää.

Hetken päästä pääsin työpöydälle:

Huomasin heti, ettei Hyper-V tue 1920×1080 resoluutiota. Sen muuttaminen ei onnistunut edes Xubuntun asetuksista. Myös hiirikursorin liikkeet olivat aika tahmeita esimerkiksi VirtualBoxiin nähden.

Tarkistin, että Xubuntu-virtuaalikoneeni IP-osoite oli 172.24.33.244. Jos kone olisi Windows VM, ottaisin siihen erillisen etäyhteyden Windowsin etätyöpöytäyhteys-ohjelmalla.

Se ei kuitenkaan onnistu nyt, koska kyseessä on GNU/Linux.

Virtuaalikoneen sammuttamisessa tulee ymmärtää seuraavat erot eri vaihtoehtojen välillä:

Poista käytöstä  = Verrattavissa tietokoneen pakkosammutukseen virtanappia pohjassa pitämällä. Tee ainoastaan ongelmatilanteissa, tai vasta, kun olet sammuttanut virtuaalikoneen käyttöjärjestelmän kautta.

Sammuta = Sammuttaa virtuaalikoneen käyttöjärjestelmän.

Tallenna = Tallentaa virtuaalikoneen nykytilan ja sammuttaa sitten yhteyden. Seuraavaksi, kun yhdistät, kaikki on juuri siten, kuin jätitkin ne. Kone ei sammu välissä ollenkaan.

Oikea tapa sammuttaa virtuaalikone on sammuttaa käyttöjärjestelmä joko itse käyttöjärjestelmän kautta, tai Hyper-V-hallinnan kautta painamalla “Sammuta“-nappia. “Poista käytöstä” silloin, kun ei kone pitää saada alas, kun se ei ole bootannut käyttöjärjestelmään.

Koska käytin Xubuntua live-tilassa, aukesi minulle sammuttamisen jälkeen tällainen ikkuna, jossa tuli vielä painaa enteriä ennen kuin kone meni pois päältä:

Tuon jälkeen aukesi tällainen ikkuna, jossa sanottiin, että VM on poistettu käytöstä:


TÄTÄ DOKUMENTTIA SAA KOPIOIDA JA MUOKATA GNU GENERAL PUBLIC LICENSE (VERSIO 3 TAI UUDEMPI) MUKAISESTI. HTTP://WWW.GNU.ORG/LICENSES/GPL.HTML
MARKUS PYHÄRANTA

2 thoughts on “Hyper-V käyttöönotto ja virtuaalikoneen luonti – Windows 10”

  1. Samaan tapaan virtuaalikoneessa toimii pääosa ohjelmista sekä verkkoselain ja -yhteys. Vaihtoehtoisesti asentaa virtuaalikoneeksi sellaisen Windows-version, jossa pasianssi tulee valmiiksi asennettuna. Varmasti joissain Linux-distribuutioissakin se tulee esiasennettuna. Jos ei, niin voihan sen aina erikseen asentaa oli käyttöjärjestelmä mikä tahansa.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top
Scroll to Top