Windows Server 2016软件定义存储之QoS

存储QoS简介

Windows Server 2016文件服务器和Hyper-V群集默认集成了存储QoS功能,基于群集存储空间的存储无论是SOFS SMB共享还是CSV都支持存储QoS,存储QoS通过策略应用到Hyper-V群集上的虚机。文件服务器群集里默认开启QoS策略管理器,用于集中监视存储性能,保存在SMB或者CSV的Hyper-V虚机被策略管理器监视着。策略管理器和Hyper-V服务器形成一个存储QoS策略优化的闭环来反馈调节QoS,策略管理器保持着和Hyper-V沟通存储QoS策略、限制及保留信息,Hyper-V按照QoS策略缩放虚机VHDX的存储性能。如果存储QoS策略有更新的时候,策略管理器指挥Hyper-V对虚机虚拟硬盘QoS进行调整。存储QoS策略优化的闭环保证所有虚机的虚机硬盘遵循存储QoS策略,如图1所示。

图1 存储QoS逻辑结构图

 

设置存储QoS

Windows Server 2016 故障转移群集配置了CSV后,存储QoS功能自动启动,无需额外配置。在群集里添加可用的磁盘为CSV后,存储QoS资源便会在群集核心资源里显示。可以通过故障转移群集管理器或者PowerShell查看存储QoS资源。同样,Windows Server 2016 启用Hyper-V角色以后也会自动启动存储QoS功能,如图2所示。

图2 Windows Server 2016群集存储QoS资源

检索文件流和卷的存储QoS

我们已经配置好S2D和超融合结构,在其CSV里存储着若干运行着的虚机,可使用PowerShell命令查看所有虚机文件流的IOPS和带宽情况,如下示例所示。

PS C:\>  Get-StorageQoSflow |Sort-Object InitiatorName | ft InitiatorName,MinimumIOPs,MaximumIOPs,StorageNodeIOPs,@{Expression={$_.FilePath.Substring($_.FilePath.LastIndexOf(‘\’)+1)};Label=”File”}  -AutoSize      
InitiatorName    MinimumIops    MaximumIops    StorageNodeIOPs    File    
------------     ----------     ----------     ---------------    ----    
SQL14        0         0         1           sql14.vhdx    
VMM16        0         0         3           vmm16.vhdx     
WS16-VM01      0         0         1           WS16-VM01.vhdx    
WS16-VM02      0         0         1           WS16-VM02.vhdx

除了可以查看虚机级别的QoS流的情况外,还可以查看卷(这里指的是群集共享卷)级别的QoS信息,使用PowerShell命令Get-StorageQoSVolume检索CSV QoS配置情况,如下示例所示。

PS C:\> Get-StorageQoSVolume |fl      
Bandwidth          : 0    
BandwidthLimit       : 0    
Interval          : 300000    
IOPS            : 0    
Latency           : 0    
Limit            : 0    
Mountpoint          : C:\ClusterStorage\Volume1\    
Reservation         : 0    
Status           : Ok    
TimeStamp          : 8/5/2016 5:14:23 PM    
VolumeId          : 2406be47-4757-4b75-a193-c874b69c0e8c    
MaximumIops         : 0    
MinimumIops         : 0

创建存储QoS策略

在规划好虚机QoS策略类型和QoS策略具体参数后,第一步先创建存储QoS策略,可以使用PowerShell命令New-StorageQoSPolicy设置专有和共享QoS策略。我们先创建一个名为HighPerf的专有QoS策略,最小IOPS设置为200,最大为800,不设置吞吐带宽。

PS C:\> New-StorageQosPolicy -Name  HighPerf -PolicyType Dedicated -MinimumIops 200 -MaximumIops 800

使用PowerShell命令Get-StorageQoSPolicy获取QoS策略,如下示例所示。

PS C:\> Get-StorageQosPolicy     
Name     MinimumIops    MaximumIops    MaximumBandwidth    Status    
----     ----------     ----------     ---------------     ------    
Default    0         0         0 MB/s         OK    
HighPerf   200        800        0 MB/s         OK

接着创建一个名为MediumPerf的共享QoS策略,设置最小IOPS为100,最大为400,不设置吞吐带宽。

PS C:\> New-StorageQosPolicy -Name  MediumPerf -PolicyType Aggregated -MinimumIops 100 -MaximumIops 400

到此我们已经创建了两个不同大小的存储QoS策略,如下示例所示。

PS C:\> Get-StorageQosPolicy     
Name        MinimumIops      MaximumIops      MaximumBandwidth      Status    
----        ----------       ----------       ---------------       ------    
Default       0           0           0 MB/s            OK     
MediumPerf     100          400          0 MB/s            OK    
HighPerf      200          800          0 MB/s            OK

接下来我们将选取两台虚机分配存储QoS策略,一台虚机只有一个VHDX文件,这台虚机需要IOPS;另外一台虚机有三个VHDX文件,这台虚机只需要中等IOPS,而且三个VHDX共享一个存储QoS策略。

 

分配存储QoS策略

首先将名为HighPerf的专有策略分配给一台SQL Server虚机,使用PowerShell命令进行分配即可。在分配之前需要使用如下命令定义变量并获取存储QoS策略的ID,存储QoS策略ID将在分配QoS策略时作为QoSPolicyID要赋予的值。

PS C:\> $HighPerfQoS=Get-StorageQoSPolicy | ? Name -eq HighPerf
PS C:\> $HighPerfQoS.PolicyId
 
Guid
----
6b56f995-08d1-4bb0-9eaa-96f6de29a2ab

使用PowerShell命令将策略应用到选择的SQL Server虚机,QoSPolicyID这个参数后接名为HighPerf的QoS策略ID。

PS C:\> Get-VM -Name SQL14 | Get-VMHardDiskDrive | Set-VMHardDiskDrive -QoSPolicyID  6b56f995-08d1-4bb0-9eaa-96f6de29a2ab

分配完毕,打开分配了QoS策略的虚机的设置窗口。大家会发现,我们以往在Hyper-V虚机设置窗口里直接对VHDX虚拟硬盘进行IOPS的最大最小值进行设置,但是应用了QoS策略的VHDX虚拟硬盘并没有显示QoS策略所定义的IOPS最大及最小值,取而代之的是QoS策略ID,如图3 所示。

图3 查看虚机分配的QoS策略ID

虽然在设置窗口看不到直观的IOPS值,但是要查看虚机分配QoS策略之后是否生效以及生效后虚机磁盘QoS值,可以运行Get-StorageQoSflow命令查看,示例命令和结果如下。

PS C:\> Get-StorageQoSflow |Sort-Object InitiatorName | ft InitiatorName,MinimumIOPs,MaximumIOPs,StorageNodeIOPs,@{Expression={$_.FilePath.Substring($_.FilePath.LastIndexOf(‘\’)+1)};Label=”File”}  -AutoSize      
InitiatorName    MinimumIops    MaximumIops    StorageNodeIOPs    File    
------------     ----------     ----------     ---------------    ----    
SQL14        200         800        0           sql14.vhdx    
VMM16        0         0         0           vmm16.vhdx    
WS16-VM01      0         0         1           WS16-VM01.vhdx    
WS16-VM02      0         0         1           WS16-VM02.vhdx

接着将名为MediumPerf的共享QoS策略分配给一台具有三块VHDX虚拟磁盘的虚机,同样使用PowerShell命令进行。在分配之前需要定义变量获取存储QoS策略的ID,如下示例所示,存储QoS策略ID将在分配QoS策略时作为QoSPolicyID后接参数值使用。

PS C:\> $MediumPerf=Get-StorageQoSPolicy | ? Name -eq MediumPerf
PS C:\> $MediumPerf.PolicyId
 
Guid
----
c0cea944-981e-445e-ad20-d6a33d294fb7

使用PowerShell命令将策略用应用到选择的虚机,QoSPolicyID这个参数后接名为MediumPerf 的QoS策略ID。

PS C:\>Get-VM -Name  WS16-VM01 | Get-VMHardDiskDrive | Set-VMHardDiskDrive –QoSPolicyID  c0cea944-981e-445e-ad20-d6a33d294fb7

分配完毕,打开分配了QoS策略的虚机的设置窗口,和专有QoS策略一样,应用了QoS策略的VHDX虚拟硬盘并没有显示QoS策略所定义的IOPS最大及最小值,取而代之的是QoS策略ID,如图4所示。

图4查看虚机分配的QoS策略ID

要查看虚机分配QoS策略之后是否生效以及生效后虚机磁盘QoS值,可以运行Get-StorageQoSflow命令查看。在查询结果中,可以看到具有三个VHDX文件的虚机应用了一个最小100,最大400的QoS策略,那么每个VHDX的IOPS最小为100/3取整,最大为400/3取整,如下示例所示。

PS C:\> Get-StorageQoSflow  |Sort-Object InitiatorName | ft InitiatorName,MinimumIOPs,MaximumIOPs,StorageNodeIOPs,@{Expression={$_.FilePath.Substring($_.FilePath.LastIndexOf(‘\’)+1)};Label=”File”}  -AutoSize      
InitiatorName    MinimumIops    MaximumIops    StorageNodeIOPs    File    
------------     ----------    ----------     ---------------    ----    
SQL14        200        800        0           sql14.vhdx    
VMM16        0         0         7           vmm16.vhdx    
WS16-VM01      33         133        0           WS16-VM01.vhdx    
WS16-VM01      33         133        0           DATADisk01.vhdx    
WS16-VM01      33         133        0           DATADisk02.vhdx    
WS16-VM02      0         0         0           WS16-VM02.vhdx

存储QoS策略的重设

我们经常需要按照环境的变化对策略做对相应的调整,存储QoS也不会例外,比如某些应用应为访问量和数量增大时,对存储的读写速度提出了更高的要求。如果虚机的虚拟硬盘已经应用了存储QoS策略,那么我们不需要重新创建存储QoS策略分配给虚机的虚拟磁盘,而是在线调整已有的QoS策略,虚机虚拟硬盘的QoS策略会在线同步更新。接下来我们找一个之前应用到虚机的名为HighPerf的存储QoS策略,将IOPS值最小和最大值分别从200和800调整到500和1000。先使用如下PowerShell命令Set-StorageQosPolicy完成QoS策略变更,然后使用Get-StorageQosPolicy查询QoS策略修改结果,结果应如下示例所示。

PS C:\> Get-StorageQosPolicy  -Name HighPerf | Set-StorageQosPolicy -MinimumIOPS 500 -MaximumIops 1000 PS C:\> Get-StorageQosPolicy     

Name      MinimumIops    MaximumIops       MaximumBandwidth    Status    
----      ----------     ----------       ---------------     ------    
Default     0         0           0 MB/s         OK    
MediumPerf    100        400          0 MB/s         OK    
HighPerf    500        1000          0 MB/s         OK    
LowPerf     50         200          0 MB/s         OK

调整完毕,不需要再次应用QoS策略到虚机,虚机虚拟磁盘会自动更新策略。使用PowerShell命令可查看到应用了名为HighPerf存储QoS策略的SQL Server虚机虚拟硬盘更新后的IOPS QoS信息,如下示例命令所示。

PS C:\> Get-StorageQoSflow |Sort-Object  InitiatorName | ft InitiatorName,MinimumIOPs,MaximumIOPs,StorageNodeIOPs,@{Expression={$_.FilePath.Substring($_.FilePath.LastIndexOf(‘\‘)+1)};Label="File"}  -AutoSize      

InitiatorName    MinimumIops    MaximumIops    StorageNodeIOPs    File    
------------     ----------     ----------     ---------------    ----    
SQL14        500        1000        0           sql14.vhdx    
VMM16        50         200         7           vmm16.vhdx    
WS16-VM01      33         133         0           WS16-VM01.vhdx    
WS16-VM01      33         133        0           DATADisk01.vhdx    
WS16-VM01      33         133        0           DATADisk02.vhdx    
WS16-VM02      0         0         0           WS16-VM02.vhdx
时间: 2024-10-02 01:24:31

Windows Server 2016软件定义存储之QoS的相关文章

Windows Server 2016软件定义存储:Storage Spaces Direct的关键特性

[TechTarget中国原创] 微软在Windows Server 2016 Technical Preview 2中引入了Storage Spaces Direct.这个特性将本地存储扩展为高可用(HA)存储系统. 举个例子,Storage Spaces Direct支持使用低成本.低性能.高容量的类似SATA硬盘和固态设备(例如固态硬盘SSD和串口存储设备架构)插入到PCI Express总线中.这种处理方法被称之为Nonvolatile Memory Express(NVMe)或者非易失

Windows Server 2016存储空间直连技术的探秘

关于存储空间直连技术,在本人的之前的博客中小有介绍,其中只是关于这种分布式存储的实现进行了少量延展,这里就把这个技术就我粗浅的研究给感兴趣的朋友介绍一下.首先分布式存储中每个节点都是使用本地的存储的,但是逻辑层却要保证每个节点都能看到所有节点下的存储,这听起来有点不可思议,但其实原来存储厂商提供的存储都有相似的结构,节点机头带本地盘如果多机头节点就要实现磁盘到所有机头的挂接链路.我们这里介绍的Windows Server 2016存储空间直连技术是软件定义存储的范畴,所以首先要引入的一个技术叫做

Windows Server 2016存储复制浅谈

存储复制是Windows Server 2016中新增的一项功能,它是Windows Server上面原生自带的块级别复制技术,可以实现分区对分区,单机对单机,延伸群集,跨群集复制等灾备场景的复制,帮助组织更好的提高业务连续性,存储复制技术实现为非对称存储无关性,在单机对单机,以及群集架构中,各节点可分别连接各自存储. 存储复制技术的主要技术特点 使用SMB 3.1.1通讯协议 支持同步复制与非同步复制 复制时会需要日志磁盘与数据磁盘,数据先写入日志磁盘,再Commit数据磁盘 每次复制的最小单

Windows Server 2016技术预览

Windows Server 2016是微软将于2016年9月份发布的最新服务器操作系统.目前微软官方发布了许多Windows Server 2016新的功能和特性,下面我们来简单看下: 主要内容 预览版界面 系统需求及安装 服务器管理变化 新特性及变化 预览版界面 服务器界面,沉浸而不渲染 登录界面,色调变得活泼起来,用户图像由原先Windows2012的方块变成圆形 继续 进入系统,乍一看,以为是WIN10呢,注意右下角 如此做法,似乎在传递win10的最佳服务器系统就是他了 开始菜单,Al

Windows server 2016 key 序列号 密钥 破解 激活工具

Windows server 2016 key 序列号 密钥  破解 激活工具 Windows Server 2016 中的新增功能 点击获取Windows 2016 激活工具 计算 虚拟化区域包括适用于 IT 专业人员的虚拟化产品和功能,以设计.部署和维护 Windows Server. 常规 由于 Win32 Time 和 Hyper-V 时间同步服务的改进,物理和虚拟计算机从更高的时间准确性中受益. 现在,Windows Server 可以托管与即将推出的要求 UTC 准确性为 1 ms

windows server 2016 网络服务(八)

Hyper-V高级功能 NIC Teaming 支持最多32个网络适配器定义为单一网络接口 主备.负载 SMB3.1.1(服务消息块协议) Windows 10和windows Server 2016 AES和GCM,SHA 512 Hyper-V数据保存到SMB3.0以上的共享文件夹中 功能 SMB故障转移集群 SMB横向扩展(CSV支持) SMB多通道 SMB直连:要求网卡支持RDMA功能 SMB加密 SMB数据完整性检查 SMB基于存储群集:传统NAS的替代 基本网络QoS 带宽管理 分类

免费下载:微软电子书《介绍Windows Server 2016》

微软最新服务器操作系统Windows Server 2016正式版镜像已经泄露,那么这款系统究竟有什么特点?相比于之前的Server 2012或Server 2008等版本,2016版有什么优势?现在微软Windows Server团队撰写了名为<介绍Windows Server 2016>的使用指南,以免费电子书的形式发布,帮助用户更好地了解新系统的使用方法. 全书正文共有五章,IT之家把各章内容简要整理如下: 第一章 -- 介绍微软Windows Server 2016 涵盖云(安全.Li

Windows Server 2016 DNS Policy Load Balancing 4

在前面三篇文章中作者针对Windows Server 2016 DNS Policy的基于地理位置流量分流,基于时间负载的DNS智能定位,以及内外网卡分流的场景进行了简单的实验论证以及场景解释,相信看过思考过的朋友都有收获 本系列最后一篇文章中,作者将主要介绍下2016 DNS policy针对于负载均衡和之前版本的不同,以及本地负载均衡设计及跨地域负载均衡如何配置,再介绍下2016DNS policy的一些其它用法,最后我们总结下本系列文章 再2016之前,大家想到Windows Server

微软新一代操作系统-Windows Server 2016

微软新一代为云端而生的操作系统Windows Server 2016即将正式发布,微软将于太平洋时间2016年9月26日早上9点开放Windows Server 2016评估版本的下载:在微软Ignite 2016大会(9月26日-30日)之后, Windows Server 2016 RTM版本将在10月中旬可用.那么在Windows Server 2016中新增了很多让人十分激动的技术,今天先简单的介绍几个,后面的章节再做详细的介绍和实验分享. Windows Nano Server 为云端