Особенности использования дифференциальных дисков в Hyper-V

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

Дифференциальные диски Hyper-V

Еще одной интересной возможностью дифференциальных дисков является возможность создания некого базового образа ОС (в виде vhd файла) со всеми необходимыми настройками и ПО. Затем на базе этого образа можно развернуть множество типовых виртуальны машин, которые используют vhd диск базового образа, а все изменения пишут уже в собственные виртуальные диски. Тем самым достигается существенная экономия дискового пространства. Например, на примере ниже видно, что при использовании дифференциальных дисков для 4 ВМ на основе одного образа понадобится всего 40 Гб, а при классической модели развертывания для этих же машин нужно 150 Гб. Разница существенная, особенно для быстрых и дорогих SSD дисков!

Дифференциальный (разностный) диск Hyper-V является одним из поддерживаемых типов виртуальных дисков (vhd). Однако, в отличии от обычного vhd диска, он жестко привязан к другому родительскому диску. Дифференциальный диск выступает в роли дочернего диска и содержит не полную версию данных на диске ВМ, а лишь изменения, которые были внесены в процессе ее работы, т.е. это данные, отличающие его от родительского.

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

Создаем эталонный VHD образ системы

Создать эталонный VHD файл можно с помощью графического интерфейса Hyper-V Manager или с помощью PowerShell. В PowerShell намного быстрее.

Совет . Для работы следующих командлетов должен быть установлен модуль Hyper-V для Windows PowerShell :

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

Создадим новый vhdx файл.

new-vhd -path  e:datavhdWin2016.vhdx -SizeBytes 50GB –Dynamic

На его базе создадим новую ВМ:

new-vm -Name TemplateVM –Path e:datavhd  -VHDPath e:datavhdWin2016.vhdx | `
set-vmmemory -DynamicMemoryEnabled $true -MaximumBytes 2GB -MinimumBytes 512MB -StartupBytes 1GB

Смонтируем установочный ISO образ с образом нужной ОС:

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

После того, как вы создали новую ВМ, нужно установить на нее ОС, которая будет использоваться в качестве базового образа. Данную ОС нужно настроить соответствующим образом (установить драйвера, обновления, поменять настройки системы). Затем с помощью Sysprep выполняем обезличивание ОС для последующего развертывания.

cd %SystemRoot%System32Sysprep
sysprep /generalize /oobe /shutdown

Таким образом, у нас получается эталонный образ ВМ.

Саму ВМ теперь можно удалить (сохранив ее vhd файл!!!). Чтобы избежать случайного изменения этого vhd файла, которое может в обрушить все дочерние ВМ, переведем его в режим ReadOnly:

Set-ItemProperty e:datavhdWin2016.vhdx -Name IsReadOnly -Value $true

Создаем разностные диски и ВМ на их основе

Теперь можно создать несколько зависимых (дочерних) vhd файлов:

New-VHD -ParentPath: e:datavhdWin2016.vhdx  -Path e:datavhdWin2016-diff1.vhdx -Differencing
New-VHD -ParentPath: e:datavhdWin2016.vhdx  -Path e:datavhdWin2016-diff2.vhdx –Differencing

При создании разностного диска через графический интерфейс Hyper-V Manager в качестве формата диска нужно выбрать VHDX -> Differencing , указать его имя и путь к родительскому диску.

Теперь на основе этих vhd файлов создадим 2 виртуальные машины Hyper-V:

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

Запустите их:

Start-VM Win2016-diff*

Объединение (Merge) дифференциальных дисков в Hyper-V

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

Set-ItemProperty e:datavhdWin2016.vhdx -Name IsReadOnly -Value $false
$Merge = @{
Path = ‘e:datavhdWin2016-diff2.vhdx'
DestinationPath = 'e:datavhdWin2016.vhdx'
}
Merge-VHD @Merge

Заключение

Для уменьшения нагрузки дисковой подсистемы при множественном обращении к одному родительскому vhd файлу со стороны всех ВМ, его рекомендуется размещать на быстрых дисках. Чтобы этот файл не стал единой точкой отказа, нужно предусмотреть стратегии его резервного копирования.

admin

Share
Published by
admin

Recent Posts

Apple: история логотипа

Как менялся логотип Apple на протяжении многих лет. Логотип Apple — это не просто символ,…

2 месяца ago

Security Boot Fail при загрузке Acer — решение проблемы

Security Boot Fail при загрузке Acer — решение проблемы При загрузке ноутбука Acer с флешки,…

2 месяца ago

Ноутбук не включается — варианты решения

Ноутбук не включается — варианты решения Если при попытке включить ноутбук вы обнаруживаете, что он…

2 месяца ago

The AC power adapter wattage and type cannot be determined — причины и решение

The AC power adapter wattage and type cannot be determined — причины и решение При…

2 месяца ago

Свистит или звенит блок питания компьютера — причины и решения

Свистит или звенит блок питания компьютера — причины и решения Некоторые владельцы ПК могут обратить…

2 месяца ago

Мигает Caps Lock на ноутбуке HP — почему и что делать?

Мигает Caps Lock на ноутбуке HP — почему и что делать? При включении ноутбука HP…

2 месяца ago