VHD Set — новый тип виртуальных дисков в Windows Server 2016

VHD Set — новый тип виртуальных дисков в Windows Server 2016

Следующей полезной новинкой представленной в Windows Server 2016 – новый формат виртуальных дисков — VHD Set (VHDS), предоставляющий возможность одновременного использования одного виртуального диска несколькими виртуальными машинами. Данная возможность предполагает использование в сценариях гостевых кластеров (файловый кластер, SQL Server AlwaysOn FCI и пр), когда нужны общие диски для доступа со всех виртуальных машин-узлов кластера. Технология VHD Set предназначена для замены Shared VHDX дисков, и также не требует настройки виртуальных HBA, SAN для презентации одного LUN нескольким ВМ.

В Windows Server 2012 R2 для реализации функционала гостевых кластеров использовался формат общих виртуальных дисков Shared VHDX. Однако у технологии Shared VHDX есть несколько недостатков:

VHDS диски лишены данных ограничений, однако будут работать только в ВМ с гостевой ОС Windows Server 2016. VHDS диски обеспечивают следующий новый функционал:

    • поддержка репликации и бэкапа на уровне хоста
    • изменение размера диска VHD Set на лету (без остановки ВМ)
    • поддержка горячей миграции дисков
    • создание контрольных точек (чекпоинтов) для файлов .vhds

Чтобы создать новый диск VHD Set, в графическом меню Hyper-V Manager выберите New -> Virtual Disk. В качестве типа диска укажите VHD Set, затем выберите тип диска (фиксированный или динамический), имя файла, местоположение и размер.

VHD Set формат виртуальных дисков в Windows Server 2016Этот диск можно создать и с помощью PowerShell:

New-VHD –Path c:clusterstoragevmstorage01DynamicDisk.vhds -SizeBytes 40Gb -Dynamic

New-VHD - создать диск с помощью powershellПри создании диска достаточно указать расширение файла vhds, в результате чего PowerShell автоматом создаст VHD Set диск. При создании диска типа VHD Set, появляются два файла:

  • .avhdx – собственно файл диска с данными (может быть как фиксированного размера так и динамического)
  • .vhds – небольшой (260 Кб) файл с метаданными для координации доступа между узлами (нодами) гостевого кластера.

avhdx - расширение файлаДалее приведем пример создания двухузлового гостевого кластера на VHDS дисках.

Создадим два новых VHDS диска. Один будет являться диском свидетелем в кворуме кластера, второй – диском с данными. К примеру, наш кластер представляет собой две ВМ. На каждой из виртуальных машин подключим оба VHDS диска. Это можно выполнить из графического интерфейса Hyper-V или с помощью PowerShell:

Add-VMHardDiskDrive -VMName VMCL01 -Path "c:ClusterStorageSharedDiskVM_Quorum.vhds" -SupportPersistentReservations
Add-VMHardDiskDrive -VMName VMCL01 -Path "c:ClusterStorageSharedDiskVM_Shared.vhds" -SupportPersistentReservations
Add-VMHardDiskDrive -VMName VMCL02 -Path "c:ClusterStorageSharedDiskVM_Quorum.vhds" -SupportPersistentReservations
Add-VMHardDiskDrive -VMName VMCL02 -Path "c:ClusterStorageSharedDiskVM_Shared.vhds" -SupportPersistentReservations

На каждом из виртуальных серверов нужно установить компонент Failover Clustering:

Install-WindowsFeature -Name Failover-Clustering -IncludeManagementTools -ComputerName VMCL01
Install-WindowsFeature -Name Failover-Clustering -IncludeManagementTools -ComputerName VMCL02

Инициализируем диски:

get-disk |? OperationalStatus -Like "Offline" | Initialize-Disk

И создадим на них NTFS разделы:

New-Volume -DiskNumber 1 -FileSystem NTFS -FriendlyName Quorum
New-Volume -DiskNumber 2 -FileSystem NTFS -FriendlyName Data

Осталось создать кластер:

# Проверка совместимости
Test-Cluster VMCL01,VMCL02


# Создаем кластер
New-Cluster -Name FSCluster01 -Node VMCL01,VMCL02 -StaticAddress 192.168.0.50
(Get-ClusterResource |? Name -like "Cluster Disk 1").Name="Quorum"
(Get-ClusterResource |? Name -like "Cluster Disk 2").Name="Data"

# Укажем диск-свидетель
Set-ClusterQuorum -DiskWitness Quorum

# Добавим диск Cluster Shared Volume
Get-ClusterResource -Name Data | Add-ClusterSharedVolume

Если все выполнили правильно, получится двухузловой кластер.

2 node cluster 2016Возможна конвертация имеющихся общих VHDX дисков в формат VHD Set. Конвертация выполняется в офлайн режиме (диск не должен использоваться и быть отключен от всех ВМ) с помощью командлета Convert-VHD:

Convert-VHD "C:ClusterStorageSharedDiskold.vhdx" "C:ClusterStorageSharedDisknew.vhds"

Итак, технология VHD Set в Windows Server 2016 позволяет с легкостью создать гостевой кластер MSFT без использования сложных технология NPIV, виртуальных HBA и виртуальной SAN сети. Виртуальные VHDS диски нативно поддерживают изменение размера, снапшоты и миграцию.

Windows Server 2016
VHD Set — новый тип виртуальных дисков в Windows Server 2016