Funkce použití diferenciálních pohonů v Hyper-V

Technologie diferenciálních (rozdílových) disků Hyper-V je v hypervizoru Microsoftu po dlouhou dobu přítomna (pokud se nemýlím, z verze Hyper-V v systému Windows Server 2008). Většina správců je zpravidla známa ve vztahu k technologiím pro vytváření snímků (kontrolních bodů) a je široce používána různými zálohovacími systémy VM. Při vytváření snímku nebo provádění zálohy se aktuální stav virtuálního počítače zaznamená do jednoho souboru vhd a všechny změny se zapíší na jiný, rozdílový (nebo rozdílový) disk..

Obsah:

  • Diferenční jednotky Hyper-V
  • Vytvořte referenční obraz systému VHD
  • Vytváříme na nich rozdílné disky a virtuální počítače
  • Sloučit diferenciální jednotky v Hyper-V
  •  Závěr

Diferenční jednotky Hyper-V

Další zajímavou vlastností diferenciálních jednotek je schopnost vytvořit základní obrázek operačního systému (jako soubor vhd) se všemi potřebnými nastaveními a softwarem. Na základě tohoto obrázku pak můžete nasadit mnoho typických virtuálních strojů, které používají jednotku VHD základního obrazu, a všechny změny se zapíší na jejich vlastní virtuální disky. Tím je dosaženo významné úspory místa na disku. Například níže uvedený příklad ukazuje, že při použití diferenciálních disků pro 4 virtuální počítače na základě jednoho obrazu je potřeba pouze 40 GB a u klasického modelu nasazení je pro stejné stroje třeba 150 GB. Rozdíl je významný, zejména u rychlých a drahých disků SSD! 

Diferenční (diferenciální) jednotka Hyper-V je jedním z podporovaných typů virtuálních disků (vhd). Na rozdíl od běžné jednotky VHD je však vázána na jinou nadřazenou jednotku. Diferenční disk funguje jako podřízený disk a neobsahuje úplnou verzi dat na disku VM, ale pouze změny, které byly provedeny během jeho provozu, tj. to jsou data, která je odlišují od nadřazeného.

Obraz vhd nadřazené (šablony) zůstává nezměněn a všechny podřízené virtuální počítače vytvořené na jeho základě zapisují změny na své vlastní rozdílové disky. Velikost takového rozdílového disku je obvykle poměrně malá (jeho maximální velikost nemůže přesáhnout velikost nadřazeného disku).

Vytvořte referenční obraz systému VHD

Referenční soubor VHD můžete vytvořit pomocí grafického rozhraní Hyper-V Manager nebo pomocí prostředí PowerShell. PowerShell je mnohem rychlejší.

Tip. Aby následující rutiny cmd fungovaly, musí být nainstalován modul Hyper-V pro Windows PowerShell:

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-Management-PowerShell

Vytvořte nový soubor vhdx.

new-vhd -ath e: \ data \ vhd \ Win2016.vhdx -SizeBytes 50GB -Dynamic

Na základě toho vytvořte nový VM:

new-vm - Název TemplateVM -Path e: \ data \ vhd \ -VHDPath e: \ data \ vhd \ Win2016.vhdx | ''
set-vmmemory -DynamicMemoryEnabled $ true -MaximumBytes 2GB -MinimumBytes 512MB -StartupBytes 1GB

Připojíme instalační obraz ISO s obrazem požadovaného OS:

add-vmdvddrive -VMName TemplateVM -Path d: \ WinSrv2016.ISO

Po vytvoření nového virtuálního počítače je třeba do něj nainstalovat operační systém, který bude použit jako základní obraz. Tento operační systém je třeba odpovídajícím způsobem nakonfigurovat (nainstalovat ovladače, aktualizace, změnit nastavení systému). Poté pomocí nástroje Sysprep depersonalizujeme OS pro budoucí nasazení.

cd% SystemRoot% \ System32 \ Sysprep
sysprep / generalize / oobe / shutdown

Takto získáme referenční obrázek VM.

Samotný VM lze nyní smazat (uložit jeho vhd soubor !!!). Abychom zabránili nechtěné změně tohoto souboru vhd, který by mohl poškodit všechny podřízené virtuální počítače, uvedeme jej do režimu ReadOnly:

Set-ItemProperty e: \ data \ vhd \ Win2016.vhdx - jméno IsReadOnly -Value $ true

Vytváříme na nich rozdílné disky a virtuální počítače

Nyní můžete vytvořit několik závislých (podřízených) souborů vhd:

New-VHD -ParentPath: e: \ data \ vhd \ Win2016.vhdx -Path e: \ data \ vhd \ Win2016-diff1.vhdx -Differencing
New-VHD -ParentPath: e: \ data \ vhd \ Win2016.vhdx -Path e: \ data \ vhd \ Win2016-diff2.vhdx -Differencing

Při vytváření rozdílového disku pomocí grafického rozhraní Správce Hyper-V vyberte formát disku Vhdx-> Rozdíl, zadejte jeho název a cestu k nadřazenému disku.

Nyní na základě těchto souborů vhd vytváříme 2 virtuální stroje Hyper-V:

New-VM - "Win2016-diff1" - Generation 2 -MemoryStartupBytes 1GB -VHDPath e: \ data \ vhd \ Win2016-diff1.vhdx -SwitchName "External Network"
New-VM - "Win2016-diff2" - Generation 2 -MemoryStartupBytes 1GB -VHDPath e: \ data \ vhd \ Win2016-diff2.vhdx -SwitchName "External Network"

Spusťte je:

Start-VM Win2016-diff *

Sloučit diferenciální jednotky v Hyper-V

Ve verzi Hyper-V systému Windows 2008 R2 a vyšší bylo možné kombinovat diferenciální jednotky s nadřazenou (nebo jinou jednotkou) bez zastavení VM. K tomu je zvláštní rutina. Sloučit-Vhd nebo speciální možnost v nabídce úprav disku vhd v konzole Hyper-V Manager.

Set-ItemProperty e: \ data \ vhd \ Win2016.vhdx - jméno IsReadOnly -Value $ false
$ Merge = @
Cesta = 'e: \ data \ vhd \ Win2016-diff2.vhdx'
DestinationPath = 'e: \ data \ vhd \ Win2016.vhdx'

Sloučit-VHD @Merge

 Závěr

Chcete-li snížit zatížení diskového subsystému během vícenásobného přístupu ke stejnému nadřazenému souboru vhd ze všech virtuálních počítačů, doporučujeme jej umístit na rychlé disky. Chcete-li zabránit tomu, aby se tento soubor stal jediným bodem selhání, je třeba zvážit strategie jeho zálohování..