Microsoft Hyper-V:n käyttöönotossa huomioitavat asiat ja parhaat käytännöt. Hyper-V verkon virtualisointi
Microsoft Hyper-V:n käyttöönotossa huomioitavat asiat ja parhaat käytännöt.
Osa 3: Hyper-V verkon virtualisointi
Yksi suurimmista eduista palvelinten virtualisoinnissa oli mahdollisuus erottaa ajettava palvelinympäristö alla olevasta laitteistosta. Tämän avulla palvelinympäristö toimii omassa säilössään, jonka laitteistorajapinta ei muutu, vaikka se siirretään ajettavaksi fyysisesti erilaiseen palvelinlaitteistoon. Tämän siirrettävyyden avulla voitiin mahdollistaa laajasti erilaisia käyttötapauksia, jotka aiemmin oli hankala toteuttaa. Verkkoympäristö on myös omalla tavalla riippuvainen verkkolaitteistosta ja sen konfiguraatioista. Yleisesti verkon hallinnan määrä ja vaikeus riippuu paljon käytettävästä verkkolaitteistosta ja sen tarjoamista mahdollisuuksista. Nykyisin virtualisoidussa palvelinympäristössä käytetään paljon VLAN tai PVLAN teknologiaa. VLAN Trunk toiminnallisuudella voidaan tuoda useita segmentoituja VLAN verkkoja virtuaalikoneen tasolle, jossa taas käytettävä VLAN on mahdollista valita virtuaalikoneen asetuksista. VLAN ja PVLAN teknologioissa on omat rajoituksensa ja ne vaativat myös omaa konfigurointia fyysisiin palvelimiin liitetyissä verkkolaitteissa. Ulkoistus ja pilvipalvelut ovat myös tuoneet tarpeita sille että tietty osa omasta sisäverkosta tulisi ulottaa palveluntarjoajan konesaliin tai julkiseen pilveen. Tällaisia tarpeita on ratkottu usein käyttämällä erillisiä toimipisteiden välisiä VPN yhteyksiä ja tällä tavalla mahdollistettu oman verkkosegmentin ulottaminen kumppanin konesaliin tai julkiseen pilvipalveluun. Edellisten tarpeiden vuoksi on myös kehitetty uusia verkon virtualisointiteknologioita. Windows Server 2012 toi mukanaan teknologian nimeltä Hyper-V Network Virtualization (HNV), jonka avulla organisaatio toteuttaa oman verkon segmentointia tai ulottaa sen ulkoistuskumppanin tiloihin. Vastaavasti palveluntarjoaja voi rakentaa oman palvelutarjontansa niin, että asiakasorganisaatio voi ulottaa helposti oman verkkonsa palveluntarjoajan tiloihin muuttamatta oman verkon arkkitehtuuria ja IP osoitteistoa.
Hyper-V Network Virtualization (HNV) toiminta yleisesti
HNV:n käyttämä protokolla verkon virtualisointiin on samantapainen kuin VPN tekniikassa käytetty Generic Routing Encapsulation (GRE). Microsoft on ollut mukana alan johtavien toimijoiden kanssa kehittämässä verkon virtualisointiin tarkoitettua protokollaa nimeltä Network Virtualization using Generic Routing Encapsulation (NVGRE). NVGRE verkon virtualisointi jakaa käytettävät osoitteet Provider Address (PA) ja Customer Address (CA) kerroksiin. PA kerros on Hyper-V palvelinten välillä toimiva IP osoitteisto joka voi olla reititetty segmentti konesaliverkossa. CA kerros on virtualisoidussa verkossa toimiva verkkosegmentti jota ei ole mahdollisesti reititetty ollenkaan konesalin muiden verkkosegmenttien kanssa. CA kerros voi olla ulkoisen asiakkaan oma verkko joka voidaan tarjota VPN ratkaisun kautta liitettäväksi asiakkaan ympäristöön tai virtualisoitava verkkosegmentti joka reititetään osaksi omaa verkkoinfrastruktuuria.
HNV virtualisoitua verkkoa kutsutaan nimellä VM Network. VM Network voi pitää sisällään virtuaalisia aliverkkoja nimeltään Virtual Subnet (VSID). Liikenne eri VSID aliverkkojen välillä on automaattisesti reititetty. Luotaessa VSID aliverkon IP osoitteistoa järjestelmä varaa jokaisesta osoitealueesta .1 osoitteen. Tätä osoitetta käytetään yhdyskäytävänä eri VSID aliverkkojen välillä ja käytännössä HNV on .1 osoitteen omistava yhdyskäytävä. VM Network verkko toimii virtuaalisten verkkojen eristyksen rajana. Liikenne VM Network verkkojen välillä tai VM Network verkon ja perinteisen verkon välillä tulee aina reitittää siihen tarkoitetun yhdyskäytävän avulla (NVGRE Gateway).
Esimerkkikuva NVGRE paketista:
Virtuaalisen konesaliverkon sisällä kulkeva NVGRE paketti pitää sisällään ulkoisen osan ja sisäisen osan eri IP osoitteilla. Ulkoisessa osassa lähettäjän ja vastaanottajan osoitteena on PA kerroksen osoite, jonka Hyper-V palvelimet ja konesaliverkko osaavat reitittää. Sisäinen osa alkaa VSID avaimella, jonka avulla yksilöidään asiakkaan aliverkko. Seuraavaksi sisäisessä osassa tulee lähettäjän ja vastaanottajan CA kerroksen osoitteet, jotka kyseisen virtualisoidun verkkosegmentin virtuaalipalvelimet osaavat reitittää. NVGRE:n käyttäminen ei sulje pois VLAN teknologian käyttöä ja esimerkiksi NVGRE verkko voitaisiin myös segmentoida johonkin tiettyyn VLAN:iin. Edellisellä tavalla voidaan virtualisoida verkkoja Hyper-V palvelinten välillä. NVGRE laite tarvitaan, jos verkkoliikenne tulee ulottaa asiakkaille käytettäväksi tai reitittää muiden verkkojen kanssa. Johtavat verkkolaitevalmistajat kuten Cisco ja F5 Networks ovat toteuttaneet NVGRE Gateway toimintoja omiin verkkolaitteisiinsa. Myös Windows Server 2012 R2 toi mukanaan NVGRE Gateway toiminnallisuuden Windows Serverin RAS palveluun.
Käyttöönottoon tarvittavat komponentit
HNV arkkitehtuuri tarvitsee käytännössä kolme eri komponenttia toimiakseen.
- Verkon virtualisointia tukevan alustan. Tämä on toteutettu Hyper-V Extensible Switch virtuaalisessa verkkokerroksessa. Palvelu on käytössä automaattisesti kun palvelimeen on otettu Hyper-V rooli käyttöön, joten en sitä tässä kirjoituksessa tarkemmin käsittele.
- Hallintaratkaisu jolla rakennetaan ja ylläpidetään eri virtuaaliverkot (VM Network), virtuaaliset aliverkot (Virtual Subnet) ja NVGRE Gateway konfiguraatiot.
- NVGRE Gateway laite. Tämä voi olla esimerkiksi toiminnallisuus Ciscon Nexus kytkimessä tai virtuaalinen Windows Server 2012 R2 johon on asennettu RAS palvelut.
Hallintaratkaisuna käytetään SCVMM 2012 R2 palvelinta jonka avulla toteutetaan tarvittavat komponentit virtuaaliseen verkkoinfastruktuuriin. SCVMM on tarkoitettu yksityisen pilven hallintaratkaisuksi, johon voidaan liittää konesalin eri resurssit sekä koostaa niistä ja hallita niitä järjestelmäkokonaisuuksina. SCVMM pitää sisällään palvelimiin, tallennukseen ja verkkoon liittyviä objekteja. Käsittelen tässä nyt vain verkon virtualisointiin tarvittavat objektit.
- Fabric – Networking – Logical Networks. Looginen verkko Provider Address segmentille. PA looginen verkko kuvaa konesaliverkossa toimivaa aliverkkoa, jossa kuljetetaan virtualisoidun verkon liikenne. Luotaessa loogista verkkoa PA toiminnolle, tulee alussa valita kyseinen verkko käyttämään Hyper-V verkon virtualisointia. Tässä objektissa tulee myös kuvata osoitealueet, jotka toimivat sen sisällä.
- Kyseisen loogisen verkon IP Pool osoitteistot. IP osoitealue, josta tullaan automaattisesti jakamaan PA osoitteet virtuaaliverkoissa.
- Fabric – Networking – Port Profiles. Uplink Port Profile, jota tullaan käyttämään seuraavassa kohdassa toteutettavassa loogisessa kytkimessä Uplink porttina. Tässä voidaan myös määritellä fyysisten verkkokorttien tiimaus ja siinä käytettävä kuormantasaustekniikka. Uplink Port Profileen tulee lisätä kaikki sen kautta ajettavat loogiset verkot ja tässä esimerkissä tulee lisätä edellä rakennettu PA looginen verkko.
- Fabric – Networking – Logical Switches. Looginen kytkin, jonka kautta virtuaaliverkot tullaan ajamaan. Loogiseen kytkimeen lisätään edellä tehty Uplink Port Profile.
- Fabric – Servers – All hosts. Edellä luotu looginen kytkin tulee seuraavaksi lisätä niiden Hyper-V palvelinten fyysisille verkkokorteille, joiden kautta NVGRE liikenne halutaan viedä. Tässä on mahdollista myös dedikoida jokin tietty verkkokortti pelkästään NVGRE liikenteelle.
- VMs and Services – VM Networks. Asiakasverkot tai virtualisoidut verkkosegmentit luodaan eri paikassa kuin loogiset verkot. VM Networks verkkojen luonti vaiheessa valitaan otetaanko kyseisessä segmentissä verkon virtualisointi käyttöön ja mitä loogista verkkoa hyödynnetään alla.
- Seuraavassa vaiheessa, kun SCVMM:ään on lisätty NVGRE Gateway, tulee sen toimintamalli (Reititys, NAT vai VPN) VM Network verkkosegmentissä määrittää kyseisen VM Networkin asetuksista.
- Fabric – Networking – Network Service. Lisätään NVGRE Gateway aiemmin luotuun VM Networks verkkoon. Mikäli käytetään kolmannen osapuolen Gateway laitetta, tulee se rekisteröidä asentamalla valmistajan tekemä laajennus ennen NVGRE Gatewayn määritystä. SCVMM 2012 R2:sta löytyy valmiiksi laajennus Windows Server 2012 R2 palvelimen Gateway toiminnolle.
- Gatewayn lisäämisen jälkeen sille määritellään Front End Connection ja Back End Connection, joiden välillä se alkaa toimimaan yhdyskäytävänä.
NVGRE Gateway laitteena voi siis toimia esimerkiksi virtuaalinen Windows Server 2012 R2 palvelin. Käyttöönotossa palvelimeen tulee asentaa Remote Access roolista ”DirectAccess and VPN” sekä ”RAS” palvelut. Hallintaa varten Gateway palvelimeen tulee asentaa Remote Access Management Toolsin alta “Remote Access GUI and Command-Line Tools” sekä ”Remote Access module for Windows PowerShell”. Kaikki muut Gatewayn määrittelyt tehdään tämän jälkeen SCVMM konsolista.
NVGRE Gatewayllä on kolme tapaa, jolla se voi yhdistää virtualisoidun verkkosegmentin perinteiseen verkkoon.
- Ensimmäinen ja helpoin tapa on käyttää NVGRE Gateway laitetta reitittimenä, joka reitittää virtualisoidut verkkosegmentit normaalin verkon kanssa. Tässä tapauksessa virtuaalinen verkkosegmentti on normaali osa omaa verkkoifrastruktuuria ja tarjoaa tehokkaan tavan segmentoida palvelimia eri verkkoalueisiin verkon virtualisoinnin avulla.
- Toinen tapa on käyttää NAT osoitekäännöstä Gateway laitteessa. Tämän avulla Gatewayn takana oleva virtuaaliverkko näytetään yhden IP osoitteen takaa muulle verkolle. Käyttötapauksena voisi olla esimerkiksi ulkoistusasiakkaalle tarjottu omasta ympäristöstä erillinen verkkosegmentti, jossa voisi olla itsenäisesti toimiva palvelu, kuten esimerkiksi organisaation ulkoistettu julkinen verkkopalvelu.
- Kolmas tapa on Site to Site VPN, jolloin esimerkiksi ulkoistusasiakas voisi ulottaa oman verkkoinfrastruktuurinsa Hyper-V pohjaiseen palveluun muuttamatta omaa IP osoitteistoaan tai verkkoinfrastrukturiaan.
Vianselvitys
Mikäli varaat jonkin tietyn verkkoadapterin NVGRE liikenteelle, kyseisen verkkoadapterin ominaisuuksista poistetaan kaikki muut palvelut paitsi Hyper-V Extensible Switch. Tässä tilanteessa kun adapteriin ei ole liitettynä esimerkiksi ”Internet Protocol Version 4” palvelua, ei perinteiset työkalut kuten ipconfig näe mikä PA osoite on liitetty kyseiseen adapteriin. Tässä muutamia työvälineitä avuksi vianselvitykseen NVGRE verkossa.
Hyper-V palvelimessa:
- Get-NetVirtualizationProviderAddress – tällä PowerShell komennolla näet mikä PA osoite kyseiselle Hyper-V koneelle on annettu loogisesta PA verkosta.
- ”Ping –p” – vanhaan ping komentoon on lisätty valitsin –p, jonka avulla voit testata NVGRE verkon yhteyttä eri Hyper-V alustapalvelinten välillä, esimerkiksi pingaamalla toisen Hyper-V alustan PA osoitetta.
- Get-NetVirtualizationLookupRecord - tällä komennolla voit tarkastaa mikä PA osoite on yhdistetty mihinkin CA osoitteeseen.
SCVMM palvelimessa:
- Get-SCIPAddress|ft -a Name,Description – näyttää mitä osoitteita on annettu loogisista verkoista sekä VM Networks verkoista ja kenelle.
- Get-SCStaticIPAddressPool – näyttää tarkat tiedot loogisista verkoista sekä VM Networks verkoista. Tämän avulla voi tarkastaa esimerkiksi sen, montako osoitetta on jostain IP alueesta varattu ja paljonko niitä on vapaana.
Verkon virtualisointiin liittyvät hallintavälineet ovat muuttuneet kuluneen vuoden aikana merkittävästi. Suosittelen että käytät Hyper-V 2012 R2 ja SCVMM 2012 R2 versioita, mikäli lähdet testaamaan Hyper-V:n verkon virtualisointia.
Lisätietoja:
Hyper-V verkon virtualisointiin löytyy myös valmis ohjeistus, jonka avulla sitä voi testata omassa ympäristössä. Ohje on ladattavissa täältä:
https://www.microsoft.com/en-us/download/details.aspx?id=39284
Microsoft Private Cloud alueen MVP asiantuntijoiden dokumentti verkon virtualisoinnista Hyper-V ympäristössä Windows Server 2012 R2 ja SCVMM 2012 R2 Preview versioilla:
https://gallery.technet.microsoft.com/Hybrid-Cloud-with-NVGRE-aa6e1e9a
Hyper-V verkon virtualisoinnista löytyy erittäin hyvä looginen arkkitehtuurikuva. Arkkitehtuurikuva on ladattavissa täältä:
https://www.microsoft.com/en-us/download/details.aspx?id=37137
NVGRE IETF Draft:
https://tools.ietf.org/html/draft-sridharan-virtualization-nvgre-03
Technet TV tallenne, Hyper-V verkon virtualisointi, löytyy seuraavasta osoitteesta:
Terveisin,
Antti Alila
Tuotepäällikkö
Server & Cloud, Microsoft Oy