Hyper-v 2016 VHD Set

微软在Windows Server 2016 Hyper-v中新增了一种磁盘类型--“VHD集”,和以前版本的共享VHD类似,这种类型的磁盘能够在多个服务器之间共享来实现来宾群集。

看到这里相信有很多熟悉Hyper-v的朋友会问:这和以前的 Share VHDX有什么区别?下面我们就来看一下:

Share VHDX可以使多个虚拟机之间共用一个虚拟硬盘,这对于实施需要使用磁盘共享的来宾操作系统群集是十分有用的,例如我们常见的SQL Server AlwaysON等等。但是使用Share VHDX会有如下限制:

1、Share VHDX不支持做备份或者副本

2、Share VHDX不支持调整大小或迁移

VHD集则没有上述的限制,但是VHD集仅适用于Windows Server 2016来宾操作系统。

闲言少叙,下面我们来看一下如何配置VHD集

创建VHD集:

打开“故障转移群集管理器”—“虚拟机”—“新建硬盘”:

Hyper-v 2016 VHD Set_第1张图片

在向导页点击“下一步”:

Hyper-v 2016 VHD Set_第2张图片

磁盘格式选择“VHD集”:

Hyper-v 2016 VHD Set_第3张图片

根据实际情况选择磁盘类型:

Hyper-v 2016 VHD Set_第4张图片

指定虚拟磁盘名称和存储位置:

Hyper-v 2016 VHD Set_第5张图片

指定磁盘大小:

Hyper-v 2016 VHD Set_第6张图片

摘要页确认无误点击“完成”:

Hyper-v 2016 VHD Set_第7张图片

创建完成以后可以在其存储目录看到如下文件

Hyper-v 2016 VHD Set_第8张图片

为虚拟机添加VHD集

接下来我会将刚刚创建的两个VHD集挂载到虚拟机Node1,Node2,将VHD集挂载到虚拟机有两种方法,分别是图形界面和Powershell:

Hyper-v 2016 VHD Set_第9张图片

使用图形界面挂载:

鼠标右键“Node1”—“设置”—“SCSI控制器”—“共享驱动器”然后找到我们刚刚新建的VHD集,如下图所示:

Hyper-v 2016 VHD Set_第10张图片

Powershell挂载方法:

运行如下PS命令将VHD集挂载到Node2:

Add-VMHardDiskDrive -VMName Node2 -Path " C:\ClusterStorage\Volume1\ShareVHD\Data.vhds" -SupportPersistentReservations

Add-VMHardDiskDrive -VMName Node2 -Path " C:\ClusterStorage\Volume1\ShareVHD\FS.vhds" -SupportPersistentReservations

Hyper-v 2016 VHD Set_第11张图片

挂载完成以后登陆Node1或Node2,运行如下PS命令对磁盘进行联机-初始化-分区:

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

New-Volume -DiskNumber 2 -FileSystem NTFS -FriendlyName FS

Hyper-v 2016 VHD Set_第12张图片

创建来宾群集:

运行如下PS命令安装故障转移群集和多路径I/O:

Invoke-Command -ComputerName HV01,HV02 -Command { Install-WindowsFeature -Name Failover-Clustering,Multipath-IO -IncludeManagementTools }

Hyper-v 2016 VHD Set_第13张图片

Hyper-v 2016 VHD Set_第14张图片

使用如下命令来创建故障转移群集:

New-Cluster -Name FSCluster1 -Node HV01,HV02 -StaticAddress 192.168.1.39

clip_p_w_picpath030

创建完成如下图所示:

Hyper-v 2016 VHD Set_第15张图片

找到群集共享卷可以进行数据复制:

Hyper-v 2016 VHD Set_第16张图片