VHD集:Hyper-V 2015上的共享虚拟磁盘

时间:2020-01-09 10:47:00  来源:igfitidea点击:

Windows Server 2015中出现的下一个有用的创新是虚拟磁盘VHD Set(VHDS)的新格式,使多个虚拟机可以同时使用一个虚拟磁盘。当共享磁盘必须对所有虚拟机群集节点都可用时,此功能可用于来宾群集方案(文件群集,SQL Server AlwaysOn FCI等)。 VHD Set技术旨在替代Shared VHDX功能,并且不需要配置虚拟HBA和SAN即可将一个LUN呈现给多个VM。

在Windows Server 2012 R2中,为了提供来宾群集功能,使用了共享虚拟磁盘的格式" Shared VHDX"。但是,共享VHDX有一些缺点:

  • 没有机会更改大小或者迁移共享VHDX
  • VHDX不支持备份,检查点或者复制

VHDS没有这些限制,但仅在运行客户机Windows Server 2015的VM中可用。VHDS支持以下新功能:

  • 主机级别的备份和复制支持
  • VHD即时更改大小(不停止VM)
  • 支持热磁盘迁移
  • 为.vhds文件创建检查点

要创建新的VHD集,请在Hyper-V管理器的图形菜单中选择"新建"->"虚拟磁盘"。将VHD Set指定为磁盘格式,然后选择磁盘的类型(固定或者动态),文件名,位置和大小。

我们也可以使用PowerShell创建磁盘:

New-VHD –Path c:\clusterstorage\vmstorage01\DynamicDisk.vhds -SizeBytes 40Gb -Dynamic

创建磁盘时,只需指定vhds文件扩展名,PowerShell将自动创建VHD集。创建VHD Set格式的磁盘时,将出现两个文件:

  • .avhdx包含数据的磁盘文件(可以是固定的也可以是动态的)
  • .vhds一个小的(260 KB)元数据文件,以协调来宾群集节点之间的交互

这是如何使用VHDS创建wo节点来宾群集的示例。

让我们创建两个新的VHD集。第一个将是群集仲裁中的见证磁盘,第二个将是用于数据的磁盘。例如,我们的集群由两个VM表示。在每个虚拟机上连接两个VHD集。我们可以在Hyper-V图形界面或者PowerShell中执行此操作:

Add-VMHardDiskDrive -VMName VMCL01 -Path "c:\ClusterStorage\SharedDisk\VM_Quorum.vhds" -SupportPersistentReservations
Add-VMHardDiskDrive -VMName VMCL01 -Path "c:\ClusterStorage\SharedDisk\VM_Shared.vhds" -SupportPersistentReservations
Add-VMHardDiskDrive -VMName VMCL02 -Path "c:\ClusterStorage\SharedDisk\VM_Quorum.vhds" -SupportPersistentReservations
Add-VMHardDiskDrive -VMName VMCL02 -Path "c:\ClusterStorage\SharedDisk\VM_Shared.vhds" -SupportPersistentReservations

在每个虚拟服务器上安装故障转移群集功能:

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

添加群集共享卷

Get-ClusterResource -Name Data | Add-ClusterSharedVolume

如果操作正确,将出现一个两节点的来宾群集。

我们可以将Shared VHDX转换为VHD Set。使用Convert-VHD cmdlet脱机执行转换(不得使用磁盘,并且必须将其与所有VM断开连接):

Convert-VHD "C:\ClusterStorage\SharedDisk\old.vhdx" "C:\ClusterStorage\SharedDisk\new.vhds"

因此,Windows Server 2015中的VHD Set允许创建MSFT来宾群集,而无需使用复杂的技术,例如NPIV,虚拟HBA和虚拟SAN网络。虚拟VHDS最初支持更改大小,快照和迁移。