Характеристики на използването на диференциални задвижвания в Hyper-V

Технологията на диференциалните (диференциални) дискове Hyper-V присъства в хипервизора на Microsoft от доста време (ако не се лъжа, от версията на Hyper-V в Windows Server 2008). По правило той е познат на повечето администратори във връзка с технологиите за създаване на моментни снимки (контролни точки) и се използва широко от различни VM резервни системи. Когато създавате моментна снимка или извършвате резервно копие, текущото състояние на VM се записва в един vhd файл и всички промени се записват на друг, диференциален (или различен) диск.

Съдържание:

  • Hyper-V диференциални задвижвания
  • Създайте референтен VHD образ на системата
  • Ние създаваме различителни дискове и VM на базата на тях
  • Обединете диференциалните задвижвания в Hyper-V
  •  заключение

Hyper-V диференциални задвижвания

Друга интересна особеност на диференциалните устройства е възможността да се създаде някакво основно изображение на ОС (като vhd файл) с всички необходими настройки и софтуер. След това въз основа на това изображение можете да разгърнете много типични виртуални машини, които използват vhd устройството на основното изображение и всички промени се записват в техните собствени виртуални дискове. По този начин се постигат значителни икономии в дисковото пространство. Например, примерът по-долу показва, че когато използвате диференциални дискове за 4 VM, базирани на едно изображение, са необходими само 40 GB, а при класическия модел на внедряване са необходими 150 GB за същите машини. Разликата е значителна, особено за бързи и скъпи SSD устройства! 

Диференциално (диференциално) устройство Hyper-V е един от поддържаните видове виртуални дискове (vhd). Въпреки това, за разлика от обикновен VHD диск, той е обвързан с друг родителски диск. Диференциалният диск действа като дъщерен диск и не съдържа пълната версия на данните на VM диска, а само промените, които са направени по време на неговата работа, т.е. това са данните, които го отличават от родителя.

Vhd изображението на родителя (шаблон) остава непроменено и всички създадени на негова база виртуални машини записват промените в собствените си дискове за разлика. Размерът на такъв диференциален диск обикновено е доста малък (максималният му размер не може да надвишава размера на родителя).

Създайте референтен VHD образ на системата

Можете да създадете референтен VHD файл с помощта на Hyper-V Manager GUI или с помощта на PowerShell. PowerShell е много по-бърз.

съвет. За да работят следните командлети, трябва да бъде инсталиран Hyper-V модул за Windows PowerShell:

Активиране-WindowsOptionsFeature -Online -FeatureName Microsoft-Hyper-V-Management-PowerShell

Създайте нов vhdx файл.

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

Въз основа на него създайте нов VM:

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

Монтираме инсталационния ISO образ с изображението на желаната ОС:

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

След като сте създали нов VM, трябва да инсталирате ОС на него, която ще се използва като основно изображение. Тази ОС трябва да бъде конфигурирана съответно (инсталирайте драйвери, актуализации, променете системните настройки). След това, използвайки Sysprep, ние обезличаваме ОС за бъдещо внедряване.

cd% SystemRoot% \ System32 \ Sysprep
sysprep / обобщаване / oobe / изключване

Така получаваме референтното изображение на VM.

Самият VM вече може да бъде изтрит (записвайки своя vhd файл !!!). За да избегнем случайно промяна на този vhd файл, който може да срине всички детски виртуални файлове, ще го поставим в режим ReadOnly:

Set-ItemProperty e: \ data \ vhd \ Win2016.vhdx -Name IsReadOnly -Value $ true

Ние създаваме различителни дискове и VM на базата на тях

Сега можете да създадете няколко зависими (детски) 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

Когато създавате диференциален диск чрез Hyper-V Manager GUI, изберете формата на диска VHDX-> различаване, посочете името и пътя към родителския диск.

Сега на базата на тези vhd файлове създаваме 2 Hyper-V виртуални машини:

New-VM -Name "Win2016-diff1" -генерация 2 -MemoryStartupBytes 1GB -VHDPath e: \ data \ vhd \ Win2016-diff1.vhdx -SwitchName "Външна мрежа"
New-VM -Name "Win2016-diff2" -генерация 2 -MemoryStartupBytes 1GB -VHDPath e: \ data \ vhd \ Win2016-diff2.vhdx -SwitchName "Външна мрежа"

Изпълнете ги:

Start-VM Win2016-diff *

Обединете диференциалните задвижвания в Hyper-V

Във Hyper-V версия на Windows 2008 R2 и по-нова версия стана възможно комбинирането на диференциалните устройства с родителското (или друго устройство) без спиране на VM. За това има специален командлет. Merge-VHD или специална опция в менюто за редактиране на vhd диск в конзолата Hyper-V Manager.

Set-ItemProperty e: \ data \ vhd \ Win2016.vhdx -Name IsReadOnly -Value $ false
$ Merge = @
Path = 'e: \ data \ vhd \ Win2016-diff2.vhdx'
DestinationPath = 'e: \ данни \ vhd \ Win2016.vhdx'

Merge-VHD @ Merge

 заключение

За да намалите натоварването на дисковата подсистема по време на многократен достъп до един и същи родителски vhd файл от всички VM, се препоръчва да го поставите на бързи дискове. За да предотвратите превръщането на този файл в единична точка на повреда, трябва да разгледате стратегии за архивирането му.