Windows Server SDS 存儲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命令檢索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
創建存儲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-StorageQosPolicyNameMinimumIopsMaximumIopsMaximumBandwidthStatus---------------------------------------------Default000?MB/sOKHighPerf2008000?MB/sOK
接著創建一個名為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
使用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
本文轉載自異步社區。
網絡 云計算 邊緣數據中心管理 EDCM windows
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。