3.3 Configure Hyper-V storage


3.3.1 Create VHDs and VHDX files using Hyper-V Manager

3.3.2 Create shared VHDX files

3.3.3 Configure differencing disks

3.3.4 Modify virtual hard disks

3.3.5 Configure pass-through disks

3.3.6 Resize a virtual hard disk

3.3.7 Manage checkpoints

3.3.8 Implement production checkpoints

3.3.9 Implement a virtual Fibre Channel adapter

3.3.10 Configure storage Quality of Service (QoS)


3.3.1 Create VHDs and VHDX files using Hyper-V Manager

Når man oppretter en generasjon 1 VM blir det opprettet et virtuelt lagringssystem som består av to Integrated Drive Electronices (IDE) kontrollere og en Small Computer Systems Interface (SCSI) kontroller.

IDE kontrollerne hoster den virtuelle maskinens systemdisk og DVD disk. Hver IDE kontroller kan ha inntil to disker. Man kan legge til flere disker med SCSI kontrolleren i tillegg.

Generasjon 2 VMer har ingen IDE kontrollere. Der er både systemdisk og DVD disk koblet til SCSI kontrolleren. Man kan legge til flere SCSI kontrollere. Hver SCSI kontroller kan ha inntil 64 disker.

Windows Server 2016 Hyper-V støtter både VHD og VHDX format på disker. VHD er begrenset til 2TB og er kompatibel med alle versjoner av Hyper-V. VHDX er begrenset til 64TB, og støtter inntil 256 MB blokkstørrelse. VHDX er kompatibel med Windows Server 2012 R2 og nyere.

Opprette en virtuell disk med en VM

Man kan opprette virtuelle disker på flere måter. Man kan opprette den som en del av en ny VM; når man oppretter en VM har man tre valg:

  • Create A Virtual Hard Disk: Lar deg spesifisere navn, lokasjon og størrelse for en ny virtuell disk. Lar deg kun opprette en dynamisk VHDX disk.
  • Use An Existing Virtual Hard Disk: Man kan spesifisere en eksisterende virtuell disk.
  • Attach A Virtual Hard Disk Later: Hopp over tildeling av disk til VMen.

Opprette en virtuell disk med Hyper-V Manger

For å sette flere innstillinger for disken må man velge Attach A Virtual Hard Disk Later og opprette disken med Hyper-V Manager > New > Hard Disk...

Velg mellom VHD, VHDX eller VHD Set. VHD Set er kun for delte virtuelle disker, og muliggjør backup av VM grupper som bruker delte virtuelle disker.

Velg mellom en Fixed, Dynamically expanding eller Differencing disk.

Velg størrelse på disken, eller velg å kopier en fysisk eller en virtuell disk.

Opprette en virtuell disk med PowerShell

Med PowerShell kan man sette innstillinger man ikke kan sette i GUI.

New-VHD -Path D:\Hyper-V\VHD\disk.vhdx [-Fixed|-Dynamic|-Differencing] -SizeBytes 100GB -LogicalSectorSizeBytes 4KB -BlockSizeBytes 32MB

Legge til virtuelle disker på virtuelle maskiner

For generasjon 1 VM må man legge systemdisken på IDE Controller 0. For å legge til en disk: Hyper-V Manager > VM > Settings > IDE Controller 0 > Hard Drive > Add

Browse... > Velg den virtuelle disken > OK.

# For generasjon 1
Add-VMHardDiskDrive -VMName VMGen1 -ControllerType IDE -Path D:\Hyper-V\VHD\VMGen1.vhdx

# For generasjon 2
Add-VMHardDiskDrive -VMName VMGen2 -ControllerType SCSI -Path D:\Hyper-V\VHD\VMGen2.vhdx

3.3.2 Create shared VHDX files

Shared VHDX brukes til Hyper-V guest failover cluster, som er en gruppe maskiner som kjører samme applikasjon. Hvis en maskin feiler så tar de andre over. For at failover skal fungere må maskinene ha en delt disk Shared VHDX ble introdusert i Windows Server 2012 R2.

Windows Server 2016 introduserte et alternativ til shared VHDX; VHD Set. Shared VHD hadde noen begrensninger. Man kunne ikke endre størrelse på de eller migrere de, og man kunne heller ikke ta backup av de eller replikere de fra host serveren. Alle disse begrensningene er borte i VHD Set. Eneste ulempen med VHD Set er at man kun kan bruke de på Windows Server 2016.

For å legge til en delt disk: Hyper-V Manager > VM > Settings > SCSI Controller > Shared Drive > Add > New

Velg mellom VHDX og VHD Set.

Velger man VHD Set, opprettes det en 260MB VHDS fil som inneholder metadata, og en AVHDX fil som egentlig er en normal VHDX fil og er der data vil bli lagret.

For å opprette en VHD Set i PowerShell:

New-VHD -Path D:\Hyper-V\VHD\VM1.vhds -Dynamic -SizeBytes 500GB

3.3.3 Configure differencing disks

En differencing disk lar deg ta utgangspunkt i en eksisterende disk, hvor man kun lagrer endringer på differencing disk. Den opprinnelige/eksisterende disken forblir uberørt. Man kan koble til så mange differencing disks som man vil mot en enkelt eksisterende disk. Man kan også opprette en differencing disk som peker til en annen differencing disk...

For å opprette en differencing disk: Hyper-V Manager > New > Hard Disk...

Choose Disk Type: Differencing

Og velg eksisterende disk som skal tas utgangspunkt i:

3.3.4 Modify virtual hard disks

Man kan modifisere virtuelle disker ved å montere de på hosten: Disk Management > Action > Attach VHD

eller med PowerShell:

# Montere en disk, den får da tildelt en ledig bokstav
Mount-VHD -Path D:\Hyper-V\VHD\Data.vhdx

# Avmonter disken når endringer er utført
Dismount-VHD -Path D:\Hyper-V\VHD\Data.vhdx

# Man kan også installere features direkte uten å montere den virtuelle disken
Install-WindowsFeature -Vhd D:\Hyper-V\VHD\Hyper.vhdx -Name web-server -IncludeManagementTools

3.3.5 Configure pass-through disks

En pass-through disk er en fysisk disk som en VM kan nå direkte. Når man legger til en disk på en VM kan man velge å legge til en fysisk disk, men da må VMen ha eksklusiv tilgang til den disken. Det gjør man ved å ta disken offline med Disk Management eller PowerShell:

# Sjekk hvilket nummer disken har
Get-Disk

# Sett disken offline
Set-Disk -Number 0 -IsOffline $true

For å legge til disken på en VM: Hyper-V Manager > VM > Settings > SCSI Controller > Hard Drive > Add > Physical hard disk

Med PowerShell:

Add-VMHardDiskDrive -VMName Hyper -ControllerType SCSI -DiskNumber 0

3.3.6 Resize a virtual hard disk

Etter man har opprettet en virtuell disk kan man endre størrelse på den. Hyper-V Manager > Action > Edit Disk...

Velg om du vil krympe, konvertere eller utvide disken. Ved konvertere menes å opprette en ny disk og kopiere data over. Den nye disken kan ha en annen formatering. Avhengig av type disk kan man også få to til alternativer:

  • Shrink: Reduser kapasitet på disken ved å slette ledig plass på disken. Alternativet dukker kun opp når det er ledig upartisjonert plass på slutten av en disk.
  • Merge: Kombinerer data på en differencing disk med data på foreldredisken, for å lage en helhetlig disk

Velg ny størrelse på disken:

Med PowerShell:

# Compact
Optimize-VHD -Path D:\Hyper-V\VHD\Data.vhdx -Mode Full

# Konverter fra fixed til dynamisk
Convert-VHD -Path D:\Hyper-V\VHD\Data.vhdx -VHDType Dynamic -DestinationPath D:\Hyper-V\VHD\Data2.vhdx

# Konverter fra dynamisk til fixed
Convert-VHD -Path D:\Hyper-V\VHD\Data.vhdx -VHDType Fixed -DestinationPath D:\Hyper-V\VHD\Data3.vhdx

# Endre størrelse
Resize-VHD -Path D:\Hyper-V\VHD\Data.vhdx -SizeBytes 15GB

# Slå sammen differencing disk og parent disk
Merge-VHD -Path D:\Hyper-V\VHD\Child.vhdx -DestinationPath D:\Hyper-V\VHD\Parent.vhdx

3.3.7 Manage checkpoints

Et checkpoint er et øyeblikksbilde av en VM. Man oppretter checkpoints for å kunne rulle tilbake endringer hvis noe skulle gå galt. Men merk at det ikke er passende som en form for backup, og er kun anbefalt å bruke i lab eller testmiljøer. Man bør ikke bruke de i produksjonsmiljøer.

NB. Før Windows Server 2012 R2 het det ikke checkpoint, men snapshot. Derfor kan man bruke snapshot som alias for checkpoint i PowerShell.

Man oppretter et checkpoint ved å navigere til Hyper-V Manager > VM > Høyreklikk og velg Checkpoint

Det opprettes da et checkpoint uten at du må gjøre noe mer. Man kan se checkpoints for en maskin:

Checkpoint er en AVHD eller AVHDX fil som lagrer alle endringer som utføres etter checkpoint opprettes. Checkpoints kan redusere ytelsen til en VM.

Man kan rulle tilbake til et checkpoint ved å høyreklikke på det og velge Apply...

Da får man valget om å opprette ennå et checkpoint først, slik at man ikke mister nåværende konfiguasjon og data på VMen.

Med PowerShell (legg merke til bruken av "Snapshot"):

# Opprette et checkpoint som heter "Før installasjon"
Checkpoint-VM -Name Hyper -SnapshotName "Før installasjon"

# Apply et checkpoint
Restore-VMSnapshot -VMName Hyper -Name "Før installasjon" -Confirm:$false

# Fjern et checkpoint
Remove-VMSnapshot -VMName Hyper -Name "Før installasjon"

# Fjern alle checkpoints
Get-VMSnapshot -VMName Hyper | Remove-VMSnapshot

3.3.8 Implement production checkpoints

Et problem som har fått Microsoft til å fraråde bruk av checkpoints i produksjonsmiljø:

Før Windows Server 2016 ble også minnet lagret når man tok checkpoints, så da fikk man med state til alle applikasjoner i tillegg. Det er veldig handy for test eller utviklingsformål, men for systemer hvor klienter er koblet på, f.eks. database, mail server eller domenekontroller, kan det forstyrre kjørende prosesser å rulle tilbake til et checkpoint.

I stedet anbefaler Microsoft det som i WIndows Server 2016 kalles Production Checkpoints som bruker Volume Shadow Copy Service i Windows, og File System Freeze i Linux. Disse tar snapshot av data fra en VM uten å lagre minnet.

NB. Merk at bruk av Production Checkpoints er standard i Windows Server 2016 VMer. Den tidligere formen for checkpoints er fortsatt tilgjengelig, men kalles nå Standard Checkpoints.

For å endre standard checkpoint innstillinger for en VM: Hyper-V Manager > VM > Settings > Checkpoints

Her kan man velge å deaktivere checkpoints helt for VMen, eller man kan skifte mellom Production Checkpoints og Standard Checkpoints.

Med PowerShell:

Set-VM -Name Hyper -CheckpointType [Disabled | Standard | Production | ProductionOnly] [-SnapshotFileLocation path]

3.3.9 Implement a virtual Fibre Channel adapter

Støtte for Fibre Channel storage area networks (SAN) i virtualiserte servere kom i Windows Server 2012. En Hyper-V Fibre Channel adapter er i grunn bare en pass-through enhet, som lar en VM direkte aksessere en Fibre Channel adapter installert på hosten. På denne måten kan VMer akessere data lagret op SAN enheter i nettverket.

For å støtte Fibre Channel tilkobling, må den fysiske enheten inkludere drivere som eksplisitt støtter virtuell Fibre Channel og N_Port ID Virtualization (NPIV). SANet må også være i stand til å adressere sine tilkoblede ressurser med logical unit numbers (LUN).

Når alt er på plass kan man opprette et virtuelt SAN i Hyper-V Manager > Virtual SAN Manager > New Fibre Channel SAN > Create

Man må så legge til en Fibre Channel adapter på ønsket VM: Hyper-V Manager > VM > Settings > Add Hardware > Fibre Channel Adapter og knytte den til det virtuelle SANet.

3.3.10 Configure storage Quality of Service (QoS)

Det er vanlig at det lagres flere virtuelle disker og VMer på samme fysiske disk. Når VMer da kjører, og aksesserer disken samtidig kan det være at en VM legger beslag på så mye I/O at de andre VMene går tregt. For å hjelpe på dette problemet har man i Windows Server 2016 støtte for å kontrollere Quality of Service (QoS) for en gitt virtuell harddisk.

Med QoS kan man spesifisere minimum og maksimum IOPS (Input/Output per second) for en disk: Hyper-V Manager > VM > Settings > SCSI Controller > Hard Drive > Quality of Service.

Med PowerShell:

Set-VMHardDiskDrive -VMName Hyper -ControllerType SCSI -ControllerNumber 0 -MinimumIOPS 10 -MaximumIOPS 500

For å treffe riktig må man nok overvåke, sjekke hva VMen faktisk bruker og justere etter behov:

# Slå på overvåking av ressursbruk for VMen
Enable-VMResourceMetering -VMName Hyper

# Vis statistikk for ressursbruk
Measure-VM -VMName Hyper | Format-List

results matching ""

    No results matching ""