3.2. Configureer virtuele machine (VM) instellingen
Na het installeren van Hyper-V en het configureren van Hyper-V Manager, bent u klaar om virtuele machines te maken en de instellingen te configureren die elke afzonderlijke VM gebruikt. Dan installeert u het gastbesturingssystemen op de VM’s, alsof het fysieke computers zijn. Met Hyper-V Manager of Windows PowerShell kunt u nieuwe virtuele machines maken en hun instellingen configureren.
3.2.1 Een virtuele machine maken
Standaard slaat Hyper-V de bestanden van de virtuele machines op in de mappen die u hebt opgegeven op de pagina Default Stores tijdens de installatie van de rol. Elke virtuele machine gebruikt de volgende bestanden:
- Een virtueel machine-configuratiebestand (.vmc) in XML-indeling dat de virtuele machineconfiguratie-informatie bevat, inclusief alle instellingen voor de virtuele machine.
- Een of meer virtuele harde schijf (.vhd of .vhdx) bestanden om het gastsysteem, applicaties en gegevens voor de virtuele machine op te slaan.
- Een virtuele machine kan ook een bestand met opgeslagen status (.vsv) gebruiken, als de machine in een opgeslagen staat is geweest.
3.2.1.1 Een VM maken in Hyper-V Manager
Gebruik de volgende procedure om een nieuwe virtuele machine te maken met Hyper-V Manager.
- Meld u aan bij de Windows Server 2016-hostserver met een account bij administratieve rechten.
- Selecteer Hyper-V Manager in het menu Extra van het venster Serverbeheer.
- Selecteer een Hyper-V-server in het linkerdeelvenster van de Hyper-V Manager-console.
- Kies in het deelvenster Acties Nieuw | Virtuele machine. De wizard nieuwe virtuele machine verschijnt en toont de pagina Voordat U Begint.

- Klik op Volgende. De pagina Naam en Locatie opgeven wordt weergegeven.
- Typ in het tekstvak Naam een naam voor de virtuele machine. Hyper-V gebruikt dit ook naam om de VM-bestanden en mappen te maken. Klik vervolgens op Volgende. De Generatie Opgeven pagina verschijnt.
- Geef aan of u een virtuele machine van generatie 1 of generatie 2 wilt maken, en klik op Volgende. De pagina Geheugen Toewijzen verschijnt.
- Typ in het tekstvak Opstartgeheugen de hoeveelheid geheugen die u voor de virtuele machine wilt gebruiken en klik op Volgende. De pagina Netwerk configureren wordt weergegeven.
- Selecteer een virtuele switch in de vervolgkeuzelijst Verbinding en klik op Volgende. De pagina Connect Virtual Hard Disk verschijnt.
- Laat de optie Een virtuele harde schijf maken geselecteerd en typ waarden voor de volgende velden:
- Name – Specificeert de bestandsnaam voor de virtuele harde schijf, met behulp van de .vhdx-indeling.
- Location – Specificeert een andere locatie voor de virtuele harde schijf dan de standaardlocatie.
- Size – Specificeert de maximale grootte van de virtuele harde schijf.
- Klik op Volgende. De pagina Installatie-opties verschijnt.
- Laat de optie Een Besturingssysteem Later Installeren geselecteerd en klik op Volgende. De wizard De Nieuwe Virtuele Machine Voltooien pagina verschijnt.
- Klik op Voltooien. De wizard maakt de nieuwe virtuele machine en voegt deze toe aan de lijst met virtuele machines in Hyper-V Manager.
De virtuele machine die met deze procedure wordt gemaakt, is gelijk aan een bare-metalcomputer. Het heeft alle (virtuele) hardware die nodig is om te draaien, maar mist software.
3.2.1.2 Een VM maken in Windows PowerShell
Om een nieuwe virtuele machine met Windows PowerShell te maken, gebruikt u de cmdlet New-VM met de volgende basissyntaxis:
New-VM -Name VirtualMachineName -MemoryStartupBytes geheugen -Generation # -NewVHDSizeBytes schijfgrootte
De volgende opdracht maakt bijvoorbeeld een nieuwe Generation 2 VM met de naam Server1 met 1 GB geheugen en een nieuwe virtuele harde schijf van 40 GB:
New-VM -Name "server1" -Generation 2 -MemoryStartupBytes 1gb -NewVHDSizeBytes 40gb
De cmdlet New-VM heeft nog veel meer parameters, die u kunt verkennen via de Get-Help cmdlet.
3.2.2 VM instellingen configureren
Elke virtuele Hyper-V-machine bestaat uit instellingen die de virtuele hardware bronnen in de machine specificeren en de configuratie van die bronnen. U kunt deze instellingen in Hyper-V Manager beheren en wijzigen met behulp van het dialoogvenster Instellingen voor de bepaalde virtuele machine.
Als u een VM in de lijst Virtuele Machines in Hyper-V Manager selecteert, wordt een reeks pictogrammen in een apart gedeelte van het deelvenster Acties weergegeven. Klik op het pictogram Instellingen om het Dialoogvenster Instellingen, de primaire configuratie-interface voor die VM. Hier kunt u alle instellingen wijzigen die u hebt geconfigureerd toen u de virtuele machine hebt aangemaakt.

U kunt de instellingen van een VM ook configureren met behulp van de PowerShell-cmdlets in de Hyper-V-module. Gebruik de volgende opdracht om alle cmdlets in de module weer te geven:
Get-Command -Module hyper-v
3.2.2.1 Geheugen toevoegen of verwijderen van een VM in bedrijf
Op de Geheugen pagina van het dialoogvenster Instellingen kunt u opgeven hoeveel servergeheugen van de host moet worden toegewezen aan de geselecteerde VM. Op een Hyper-V-server die met Windows Server 2012 R2 of eerder wordt uitgevoerd, zijn alle instellingen op de geheugenpagina van een actieve VM uitgeschakeld. U kunt deze instellingen niet meer wijzigen wanneer de VM wordt uitgevoerd evenals dat kunt u geheugen aan de fysieke computer toevoegen terwijl deze actief is.
In Windows Server 2016 Hyper-V is dit echter gewijzigd. Op de geheugenpagina van een met Generation 1 of Generation 2 VM, is de RAM-instelling actief, en u kunt de toewijzing van geheugen voor de virtuele machine in bedrijf verhogen of verlagen. Deze “hot”-chagnes worden van kracht zodra u op OK of de knop Toepassen klikt.

Als u de geheugentoewijzing met PowerShell wilt wijzigen, gebruikt u de cmdlet Set-VMMemory, zoals in het volgende voorbeeld:
Set-VMMemory -VMName server1 -StartupBytes 1024mb
3.2.2.2 Dynamisch geheugen configureren
Een van de belangrijkste voordelen van Hyper-V is de mogelijkheid om efficiënter gebruik te maken van de hardwarebronnen van de server. Vóór Hyper-V was het typisch dat een server meestal tussen de 10 tot 20 procent van zijn resourcecapaciteit werkte. Het resterende geheugen en processorvermogen was aanwezig om af en toe gebruikspieken aan te kunnen die daarvoor nodig waren.
Dynamisch geheugen is een Hyper-V-functie die automatisch geheugen aan VM’s toewijst en het dealloceert indien nodig. Hiermee kunnen beheerders hun server consolidatiepercentages uitbreiden.
Op een Hyper-V-server met 16 GB RAM kunt u bijvoorbeeld zeven VM’s maken met elk 2 GB of geheugen zonder dynamisch geheugen, omdat elk van die VM’s soms 2GB vereist. Die VM’s gebruiken echter meestal mogelijk slechts 1 GB geheugen. Als dynamisch geheugen is geactiveerd, kunt u mogelijk 10 of 12 VM’s op dezelfde server maken. Ze hebben zullen meestal 1 GB nodig hebben, en er zijn meerdere gigabytes geheugen over voor tijdelijke toewijzingen aan de Vm’s gedurende de perioden waarin ze de volledige 2 GB nodig hebben.
Dynamische geheugeninstellingen
Om dynamisch geheugen te gebruiken, schakelt u het selectievakje Dynamisch geheugen inschakelen in op de geheugenpagina van het dialoogvenster Instellingen. Vervolgens configureert u de volgende geheugen instellingen:
- RAM – Geeft de hoeveelheid geheugen aan die Hyper-V toewijst aan de VM wanneer deze wordt gestart.
- Minimum RAM – Specificeert de minste hoeveelheid RAM die aan de VM kan worden overgelaten wanneer dynamisch geheugen de geheugentoewijzing vermindert. De standaardinstelling is 512 MB.
- Maximum RAM – Specificeert de grootste hoeveelheid RAM die het dynamisch geheugen ooit kan toewijzen aan de VM. De standaardinstelling is 1 TB maximaal toegestaan geheugen in elke VM.
- Geheugenbuffer – Specificeert het percentage van het momenteel toegewezen geheugen dat dynamisch geheugen moet behouden als buffer voor toekomstige uitbreidingen. Hyper-V zal geen buffergeheugen aan een andere VM aan een andere VM toewijzen, maar doet dit wel indien nodig.
Dynamische geheugenbeperkingen
Terwijl u de RAM-instelling kunt wijzigen terwijl een VM actief is wanneer deze dynamisch is geheugen niet is ingeschakeld, zijn de volgende beperkingen van toepassing:
- U kunt dynamisch geheugen niet in- of uitschakelen terwijl de VM actief is.
- U kunt de RAM-instelling niet wijzigen wanneer dynamisch geheugen is ingeschakeld.
- U kunt de instelling Minimum RAM verlagen, maar niet verhogen, terwijl de VM in bedirjf is.
- U kunt de instelling Maximaal RAM verhogen, maar niet lager, terwijl de VM in bedrijf is.
Niet elke applicatie die op een VM draait, is een geschikte kandidaat voor dynamisch geheugen. Microsoft Exchange is bijvoorbeeld ontworpen om al het beschikbare geheugen op continu basis te gebruiken. Exchange slaat gegevens in RAM op als deze niet voor andere doeleinden worden gebruikt, dus een dynamische vermindering van het beschikbare geheugen kan een vermindering van prestaties veroorzaken. Wanneer u VM’s in een productieomgeving uitvoert, is het een goed idee om dit bij de fabrikant van de toepassing te controleren voordat deze met ingeschakeld dynamisch geheugen wordt uitgevoerd.
3.2.2.2.1 Dynamische geheugen allocaties
Windows Server 2016 vereist, net als alle Windows-versies, meer geheugen om op te starten dan het nodig heeft de stabiele toestand te behouden na de start. Zodra het opstartproces op een VM is voltooid, daalt de hoeveelheid geheugen die door het gastbesturingssysteem wordt gebruikt en claimt Hyper-V een deel van het geheugen dat eraan is toegewezen.
Het proces van het aanpassen van het toegewezen geheugen aan een VM is een coöperatieve regeling tussen de geheugenbeheerder in het gastbesturingssysteem, een dynamische geheugenstuurprogramma in de Hyper-V Integration Services die op de gast worden uitgevoerd en de Hyper-V-hostserver zelf. Voor zover het gastbesturingssysteem kan het enkel werken met het geheugen dat momenteel toegewezen is. Wanneer een toepassing die op de gast wordt uitgevoerd, meer geheugen nodig heeft, zal het hierom aan de geheugenbeheerder van het gastbesturingssysteem vragen.
Het dynamisch geheugenstuurprogramma op de guest detecteert deze vraag en informeert de Hyper-V-server, die extra geheugen voor de VM toewijst. Het gastbesturingssysteem, die de industriestandaard Hot Add geheugenfunctie volgt, bepaalt dat deze nu voldoende geheugen heeft om aan de applicatieverzoek te voldoen.
Het verminderen van het geheugen toegewezen aan de VM is een andere procedure, want er is een gestandaardiseerde manier om geheugen voor het gastbesturingssysteem toe te voegen, maar er is geen standaard om het te verwijderen. Wanneer het geheugen dat door het gastbesturingssysteem wordt gebruikt niet meer nodig is, zal de ‘balloon driver’het gebruikte dynamisch geheugen vergrendelen, zodat Hyper-V het kan geheugen kan terugvorderen en elders toewijzen. Voor zover het gastbesturingssysteem is dat geheugen is er nog steeds en laten mapping tools zien dat het nog steeds door de driver wordt vergrendeld, maar in werkelijkheid heeft Hyper-V het teruggenomen.
Daarom ziet u mogelijk verschillende cijfers voor het geheugengebruik in de gastbesturing systeem, vergeleken met die van Hyper-V. In een geval als dit is de te volgen regel dat Hyper-V correct is, en het gastbesturingssysteem wordt bedrogen door de ‘balloon driver’. Het gastbesturingssysteem ziet nooit dat het vergrendelde geheugen van de bestuurder is vrijgegeven tot de VM opnieuw is gestart.
Om de huidige geheugentoewijzingsstatistieken voor een virtuele machine te bekijken selecteert u het Tabblad Geheugen in de Hyper-V Manager-console zoals getoond in de volgend afbeelding.

3.2.2.3 Ondersteuning voor Non-Uniform Memory Access (NUMA) configureren
Non-Uniform Memory Access (NUMA) is een systeemarchitectuur die wordt gebruikt om de geheugenefficiëntie te vergroten in computers met meerdere processors. NUMA is een architectuur die de logische processors van het systeem en het geheugen ervan in NUMA-knooppunten verdeelt , waarbij elk knooppunt een of meer logische processors en het dichtstbijzijnde geheugengebied op een afzonderlijke bus bevat. Deze knooppuntbussen worden vervolgens verbonden door een andere bus, waardoor de processors toegang hebben al het systeemgeheugen.
De fundamentele regel achter NUMA is “dichtbij geheugen is sneller.” Voor elke logische processor, wordt het geheugen binnen zijn NUMA-knooppunt beschouwd als lokaal geheugen. Geheugen in andere knooppunten wordt extern geheugen of vreemd geheugen genoemd. Processoren presteren beter bij toegang tot lokaal geheugen dan bij toegang tot extern geheugen omdat er minder toegangslatentie is.
Voor elke processor is het verschil tussen toegang tot lokaal geheugen en geheugen op afstand bekend als zijn NUMA-ratio. Een systeem dat symmetrische multiprocessing (SMP) gebruikt, waarbij alle processors en al het geheugen verbonden zijn met behulp van een enkele bus, heeft een NUMA-ratio van 1:1.
Om te profiteren van de NUMA-architectuur, zijn bepaalde applicaties geoptimaliseerd om waar mogelijk processoren en geheugen binnen hetzelfde knooppunt te gebruiken. Microsoft SQL Server is een voorbeeld van een dergelijke toepassing.
3.2.2.3.1 Node spanning
Net zoals Hyper-V de andere hardware in een fysieke computer virtualiseert voor gebruik in VM’s, zo virtualiseert het ook de NUMA-architectuur. Standaard probeert Hyper-V een VM te starten om de bronnen binnen een enkel NUMA-knooppunt te gebruiken. Als de NUMA-architectuur van de fysieke computer onvoldoende geheugen binnen een enkel knooppunt toelaat, gebruikt Hyper-V het geheugen van andere knooppunten. Dit wordt NUMA spanning genoemd.
Met NUMA spanning kunnen VM’s elk beschikbaar geheugen op de hostserver gebruiken, ongeacht het knooppunt waarin het zich bevindt. Er zijn echter ook mogelijke prestatie nadelen.
VM- en applicatieprestaties kunnen tussen het opnieuw opstarten verschillen omdat de uitlijning van de NUMA-knooppunten kan veranderen. Een VM kan bijvoorbeeld al zijn geheugen toegewezen gekregen hebben aan één NUMA-knooppunt. Vervolgens, na het herstarten van de VM, als geheugen moet worden toegewezen vanaf meerdere knooppunten, neemt de latentie in sommige geheugentoegangen toe en neemt de prestatie af.
Om deze situatie te voorkomen, kunt u een Hyper-V-server configureren om NUMA niet toe te staan overspannen. Dit zorgt ervoor dat de prestaties van uw VM’s en uw applicaties consistent zijn, zelfs na het opnieuw opstarten. Dit heeft echter ook potentiële nadelen. Als NUMA overspanning is uitgeschakeld en een VM geen toegang heeft tot alle bronnen die het nodig heeft in een enkel knooppunt, start het niet. Bovendien heeft dynamisch geheugen slechts toegang tot het geheugen in één knooppunt.
Gebruik de volgende procedure om NUMA spanning voor een Hyper-V-server te configureren.
- Klik in Hyper-V Manager in het deelvenster Acties op Hyper-V-instellingen. De Hyper-V Dialoogvenster Instellingen verschijnt.
- Selecteer in de serverlijst NUMA Spanning om de NUMA Spanning-pagina weer te geven.

- Schakel het selectievakje Virtuele Machines Toestaan Fysieke NUMA-knooppunten Uit Te Schakelen uit.
- Klik op OK.
Opmerking Hyper-V-instellingen
Merk op dat de instellingen in het dialoogvenster Hyper-V-instellingen van invloed zijn op alle virtuele machines op de server, en dat het uitschakelen van NUMA-overspanning voorkomt dat al uw VM’s hebben toegang hebben tot extern geheugen.
3.2.2.3.2 NUMA topologie
Wanneer u een virtuele machine maakt, maakt Hyper-V een virtuele NUMA-architectuur die komt overeen met de fysieke NUMA-architectuur van de hostserver. Het is echter mogelijk om de NUMA-knooppuntinstellingen voor een specifieke virtuele machine te wijzigen.
Waarom zou u dit willen doen? Wanneer u werkt met een hostserver die meerdere NUMA-knooppunten heeft en u een NUMA-bewuste applicatie in een VM gebruikt, kan de hoeveelheid geheugen die u aan die VM toewijst, van cruciaal belang zijn. Microsoft heeft geschat dat de prestaties van een virtuele machine met maar liefst acht procent kunnen worden verminderd als de de grens van de geheugentoewijzing het NUMA-knooppunt overschrijdt.
Als elk NUMA-knooppunt op een hostserver bijvoorbeeld 16 GB geheugen heeft, dan mogen de VM’s niet meer dan 16 GB toegewezen krijgen. In een geval als dit, kan het verhogen van het geheugen van een VM boven 16 GB leiden tot een prestatievermindering. Daarom, als u een toepassing hebt die meer dan 16 GB geheugen vereist, kunt u het de grootte van de virtuele VM NUMA-knooppunten aanpassen, om grenzen van overspanning van (virtuele) knooppunten te voorkomen. Natuurlijk kan de VM nog steeds de grenzen van het fysieke knooppunt van de hostserver overspannen en zal er dus waarschijnlijk enige prestatievermindering zijn, maar niet zoveel als die opgelopen zijn door overspanning in de virtuele NUMA-architectuur.
Gebruik de volgende procedure om de NUMA-configuratie voor een virtuele machine te configureren.
- Open in Hyper-V Manager het dialoogvenster Instellingen voor de VM die u wilt configureren.
- Vouw in de lijst Hardware het item Processor uit en selecteer het subnummer NUMA. De NUMA configuratiepagina verschijnt.

- Stel in het vak NUMA-topologie waarden in voor de volgende instellingen:
Maximaal aantal processors
Maximale hoeveelheid geheugen (MB)
Maximaal NUMA-knooppunten toegestaan op een socket - Klik op OK.
3.2.2.4 Smart Paging configureren
Smart paging is een Hyper-V-functie waarmee de hostserver het overmatig toegewezen geheugen kan compenseren. Als de host onvoldoende geheugen heeft om een VM te starten, gebruikt deze schijfruimte voor geheugenpaging, maar alleen tijdens het opstarten.
Wanneer virtuele machines dynamisch geheugen gebruiken, hebben ze meestal verschillende RAM en Minimum RAM-waarden. Hierdoor kan de VM een deel van zijn geheugen vrijgeven nadat de opstartprocedure is voltooid. Het is dus mogelijk om meerdere VM’s te tegelijkertijd te laten draaien gebruiken en ze samen alle beschikbare RAM in de hostserver te laten gebruiken. Dit zal werken als de VM’s actief zijn, maar wanneer de VM’s opnieuw opstarten, is er onvoldoende geheugen om te geven als bepaald in de RAM-instelling.
Een veel voorkomend scenario waarin dit kan voorkomen, is wanneer u meerdere VM’s geconfigureerd hebt om automatisch te starten wanneer de hostserver opstart. Als u een Hyper-V-host server hebt met 16 GB geheugen, moet u in staat zijn om 10 VM’s uit te voeren die elk 1 GB voor een stabiel toestand nodig hebben. Als elk van deze VM’s echter een RAM-instelling van 2 GB heeft, heeft de hostserver onvoldoende geheugen om ze allemaal tegelijk te starten. In dit geval compenseert de host het geheugentekort door schijfruimte te gebruiken in plaats van RAM. Schijfruimte kan veel langzamer zijn dan RAM, maar het oproepen gebeurt alleen tijdens het opstarten van de VM. Zodra de VM wordt gestart en geeft een deel van het geheugen vrij.
Smart paging is transparant voor de virtuele machine, behalve voor de mogelijke extra tijd die nodig is om op te starten. De enige administratieve controle over slimme paging is de mogelijkheid om een alternatieve locatie voor het wisselbestand op te geven. U doet dit op op de Smart Paging Bestandslocatie Pagina in een dialoogvenster Vm-instellingen.

Standaard maakt Hyper-V het wisselbestand in de map Virtuele machines. De enige dwingende reden om dit te wijzigen, is de schijfruimte op de schijf waar de toegewezen map zich bevindt. Als de map Virtuele machines zich bijvoorbeeld op een SSD bevindt, wilt u misschien het slimme wisselbestand verplaatsen naar een locatie op een minder duur medium.
3.2.3 Bron controle configureren
Broncontrole is een Hyper-V-functie die het mogelijk maakt om de bronnen te volgen die de virtuele machine gebruikt terwijl deze werkt. De functie is ontworpen voor private cloud op basis van kosten die VM’s voor clients hosten. Door het gebruik van hun middelen te meten, kunnen leveranciers klanten in rekening brengen op basis van hun werkelijke activiteit, of bevestigen dat ze de contractvoorwaarden naleven.
Broncontrole is geïmplementeerd in Windows PowerShell. Wanneer u meten inschakelt, begint het systeem statistieken te compileren en gaat door totdat u de tijdmeting reset, dan worden de tellers weer op nul gezet.
Gebruik een opdracht zoals de volgende om bronmeting in te schakelen:
Enable-VMResourceMetering -VMName server1
Nadat meting is ingeschakeld, volgt het systeem het gebruik van de volgende bronnen:
- CPU – Specificeert het gebruik van de VM-processor in megahertz (MHz). Door te meten MHz in plaats van een percentage, blijft de statistiek geldig, zelfs wanneer de VM wordt verplaatst naar een andere hostserver.
- Geheugen – Hyper-V volgt het minimale, maximale en gemiddelde toegewezen geheugen, gemeten in megabytes (MB).
- Netwerk – Specificeert het totale inkomende en uitgaande netwerkverkeer van de VM in megabytes.
- Disk – Specificeert de totale opslagcapaciteit van de virtuele harde schijven van de VM, plus de ruimte die op de host wordt verbruikt door snapshots.
Gebruik een opdracht zoals de volgende om de statistieken van de resourcemeting voor een specifieke VM weer te geven:
Measure-VM -VMName server1

Om aanvullende statistieken voor het meten van bronnen weer te geven, kunt u de cmdlet Measure-VM uitvoeren en de uitvoer als volgt leiden naar de cmdlet Format-List.

Gebruik de Reset-VMResourceMetering om de statistieken van de bronmeting terug op nul te zetten cmdlet, zoals in het volgende voorbeeld:
Reset-VMResourceMetering -VMName server1
Gebruik de cmdlet Disable-VMResourceMetering om resource-meting voor een VM uit te schakelen, zoals in het volgende voorbeeld:
Disable-VMResourceMetering -VMName server1
3.2.4 Beheer van integratieservice
Integration Services is een softwarepakket dat op een gastbesturingssysteem draait en mogelijk maakt om te communiceren met de Hyper-V-hostserver. Ontworpen voor een specifiek gastbesturingssysteem, worden sommige softwarecomponenten in het Integration Services-pakket automatisch uitgevoerd, zoals de ballondriver die eerder in dit hoofdstuk is genoemd. Er zijn anderen die beheerders naar behoefte kunnen in- of uitschakelen.
Om de componenten te selecteren die beschikbaar zijn op een virtuele machine, opent u de Integration Services-pagina in het dialoogvenster VM-instellingen en selecteert u of wist u het vinkje in de vakken.

Een VM met Windows Server 2016 heeft zes Integration Services componenten die standaard zijn ingeschakeld, behalve voor gastenservice. De functies van de componenten zijn als volgt:
- Afsluiten besturingssysteem – Hiermee kunnen beheerders een ordelijke VM afsluiten, zonder dat u zich daarvoor hoeft aan te melden. Het is mogelijk om een VM af te sluiten met behulp van Hyper-V Manager of de Stop-VM-cmdlet in PowerShell.
- Tijdsynchronisatie – Synchroniseert de klok van de VM met de klok op de Hyper-V host-server. De enige reden om deze service uit te schakelen is wanneer u een VM gebruikt voor een Active Directory Domain Services-domeincontroller en u het systeem geconfigureerd hebt om te synchroniseren met het tijdsignaal van een externe bron.
- Gegevensuitwisseling – Ook bekend als key-value pair (KVP), dit is een dienst die het het gastbesturingssysteem op een VM mogelijk maakt om informatie te delen met de Hyper-V-host serverbesturingssysteem met behulp van de VMBus. Daarom is er geen netwerkverbinding verplicht. De informatie wordt opgeslagen in het register op een Windows-gast en in een bestand op een Linux / UNIX-gast. Applicatieontwikkelaars kunnen Windows Management gebruiken Instrumentatie (WMI) scripts om instructies of andere informatie in KVP’s op te slaan die door de gastheer moet worden gezien.
- Heartbeat – Zorgt ervoor dat de VM op gezette tijden een signaal genereert dat aangeeft dat alles normaal werkt. De hostserver kan detecteren wanneer het hartslagsignaal is gestopt, wat aangeeft dat de VM niet reageert. De huidige staat van de hartslag signaal wordt weergegeven op het tabblad Samenvatting van een actieve VM in Hyper-V Manager, of in de uitvoer van de Get-VMIntegrationService PowerShell cmdlet.

- Back-up (volumeschaduwkopie) – Hiermee kunnen beheerders een back-up van een VM maken met back-upsoftware op de hostserver. Dit type back-up omvat de VM configuratie, de virtuele harde schijven en eventuele controlepunten. De volumes op de VMmoet het NTFS-bestandssysteem gebruiken en volumeschaduwkopie hebben ingeschakeld.
- Gastservices – Hiermee kunnen beheerders bestanden van en naar een actieve VM kopiëren met behulp van de VMBus in plaats van een netwerkverbinding. Om bestanden op deze manier te kopiëren, moet u de Copy-VMFile PowerShell-cmdlet gebruiken.
3.2.5 Maak en configureer generatie 1 en generatie 2 VM’s
Wanneer u een nieuwe virtuele machine maakt in de Hyper-V Manager, bevat de Nieuwe Virtuele Machine Wizard een pagina, waarop u opgeeft of u een VM van generatie 1 of generatie 2 wilt maken.

De cmdlet New-VM PowerShell bevat ook een parameter Generation, die u gebruikt in een commando als het volgende:
New-VM -Name server1 -Generation 2 -memorystartupbytes 1gb -NewVHDPath "C:\disks\server1.vhdx"
Als u de parameter Generation weglaat van de opdrachtregel, maakt de cmdlet standaard een Generatie 1 VM.
3.2.5.1. Generatie 2 voordelen
Generation 1 VM’s zijn ontworpen om de hardware te emuleren die op een standaardcomputer wordt gevonden, en hiervoor gebruiken ze stuurprogramma’s voor specifieke apparaten, zoals een AMI BIOS, een S3-grafische kaart adapter en een Intel-chipset en netwerkadapter. Generatie 1 VM’s die u met Windows Server 2016 Hyper-V maakt zijn volledig compatibel met alle voorgaande Hyper-V versies.
Generation 2 VM’s gebruiken in plaats daarvan synthetische stuurprogramma’s en softwarematige apparaten, en bieden voordelen die het volgende omvatten:
- UEFI boot – In plaats van het traditionele BIOS te gebruiken, ondersteunen Generation 2 VM’s Secure Start met behulp van de Universal Extensible Firmware Interface (UEFI), waarvoor een systeem vereist is om op te starten vanaf digitaal ondertekende stuurprogramma’s en hen in staat stelt om op te starten van schijven groter dan 2 TB, met GUID-partitietabellen. UEFI wordt volledig geëmuleerd in VM’s, ongeacht de firmware in de fysieke hostserver.
- SCSI-schijven – Generation 2 VM’s laten de IDE-schijfcontroller weg die gebruikt wordt door Generation 1 VM’s om het systeem op te starten en gebruiken voor alle schijven een krachtige virtuele SCSI-controller, waardoor de VM’s kunnen opstarten vanaf VHDX-bestanden, maximaal 64 apparaten per controller ondersteunen en hot disk toevoegingen en verwijderingen kan uitvoeren.
- PXE boot – De native virtuele netwerkadapter in Generation 2 VM’s ondersteunt opstarten van een netwerkserver met behulp van de Preboot Execution Environment (PXE). Generatie 1 VM’s vereisen dat u de oude netwerkadapter gebruikt om PXE-boots te ondersteunen.
- SCSI boot – Generation 2 VM’s kunnen opstarten vanaf een SCSI-apparaat, waar Generation 1 VM’s dat niet kunnen. Generation 2 VM’s hebben geen IDE- of floppy controller-ondersteuning, en kunnen daarom niet vanaf deze apparaten opstarten.
- Opstartvolumegrootte – Generatie 2 VM’s kunnen opstarten van een volume tot 64 TB groot, terwijl de opstartvolumes van generatie 1 beperkt zijn tot 2 TB.
- VHDX boot volume resizing – In een Generation 2 VM kunt u een VHDX-opstartvolume uitbreiden of verkleinen terwijl de VM actief is.
- Op software gebaseerde randapparatuur – De stuurprogramma’s voor het toetsenbord, de muis en video’s is in een Generation 2 VM op software gebaseerd en niet geëmuleerd Dus ze zijn minder resourceintensief en zorgen ze voor een veiligere omgeving.
- Hot netwerkadapters – In Generation 2 VM’s kunt u netwerkadapters virtueel toevoegen en verwijderen terwijl de VM actief is.
- Verbeterde sessiemodus – Generatie 2 VM’s ondersteunen de Verbeterde sessiemodus, die Hyper-V Manager en VMConnect-verbindingen aan de VM extra mogelijkheden biedt, zoals audio, klembordondersteuning, printertoegang en USB-apparaten.
- Afgeschermde virtuele machines – Generation 2 VM’s kunnen worden afgeschermd, zodat de schijf en de systeemstatus is gecodeerd en alleen toegankelijk is voor geautoriseerde beheerders.
- Opslagruimten Direct – Generation 2 VM’s met Windows Server 2016 Datacenter Edition ondersteunen Storage Spaces Direct, wat een hoge prestatie, fouttolerante opslagoplossing kan bieden met behulp van lokale schijven.
1.2.5.2 Generatie 2 beperkingen
Het resultaat van een Generation 2 virtuele machine is dat de VM veel sneller wordt ingezet dan zijn Generatie 1 tegenhangers, veiliger is en ook beter presteert. De beperkingen, zijn echter dat Generation 2 VM’s sommige gastbesturingssystemen niet kunnen uitvoeren, waaronder de volgende:
- Windows Server 2008 R2
- Windows Server 2008
- Windows 7
- Enkele oudere Linux-distributies
- Alle FreeBSD-distributies
- Alle 32-bits besturingssystemen
Opmerking VM-generaties omzetten
Als u eenmaal een VM hebt gemaakt met een specifieke generatie, kunt u dit niet meer wijzigen in Windows Server 2016. Er is echter een downloadbaar script genaamd Convert-VMGeneration verkrijgbaar bij de Microsoft Developer Netwerk dat een nieuwe Generation 2 VM maakt van een bestaande Generation 1 VM, waarbij sommige apparaten worden weggelaten, zoals diskettestations, dvd-stations die fysieke media gebruiken, oudere netwerkadapters en COM-poorten. Het script is beschikbaar op https://code.msdn.microsoft.com/ConvertVMGeneration.
3.2.5.3 Een VM generatie kiezen
Over het algemeen moet u Generation 2 VM’s gebruiken, behalve in situaties waar ze niet ondersteund worden of ze niet de functies beiden die u nodig hebt, zoals:
- U wilt een BIOS-opstart uitvoeren op de VM.
- U hebt een bestaande VHD die geen UEFI ondersteunt die u in een nieuwe VM wilt gebruiken.
- U wilt een versie van het gastbesturingssysteem installeren die Generation 2 niet ondersteunt.
- U bent van plan de VM te verplaatsen naar een Windows Server 2008 R2 of een andere Hyper-V-server dat geen ondersteuning biedt voor VM’s van generatie 2.
- U bent van plan de VM naar Windows Azure te verplaatsen.
3.2.6 Uitgebreide sessie modus implementeren
Virtual Machine Connection (VMConnect) is de tool die Hyper-V Manager gebruikt om verbinding te maken met een actieve VM en toegang te krijgen tot de desktop. Wanneer u een VM in Hyper-V Manager selecteert en klikt op Verbinden in het deelvenster Acties, gebruikt u VMConnect. Echter, u kunt het hulpprogramma ook gebruiken zonder Hyper-V Manager door VMConnect.exe vanaf de opdrachtregel uit te voeren.
Verbeterde sessiemodus is een Hyper-V-functie die toegang geeft tot een virtuele machine via VMConnect om bronnen te gebruiken op de computer waarop VMConnect wordt uitgevoerd. Bijvoorbeeld, met ingeschakelde verbeterde sessiemodus, kan een VM afdruktaken naar systeemprinter van de host verzenden, inloggen met behulp van de smartcardlezer, klembordgegevens delen, audio afspelen of opnemen, de schermresolutie aanpassen of open de schijven van de host benaderen.
In Windows Server 2016 is de verbeterde sessiemodus standaard uitgeschakeld. Om het te gebruiken, moet u deze op twee plaatsen inschakelen. Om het te gebruiken moet u het op twee plaatsen in het dialoogvenster Hyper-V-instellingen op de hostserver inschakelen.
- In de server gedeelte, op de pagina Beleid voor Uitgebreide Sessiemodus, selecteer het selectievakje Toestaan Uitgebreide Sessiemodus.

- In het gebruikersgedeelte, op de pagina Verbeterde Sessiemodus, Selecteer het selectievakje Gebruik Uitgebreide Sessiemodus.
Als u de verbeterde sessiemodus wilt gebruiken, moet op het hostsysteem Windows Server 2016, Windows Server 2012 R2, Windows Server 2012, Windows 10, Windows 8.1 of Windows 8 worden uitgevoerd. De VM moet generatie 2 zijn en Windows Server 2016, Windows Server 2012 R2, Windows 10 of Windows 8.1 als het gastbesturingssysteem draaien. Extern bureaublad moet ook worden ingeschakeld in het blad systeemeigenschappen.
Wanneer u verbinding maakt met een VM waarop de verbeterde sessiemodus is ingeschakeld, verschijnt een extra verbindingsdialoogvenster, waarin u de schermresolutie voor de VM kunt selecteren.

Wanneer u op Opties weergeven klikt en vervolgens het tabblad Lokale bronnen selecteert, kunt u de audio-opties en lokale apparaten selecteren die u wilt dat de VM kan gebruiken. Als u op Connect klikt, wordt het VM-bureaublad geopend in het VMConnect-venster.

3.2.7 Linux en FreeBSD VM’s maken
Windows Server 2016 Hyper-V is niet beperkt tot Windows gastbesturingssystemen. U kan vele Linux-distributies of FreeBSD in een virtuele machine installeren. Installatieprocedures verschillen per distributie, net als de prestaties. In sommige gevallen moet u misschien enkele van de standaardinstellingen van de virtuele machine wijzigen om een bepaalde distributie te ondersteunen, maar in veel gevallen verloopt het installatieproces zonder problemen.
De eerste stap bij het maken van een VM met Linux of FreeBSD is het controleren of de distributie en versie die u wilt gebruiken ondersteund wordt Microsoft heeft ondersteuning aangekondigd voor verschillende Linux-distributies, waaronder CentOS, Red Hat, Debian, Oracle, SUSE en Ubuntu, evenals FreeBSD. Deze zijn beschikbaar in verschillende versies, en u moet ervoor zorgen dat de versie die u wilt gebruiken ondersteund wordt en dat deze de specifieke Hyper-V functies ondersteunt die belangrijk voor u zijn.
Meer beoordeling nodig? Ondersteunde Linux- en FreeBSD-versies
Voor informatie over de versies van elke Linux- en FreeBSD-distributie ondersteund als Hyper-V-gasten, en de functies die in elk beschikbaar zijn, zie de volgende pagina op de Microsoft TechNet-site https://technet.microsoft.com/en-us/windows-server-docs/compute/hyperv/supported-linux-and-freebsd-virtual-machines-for-hyper-v-on-windows.
3.2.7.1 VM’s configureren
De volgende stap is om te bepalen welke virtuele machine-instellingen voor een VM die Linux gebruikt of FreeBSD als gastbesturingssysteem moeten worden gebruikt. Ook hier zijn de instellingen die u nodig hebt over het algemeen specifiek voor het individuele besturingssysteem dat u wilt uitvoeren. Enkele recente Linux releases kunnen draaien op Generation 2 VM’s, maar anderen niet. Voor degenen die kunnen werken met Generatie 2 VM’s, moet u bevestigen dat zij Secure Boot kunnen gebruiken. Voor deze besturingssystemen is het hoogstwaarschijnlijk noodzakelijk voor beheerders om hun eigen testen te doen om te bepalen wat de optimale instellingen voor de beste prestaties zijn.
De Ubuntu-distributie van Linux wordt bijvoorbeeld ondersteund als een Hyper-V-gast. Als u echter een VM voor Ubuntu wilt maken, moet u rekening houden met het volgende:
- Gebruik voor generatie 1 VM’s de Hyper-V-netwerkadapter, niet het oude netwerk adapter. Als het nodig is om op te starten vanaf het netwerk met PXE, gebruik dan een generatie 2 VM, die PXE ondersteunt in de standaard netwerkadapter.
- Ubuntu kan draaien op een Generation 2 VM. Om Secure Boot te gebruiken, moet u echter selecteren de sjabloon Microsoft UEFI Certificate Authority op de beveiligingspagina in de instellingen dialoog venster.
- Veel Linux-bestandssystemen verbruiken hierdoor onnatuurlijk grote hoeveelheden schijfruimte de standaard 32 MB blokgrootte die Hyper-V gebruikt bij het maken van een VHDX-bestand. Naar bewaart opslag, raadt Microsoft aan een VHDX te maken met een blokgrootte van 1 MB. Hiervoor moet u de New-VHD PowerShell-cmdlet gebruiken met BlockSizeBytes parameter, zoals in het volgende voorbeeld:
New-VHD -Path C:\disks\server1.vhdx -Sizebytes 40gb -Dynamic -Blocksizebytes 1mb - De GRUB boot loader in Ubuntu heeft de neiging om een time-out te krijgen bij het herstarten van de VM onmiddellijk na de installatie. U kunt dit probleem oplossen na de installatie bewerk het bestand / etc / default / grub en wijzig de GRUB TIMEOUT-waarde in 100000, zoals getoond in Figuur 3-26.

3.2.7.2 Het gast besturingssysteem installeren
FreeBSD en de meeste ondersteunde Linux-distributies kunnen in verschillende vormen worden gedownload. De meeste hebben opstartbare installatieschijfafbeeldingen beschikbaar als ISO-bestanden, die u als virtuele dvd-drive in een VM kan laden om het installatieprogramma te starten. Veel van de huidige Linux- en FreeBSD-besturingssystemen hebben installatieprogramma’s die concurreren met die van Windows in hun eenvoud en efficiëntie, vooral in het geval van een virtuele machine, waarin de hardwarecomponenten volledig voorspelbaar zijn.

3.2.8 Linux Integration Services installeren en configureren
Zoals eerder in dit hoofdstuk vermeld, hebben Hyper-V gastbesturingssystemen een verzameling van stuurprogramma’s en andere componenten die Integration Services worden genoemd. Omdat ze ontworpen moeten zijn om te draaien in de gastbesturingsomgeving, zijn er verschillende implementaties voor de Linux- en FreeBSD-besturingssystemen, genaamd Linux Integration Services (LIS) en FreeBSD Integration Services (FIS).
De verschillende Linux-distributies die Hyper-V ondersteunen, hebben verschillen in hun implementaties, maar ze zijn allemaal gebaseerd op dezelfde serie Linux-kernelversies. De meeste van de recente versies van ondersteunde distributies hebben LIS of FIS als onderdeel van het besturingssysteem opgenomen, waarnaar Microsoft verwijst als ‘ingebouwde’ implementaties. Deze implementaties worden ontwikkeld als een samenwerkingsverband met de ontwikkelaarsgemeenschap van elke distributie en getest door zowel Microsoft als de bijdragers van het besturingssysteem. Na een tevreden test, nemen de distributieleveranciers LIS op in hun besturingssysteem releases.
Niet alle implementaties van Integration Services ondersteunen echter alle beschikbare Hyper-V-functies in alle versies van het gastbesturingssysteem. Dit komt door de aard van de Linux-ontwikkelings- en distributiemethoden, wat ervooro kan zorgen dat een bepaalde
release niet de nieuwste LIS-implementatie heeft. Voor deze instanties zijn er LIS en FIS pakketten beschikbaar als gratis downloads via het Microsoft Downloadcentrum.
Afhankelijk van de Linux-distributie en de versie die u wilt installeren, zijn er drie mogelijke oplossingen voor de Integration Services, als volgt:
- Niets doen – In oudere Linux-versies die geen LIS bevatten, wordt het besturingssysteem als gast geïnstalleerd en maakt het geëmuleerde stuurprogramma’s voor de gevirtualiseerde hardware in de VM. Er is geen aanvullende software nodig, maar de geëmuleerde stuurprogramma’s ondersteunen niet alle Hyper-V-beheerfuncties en presteren niet zo goed als de Hyper-V-specifieke stuurprogramma’s in het LIS-pakket.
- LIS downloaden en installeren – In oudere Linux-versies zonder LIS, zal het downloaden en installeren van het LIS-pakket biedt betere prestaties en extra beheerfuncties beiden. In sommige versies van sommige Linux-distributies, zoals CentOS en Oracle hebt u de keuze tussen het gebruik van het geïntegreerde LIS-pakket in het besturingssysteem, of met behulp van het LIS-pakket gedownload van Microsoft. In deze gevallen ondersteunt de gedownloade versie doorgaans functies die de geïntegreerde versie niet biedt. Het is aan de individuele beheerder om te beslissen of die extra functies het waard zijn om te hebben. Bijvoorbeeld CentOS-versie 6.4 bevat een LIS-versie die de meeste beschikbare functies ondersteunt, maar het laat niet toe om de grootte van VHDX-bestanden wijzigen. Als deze mogelijkheid belangrijk voor u is, kunt u LIS downloaden en installere die deze functie heeft.
- Gebruik ingebouwd LIS – In sommige versies van sommige distributies, zoals de meest recente Ubuntu releases, is LIS volledig geïmplementeerd in het besturingssysteem en het installeren van de downloadbare LIS-module wordt nadrukkelijk niet aanbevolen. In de nieuwste versies van de meeste distributies zijn er weinig situaties waarin het nodig is om het downloadbare LIS-pakket te gebruiken, aangezien overgrote deel van de geïntegreerde Hyper-V-functies al in het besturingssysteem aanwezig zijn.
Aan de downloadbare versies van het LIS-pakket worden versienummers toegewezen, die van de geïntegreerde versies niet. Als u besluit het gedownloade LIS wenst te gebruiken, moet u dat altijd met de nieuwste versie die u kunt krijgen, nadat u gecontroleerd heeft dat Microsoft deze ondersteunt voor de versie van de gast besturingssysteem dat u gebruikt. Microsoft biedt het LIS-pakket in twee vormen, als een ingepakt tar-bestand dat u naar het gastbesturingssysteem kunt downloaden en installeren, of als een schijfkopie in ISO-indeling, die u in een virtueel dvd-station kunt laden.
3.2.9 Free BSD Integration Services installeren en configureren
Sinds versie 10 biedt FreeBSD volledige ondersteuning voor FreeBSD Integration Services (BIS) in zijn besturingssysteem. Het is niet nodig om extra software te installeren, tenzij u FreeBSD versie 9 of eerder gebruikt. Voor versies 8.x en 9.x zijn er ports beschikbaar op: https://svnweb.freebsd.org/ports/head/emulators/hyperv-is, wat BIS-functionaliteit kan bieden.
3.2.1. Secure Boot voor Windows en Linux omgevingen implementeren
Secure Boot is een mechanisme ingebouwd in de Unified Extensible Firmware Interface (UEFI) die ontworpen is om ervoor te zorgen dat elk onderdeel die tijdens de opstartvolgorde van een computer wordt geladen digitaal is ondertekend en daarom wordt vertrouwd door de fabrikant van de computer. In Hyper-V ondersteunen Generation 2 VM’s Secure Boot als onderdeel van hun UEFI-implementatie.
Bij een traditionele systeemstart voert de computer na het opstarten een zelftest (POST) uit waarmee het BIOS wordt geïnitialiseerd, de systeemhardware wordt gedetecteerd en de firmware wordt geladen geheugen. Daarna voert het systeem de bootloader uit. Omdat de firmware en de bootloader niet zijn geverifieerd, het is mogelijk dat ze enige vorm van malware bevatten, zoals als een rootkit of bootkit. Deze zijn niet detecteerbaar door gewone antivirussoftware en kunnen daarom het systeem infecteren terwijl het onzichtbaar blijft voor het besturingssysteem.
Secure Boot vervangt de traditionele BIOS-firmware door UEFI-firmware dat verantwoordelijk is voor het controleren of de firmware, de bootloader en andere componenten afkomstig zijn van vertrouwde bronnen. UEFI gebruikt vertrouwde certificaten voor het besturingssysteem en een platform sleutel verstrekt door de computerleverancier zorgt ervoor dat er geen ongeautoriseerde software wordt gebruikt tijdens het laden van het opstartproces.
3.2.10.1 Windows en Secure Boot
Wanneer u een Generatie 2 virtuele machine in Hyper-V maakt, is de computerfabrikant Microsoft en de bevat UEFI-firmware de certificaten voor de Windows-bootloaders. Dit betekent dat Windows opstart op de VM, omdat er een keten van vertrouwde certificaten terug naar de root gaat. Als u de VM probeert op te starten in een niet-Windows-besturingssysteem, zal het systeem stil doorgaan naar het volgende item in de opstartvolgorde. Als u ontdekt dat een VM is constant bezig is met het opstarten vanaf het netwerk of vanaf een dvd, ongeacht welke opstartopdracht u opgeven heeft, is het probleem waarschijnlijk dat de Secure Boot mislukt is en dat het systeem het opstarten van de harde schijf omzeilt.
Veilig Opstarten staat standaard ingeschakeld op VM’s van generatie 2. Om het uit te schakelen, opent u de Beveiligingspagina in het dialoogvenster VM-instellingen en schakelt u het selectievakje Veilig Opstarten inschakelen uit.

U kunt Secure Boot ook uitschakelen met behulp van de Set-VMFirmware-cmdlet in Windows PowerShell, zoals in het volgende voorbeeld:
Set-VMFirmware -VMName server1 -EnableSecureboot off
3.2.10.2 Linux en Secure Boot
Wanneer u een Linux-distributie installeert in een VM van generatie 2, zal het eerder beschreven probleem voorkomen wanneer Secure Boot is ingeschakeld. UEFI heeft standaard geen certificaten voor niet-Windows besturingssystemen, dus kan het de Linux-bootloader niet uitvoeren en zal het systeem proberen op te starten vanaf het netwerk.

Een van de manieren waarop bepaalde Linux-distributies door Microsoft worden ondersteund, is de opname van certificaten voor hun bootloaders in Windows Server 2016 Hyper-V. Om toegang te krijgen tot die certificaten en de VM toestaat om in Linux op te starten, moet u de Secure Boot sjabloon wijzigen op de pagina Beveiliging in het dialoogvenster Instellingen. Standaard is de Microsoft Windows-sjabloon is geselecteerd. De certificaten voor de Linux-besturingssystemen staan in de Microsoft UEFI Certificate Authority-sjabloon.

Om de template instelling te wijzigen met behulpp van de cmdlet Set-VMFirmware gebruik het volgende:
Set-VMFirmware -VMName server1 -SecureBootTemplate microsoftueficertificate authority
3.2.11 Verplaats en converteer VM’s van eerdere versies van Hyper-V naar Windows Server 2016 Hyper-V
Elke versie van Hyper-V maakt virtuele machines van een specifieke versie. De versie geeft de functies aan die beschikbaar zijn op die VM. De VM’s gemaakt in Windows Server 2016 zijn versie 8.0. Als u een Hyper-V-server hebt bijgewerkt naar Windows Server 2016 uit een vorige versie, zou u ook moeten overwegen om uw virtuele machines ook te upgraden.
In eerdere versies van Windows zorgde dat het upgraden van het besturingssysteem dat de VM’s ook opgewaardeerd werden. In Windows Server 2016 (en Windows 10) is dit niet het geval, omdat u met deze versies, Hyper-V VM’s naar verschillende servers met Windows versies kunt verplaatsen.
Als u bijvoorbeeld virtuele machines hebt, die u hebt gemaakt hebt in Windows Server 2012 R2 Hyper-V, kunt u ze importeren in een Windows Server 2016 Hyper-V en werken ze perfect goed. Als u echter wilt profiteren van de nieuwste Hyper-V-functies, zoals het toevoegen van een netwerkadapter of geheugen aan een actieve VM, moet u de VM upgraden vanaf versie 5.0 (de Windows Server 2012 R2-versie) tot versie 8.0.
Helaas kunt u na het upgraden van de VM deze niet meer op een Windows-server 2012 R2-server uitvoeren. Daarom worden VM’s niet langer automatisch geüpgraded met het besturingssysteem systeem. Als u ooit de VM terug naar de oude server zou moeten verplaatsen, zou u dat niet na de upgrade kunnen doen. Als u van plan bent het exclusief op Windows Server 2016 Hyper-V uit te voeren, kunt u het upgraden.
Op elk tabblad VM-overzicht in Hyper-V Manager wordt de configuratieversie weergegeven.

U kunt ook de versies van alle VM’s op een server weergeven door Get-VM PowerShell-cmdlet uit te voeren met het asterisk (*) jokerteken.

Om een VM naar een andere server te verplaatsen, kunt u deze in de oude exporteren en importeren in de nieuwe. Om de VM-versies weer te geven die op een server worden ondersteund, voert u de Get-VMHostSupportedVersion-cmdlet.

Selecteer vervolgens Upgrade Configuratie in het deelvenster Acties om de VM te upgraden naar de versie die door de nieuwe server wordt gebruikt en bevestig uw actie. De versie op het tabblad Samenvatting verandert en de functies van de nieuwe server zijn nu beschikbaar in de VM.
U kunt de VM ook upgraden met behulp van de Update-VMVersion PowerShell-cmdlet, zoals in het volgende voorbeeld:
Update-VMVersion -VM server1
U kunt ook meerdere VM-namen op deze opdrachtregel opgeven om meerdere VM’s te upgraden met behulp van een enkele opdracht.
3.2.12 Exporteer en importeer VM’s
Met de export- en importfuncties in Hyper-V zijn kan men een virtuele machine naar een andere server te verplaatsen of een kopie van een VM op dezelfde server te maken. Wanneer u een VM exporteert, specificeert u de naam van een map waar het systeem een kopie maakt van alle bestanden van de VM, inclusief de configuratiebestanden, virtuele harde schijven en zelfs controlepunten. U kunt dan de VM in dezelfde of een andere server importeren.
Als u een VM wilt exporteren, selecteert u Exporteren in het deelvenster Acties om het dialoogvenster Virtuele Machine Exporteren weer te geven. Nadat u een locatie hebt opgegeven en op Exporteren klikt, begint het systeem de bestanden te kopiëren naar een submap met de naam van de VM. U kunt een VM exporteren terwijl deze actief of gestopt is.

Als u een VM met Windows PowerShell wilt exporteren, gebruikt u de cmdlet Export-VM, zoals in de volgend voorbeeld:
Export-VM -Name server1 -Path C:\export
De enige indicatie in Hyper-V Manager dat de export aan de gang is, is dat de deelvenster Acties een item Export Annuleren bevat. Nadat de export is voltooid, wordt dit item vervangen door het item Exporteren. Op dit moment kunt u de exportmap naar een andere server kopiëren, of importeren opdezelfde dezelfde server om een kopie van de VM te maken.
3.2.12.1 Importeer VM’s met behulp van Hyper-V manager
Om een geëxporteerde VM in een Hyper-V-server te importeren met behulp van Hyper-V Manager, gebruikt u de volgende procedure:
- Selecteer in Hyper-V Manager in het deelvenster Acties Virtuele Machine Importeren. De wizard Virtuele Machine Importeren verschijnt.
- Typ of blader op de pagina Map Zoeken naar de map met de geëxporteerde bestanden.
- Selecteer op de pagina Virtuele Machine Selecteren de VM die u wilt importeren.
- Selecteer een van de volgende opties op de pagina Importtype kiezen:

- Register Virtual Machine In Place – Laat de geëxporteerde bestanden waar ze zijn en registreert de VM in de Hyper-V-server, met dezelfde ID van waar de VM werd geëxporteerd. Als de VM geëxporteerd is vanaf dezelfde server, kan u niet beide tegelijkertijd uitvoeren.
- Restore The Virtual Machine – Kopieert de geëxporteerde bestanden, ofwel naar de standaard locaties op de server of naar verschillende locaties die u opgeeft en registreert de VM in de Hyper-V-server, met dezelfde ID als de VM van waar ze geëxporteerd waren. Als de VM is geëxporteerd vanaf dezelfde server, kunt u beide niet op hetzelfde moment uitvoeren. Nadat de import is voltooid, kunt u de geëxporteerde bestanden verwijderen of ze weer importeren.
- Copy The Virtual Machine – Kopieert de geëxporteerde bestanden naar de standaard bestandslocaties op de server of naar verschillende locaties die u opgeeft en registreert de VM in de Hyper-V-server met een nieuwe ID. Hiermee kunt u een kopie van een bestaande VM maken op dezelfde server en deze samen met het origineel uitvoeren.
- Als u de optie Herstellen of Kopiëren kiest, verschijnt een Kies Uw Mappen Voor Virtuele Machines pagina, waarop u verschillende locaties kunt opgeven voor de configuratie-, controlepunt- en Smart Paging-bestanden.
- Als u de optie Herstellen of Kopiëren kiest, verschijnt de pagina Kies Uw Mappen Om Virtuele Harde Schijven Op Te Slaan, waarop u een alternatieve locatie kunt opgeven voor de VHD-bestanden van de virtuele machine. Als u een VM van dezelfde server importeert, moet u een andere map opgeven, omdat al VHD-bestanden met dezelfde namen bestaan.
- Klik op Voltooien om het importproces te starten.
3.2.12.2 Importeer VM’s met behulp van Windows PowerShell
Als u een VM met Windows PowerShell wilt importeren, gebruikt u de cmdlet Import-VM. Om een VM te importeren met behulp van de optie Registreren, waarbij de geëxporteerde bestanden niet gekopieerd worden, gebruikt u een commando zoals het volgende. Merk op dat u voor deze cmdlet het hele pad naar het VM configuratiebestand moet typen:
Import-VM -Path C:\export\server1\virtualmachines\2b197d10-4dbe-4ea9-a54e-cc0bb0f12d09.vcmx
Als u een VM wilt importeren met de optie Herstellen, voegt u de parameter Copy toe, waardoor de cmdlet de geëxporteerde bestanden naar de standaardmappen van de nieuwe server kopieert als volgt.
Import-VM -Path C:\export\server1\virtualmachines\2b197d10-4dbe-4ea9-a54e-cc0bb0f12d09.vcmx-copy
Om verschillende locaties voor de gekopieerde bestanden op te geven, kunt u de volgende parameters aan de opdrachtregel toevoegen:
- VirtualMachinePath
- VhdDestinationPath
- SnapshotFilePath
- SmartPagingFilePath
Als u een nieuwe kopie van een VM met een ander ID wilt maken, voegt u GenerateNewId toe parameter, zoals hieronder:
Import-VM -Path C:\export\server1\virtualmachines\2b197d10-4dbe-4ea9-a54e-cc0bb0f12d09.vcmx -Copy -GenerateNewId
3.2.12.2.1. Omgaan met conflicten
Wanneer u een VM in een andere server importeert met behulp van Hyper-V Manager, zal de wizard u tonen als er incompatibiliteit optreedt. Bijvoorbeeld als de virtuele switches op twee servers verschillende namen hebben, vraagt de wizard u om een van de nieuwe servers virtuele switches te selecteren.
Als er een incompatibiliteit optreedt tijdens een VM-import met behulp van de Import-VM-cmdlet, treedt er een fout op en is de opdracht niet voltooid. U moet dan de Compare-VM-cmdlet gebruiken met dezelfde parameters om een rapport te genereren dat de incompatibiliteit aangeeft. Afhankelijk van de aard van het probleem, gebruik je vervolgens andere cmdlets om de situatie recht te zetten. Voor de virtuele switch incompatibiliteit zoals hierboven beschreven, zou u de Disconnect-VMNetwork Adapter gebruiken cmdlet om de switchtoewijzing te verwijderen voordat u de import opnieuw probeert.
3.2.13 Implementeer Discrete Device Assignment (DDA)
Hyper-V heeft al lang de mogelijkheid om pass-through-schijven te maken, waaraan u een fysieke schijf in de Hyper-V-host toewijst aan een virtuele gastmachine. De VM heeft rechtstreeks toegang tot de schijf, zonder een VHD te gebruiken. Discrete Device Assignment (DDA) is een soortgelijk concept, behalve dat u hiermee elk PCI Express-apparaat kunt doorgeven aan een VM.
U kunt met DDA bijvoorbeeld een grafische verwerkingseenheid (GPU) aan een VM doorgeven, die de VM grafische prestaties biedt die voorheen onmogelijk waren. U kan ook een draadloze netwerkadapter doorgeven aan een VM die de virtuele machine voorziet van wifi-mogelijkheden.
DDA wordt strikt geïmplementeerd via PowerShell, vermoedelijk zodat enkel geavanceerde administrators ermee kunnen werken. Elke vorm van pass-through tussen de gastheer server en een gastbesturingssysteem is een inherent beveiligingsrisico. Een aanval op de gast kan dat doorgeefkanaal gebruiken om bij de host te komen en mogelijk de hele server uit te schakelen met een fout op de PCI Express-bus.
Vanuit een perspectief op hoog niveau, zijn de stappen die betrokken bij het passeren van een apparaat met behulp van DDA als volgt:
- Identificeer het door te geven apparaat.
- Schakel het apparaat op de host uit.
- Ontkoppel het apparaat op de host.
- Sluit het apparaat aan op de virtuele machine.
Als u denkt dat dit het proces er gemakkelijk uitziet, denk dan nog eens goed na. Dit zijn de cmdlets die u gebruikt om elk van deze stappen uit te voeren:
- De opdracht Get-PnpDevice -PresentOnly genereert een lange lijst met de apparaten die Plug en Play is op de computer geïnstalleerd en geeft informatie over hen weer. Door één apparaat te selecteren en de uitvoer van de cmdlet te formatteren, kunt u het Instance ID van het apparaat bepalen, door middel van een lange reeks die u nodig hebt voor de volgende stap. De Instance ID is ook te vinden in Apparaatbeheer op het tabblad Details, onder de naam Apparaat Instantiepad.
- De opdracht Disable-PnpDevice -InstanceID schakelt het apparaat uit door de geïnstalleerde stuurprogramma’s op de host te verwijderen.
- De opdracht Dismount-VmHostAssignableDevice -LocationPath verwijdert het apparaat van de besturing van de host. Als u een waarde voor de parameter LocationPath wilt verkrijgen, u gebruikt de cmdlet Get-PnpDeviceProperty, waarvoor u KeyName en InstanceID-waarden moet opgeven. Het locatiepad is ook beschikbaar in Apparaatbeheer.
- De cmdlet Add-VMAssignableDevice -VM -LocationPath verbindt het apparaat met een specifieke virtuele machine.
Voordat deze laatste opdracht met succes wordt voltooid, moet u het volgende configureren instellingen in het dialoogvenster Instellingen van de virtuele machine:
- De instelling Automatische Stopactie moet worden ingesteld op Virtuele Machine Uitschakelen.
- De VM kan dynamisch geheugen gebruiken, maar de instellingen voor RAM en Minimum RAM gelijk moeten zijn.
Ten slotte, en misschien wel het belangrijkste, zijn er veel eisen op laag niveau die de gastheer server BIOS/UEFI stelt waaraan de voorgestelde apparaten moeten voldoen. Sommige van deze vereisten zijn zichtbaar in software en sommige niet. De cmdlet Dismount-VmHostAssignableDevice ondersteunt een Force-parameter dat toelaat dat de Access Control Services (ACS) controles genegeerd kunnen worden dat voorkomt dat PCI Express-verkeer naar de verkeerde plaatsen gaat. Deze parameter mag alleen met uiterste voorzichtigheid worden gebruikt.