記憶域のサービスの品質 (QoS)Storage Quality of Service

適用対象:Windows Server (半期チャネル)、Windows Server 2016Applies to: Windows Server (Semi-Annual Channel), Windows Server 2016

Windows Server 2016 の記憶域のサービスの品質 (QoS) では、Hyper-V とスケールアウト ファイル サーバーの役割を使用して仮想マシンのために記憶域のパフォーマンスを一元的に監視および管理する方法を提供します。Storage Quality of Service (QoS) in Windows Server 2016 provides a way to centrally monitor and manage storage performance for virtual machines using Hyper-V and the Scale-Out File Server roles. この機能は、同一のファイル サーバー クラスターを使用している複数の仮想マシン間で記憶域リソースの公平性を自動的に向上させ、正規化された IOPS の単位でポリシー ベースの最小と最大のパフォーマンス目標を構成できるようにします。The feature automatically improves storage resource fairness between multiple virtual machines using the same file server cluster and allows policy-based minimum and maximum performance goals to be configured in units of normalized IOPs.

Windows Server 2016 の記憶域 QoS を使用して、次の作業を実行できます。You can use Storage QoS in Windows Server 2016 to accomplish the following:

  • ノイズの多い近隣の問題を軽減します。Mitigate noisy neighbor issues. 既定では、記憶域 QoS によって、1 つの仮想マシンがすべての記憶域リソースを消費したり、他の仮想マシンのストレージ帯域幅が枯渇したりしないようにします。By default, Storage QoS ensures that a single virtual machine cannot consume all storage resources and starve other virtual machines of storage bandwidth.

  • エンドツーエンドストレージのパフォーマンスを監視します。Monitor end to end storage performance. スケール アウト ファイル サーバーに格納されている仮想マシンが起動されるとすぐに、それらのパフォーマンスが監視されます。As soon as virtual machines stored on a Scale-Out File Server are started, their performance is monitored. すべての実行中の仮想マシンのパフォーマンスの詳細とスケールアウト ファイル サーバー クラスターの構成を 1 つの場所から表示できます。Performance details of all running virtual machines and the configuration of the Scale-Out File Server cluster can be viewed from a single location

  • ワークロードのビジネス ニーズごとに記憶域 I/O を管理します。 記憶域 QoS ポリシーは、仮想マシンの最低と最高のパフォーマンスを定義し、それらが満たされることを確認します。Manage Storage I/O per workload business needs Storage QoS policies define performance minimums and maximums for virtual machines and ensures that they are met. これにより、高密度の過剰にプロビジョニングされた環境でも、仮想マシンの一貫したパフォーマンスを提供します。This provides consistent performance to virtual machines, even in dense and overprovisioned environments. ポリシーを満たすことができない場合は、警告を使用して、VM がポリシーを守れない状況または無効なポリシーが割り当てられた状況を追跡します。If policies cannot be met, alerts are available to track when VMs are out of policy or have invalid policies assigned.

このドキュメントでは、新しい記憶域 QoS 機能から企業がメリットを得る方法について説明します。This document outlines how your business can benefit from the new Storage QoS functionality. ここでは、Windows Server、Windows Server フェールオーバー クラスタリング、スケールアウト ファイル サーバー、Hyper-V、Windows PowerShell に関する実用的な知識があることを前提としています。It assumes that you have a previous working knowledge of Windows Server, Windows Server Failover Clustering, Scale-Out File Server, Hyper-V, and Windows PowerShell.

概要Overview

このセクションでは、記憶域 QoS を使用するための要件、記憶域 QoS を使用するソフトウェア定義ソリューションの概要、および記憶域 QoS 関連の用語について説明します。This section describes the requirements for using Storage QoS, an overview of a software-defined solution using Storage QoS, and a list of Storage QoS related terminologies.

記憶域 QoS の要件Storage QoS Requirements

記憶域 QoS は、2 つの展開シナリオをサポートしています。Storage QoS supports two deployment scenarios:

  • スケールアウト ファイル サーバーを使用する Hyper-V このシナリオには次の両方が必要です。Hyper-V using a Scale-Out File Server This scenario requires both of the following:

    • スケール アウト ファイル サーバー クラスターである記憶域クラスターStorage cluster that is a Scale-Out File Server cluster

    • HYPER-V の役割が有効になっている少なくとも 1 つのサーバーが含まれる計算クラスターCompute cluster that has least one server with the Hyper-V role enabled

    記憶域 QoS では、記憶域サーバー上にフェールオーバー クラスターが必要ですが、計算サーバーはフェールオーバー クラスターになる必要はありません。For Storage QoS, the Failover Cluster is required on Storage servers, but the compute servers are not required to be in a failover cluster. すべてのサーバー (記憶域用と計算用の両方) で、Windows Server 2016 を実行している必要があります。All servers (used for both Storage and Compute) must be running Windows Server 2016.

    評価の目的でスケールアウトファイルサーバークラスターをデプロイしていない場合は、既存のサーバーまたは仮想マシンを使用して構築するための手順については、「@no__t 0Windows Server 2012 R2 Storage」を参照してください。記憶域スペースを使用したステップバイステップ (SMB スケールアウトと共有 VHDX (物理) ](http://blogs.technet.com/b/josebda/archive/2013/07/31/windows-server-2012-r2-storage-step-by-step-with-storage-spaces-smb-scale-out-and-shared-vhdx-physical.aspx))。If you do not have a Scale-Out File Server cluster deployed for evaluation purposes, for step by step instructions to build one using either existing servers or virtual machines, see Windows Server 2012 R2 Storage: Step-by-step with Storage Spaces, SMB Scale-Out and Shared VHDX (Physical).

  • クラスターの共有ボリュームを使用した hyper-v。Hyper-V using Cluster Shared Volumes. このシナリオでは、次の両方のものが必要です。This scenario requires both of the following:

    • HYPER-V の役割が有効になっているコンピューティング クラスターCompute cluster with the Hyper-V role enabled

    • クラスター共有ボリューム (CSV) を記憶域に使用した Hyper-VHyper-V using Cluster Shared Volumes (CSV) for storage

フェールオーバー クラスターが必要です。Failover Cluster is required. すべてのサーバーで、同じバージョンの Windows Server 2016 を実行している必要があります。All servers must be running the same version of Windows Server 2016.

ソフトウェアで定義された記憶域ソリューションでの記憶域 QoS の使用Using Storage QoS in a software-defined storage solution

記憶域のサービス品質は、スケールアウト ファイル サーバーおよび Hyper-V によって提供されるマイクロソフトのソフトウェア定義記憶域ソリューションに組み込まれています。Storage Quality of Service is built into the Microsoft software-defined storage solution provided by Scale-Out File Server and Hyper-V. スケールアウト ファイル サーバーは、SMB3 プロトコルを使用して Hyper-V サーバーにファイル共有を公開します。The Scale-Out File Server exposes file shares to the Hyper-V servers using the SMB3 protocol. 中央でストレージのパフォーマンスを監視できる新しいポリシー マネージャーがファイル サーバー クラスターに追加されました。A new Policy Manager has been added to the File Server cluster, which provides the central storage performance monitoring.

スケールアウト ファイル サーバーと記憶域 QoS

**図 1: スケールアウトファイルサーバー @ no__t でのソフトウェア定義の記憶域ソリューションでの記憶域 QoS の使用Figure 1: Using Storage QoS in a software-defined storage solution in Scale-Out File Server

Hyper-V サーバーが仮想マシンを起動すると、それらはポリシー マネージャーによって監視されます。As Hyper-V servers launch virtual machines, they are monitored by the Policy Manager. ポリシー マネージャーは、記憶域 QoS ポリシーおよびすべての制限または予約を Hyper-V サーバーに伝達し、Hyper-V サーバーが仮想マシンのパフォーマンスを適切に制御します。The Policy Manager communicates the Storage QoS policy and any limits or reservations back to the Hyper-V server, which controls the performance of the virtual machine as appropriate.

記憶域 QoS ポリシーまたは仮想マシンに必要なパフォーマンスが変化した場合、ポリシー マネージャーが Hyper-V サーバーに通知してそれらの動作を調整します。When there are changes to Storage QoS policies or to the performance demands by virtual machines, the Policy Manager notifies the Hyper-V servers to adjust their behavior. このフィードバック ループにより、定義された記憶域 QoS ポリシーに従って、すべての仮想マシンの VHD が継続的に実行されます。This feedback loop ensures that all virtual machines VHDs perform consistently according to the Storage QoS policies as defined.

グロッサリGlossary

項目Term 説明Description
正規化された IOPSNormalized IOPs すべての記憶域の使用状況は、”正規化された IOPS” で測定されます。All of the storage usage is measured in "Normalized IOPs." これは、1 秒あたりの記憶域の入出力操作の数です。This is a count of the storage input/output operations per second. 8 KB 以下の IO はすべて 1 つの正規化された IO と見なされます。Any IO that is 8KB or smaller is considered as one normalized IO. 8 KB より大きいすべての IO は、複数の正規化された IO と見なされます。Any IO that is larger than 8KB is treated as multiple normalized IOs. たとえば、256 KB の要求は、32 の正規化された IOPS として扱われます。For example, a 256KB request is treated as 32 normalized IOPs.

Windows Server 2016 には、IO を正規化するために使用するサイズを指定する機能が含まれています。Windows Server 2016 includes the ability to specify the size used to normalize IOs. 記憶域クラスター上で、正規化されたサイズを指定し、クラスター全体の正規化の計算に適用することができます。On the storage cluster, the normalized size can be specified and take effect on the normalization calculations cluster wide. 既定値は、8 KB のままです。The default remains 8KB.
フローFlow VHD または VHDX ファイルに対して Hyper-V サーバーによって開かれる各ファイル ハンドルは ”フロー” と見なされます。Each file handle opened by a Hyper-V server to a VHD or VHDX file is considered a "flow". 仮想マシンに 2 台の仮想ハードディスクが接続されている場合、ファイルごとに 1 つのファイル サーバー クラスターへのフローがあります。If a virtual machine has two virtual hard disks attached, it will have 1 flow to the file server cluster per file. VHDX が複数の仮想マシンで共有されている場合、仮想マシンごとに 1 つのフローがあります。If a VHDX is shared with multiple virtual machines, it will have 1 flow per virtual machine.
InitiatorNameInitiatorName 各フローに対応するスケール アウト ファイル サーバーに報告されている仮想マシンの名前です。Name of the virtual machine that is reported to the Scale-Out File Server for each flow.
InitiatorIDInitiatorID 仮想マシンの ID と一致する識別子。An identifier matching the virtual machine ID. 仮想マシンに同じ InitiatorName が指定されている場合でも、これを使用して常に個別のフローの仮想マシンを一意に識別することができます。This can always be used to uniquely identify individual flows virtual machines even if the virtual machines have the same InitiatorName.
ポリシーPolicy 記憶域 QoS ポリシーはクラスターデータベースに格納され、次のプロパティがあります。PolicyId、MinimumIOPS、MaximumIOPS、ParentPolicy、および PolicyType。Storage QoS policies are stored in the cluster database, and have the following properties: PolicyId, MinimumIOPS, MaximumIOPS, ParentPolicy, and PolicyType.
PolicyIdPolicyId ポリシーの一意の識別子。Unique identifier for a policy. 既定で生成されますが、必要に応じて指定できます。It is generated by default, but can be specified if desired.
MinimumIOPSMinimumIOPS ポリシーによって提供される最小の正規化された IOPS。Minimum normalized IOPS that will be provided by a policy. ”予約” とも呼ばれます。Also known as "Reservation".
MaximumIOPSMaximumIOPS ポリシーによって提供される最大の正規化された IOPS。Maximum normalized IOPS that will be limited by a policy. ”制限” とも呼ばれます。Also known as "Limit".
AggregatedAggregated 指定された MinimumIOPS、MaximumIOPS、および帯域幅は、ポリシーに割り当てられたすべてのフローで共有されます。A policy type where the specified MinimumIOPS & MaximumIOPS and Bandwidth are shared among all flows assigned to the policy. ストレージ システムにポリシーが割り当てられたすべての VHD には、全体で共有する 1 つの I/O 帯域幅が割り当てられています。All VHD's assigned the policy on that storage system have a single allocation of I/O bandwidth for them to all share.
DedicatedDedicated 指定された Minimum およびMaximumIOPs と帯域幅が個別の VHD/VHDx に対して管理されるポリシーの種類。A policy type where the specified Minimum & MaximumIOPs and Bandwidth are managed for individual VHD/VHDx.

記憶域 QoS を設定して基本的なパフォーマンスを監視する方法How to set up Storage QoS and monitor basic performance

このセクションでは、新しい記憶域 QoS を有効にする方法およびカスタム ポリシーを適用せずにストレージの記憶域のパフォーマンスを監視する方法について説明します。This section describes how to enable the new Storage QoS feature and how to monitor storage performance without applying custom policies.

記憶域クラスターでの記憶域 QoS の設定Set up Storage QoS on a Storage Cluster

このセクションでは、Windows Server 2016 を実行している新規または既存のフェールオーバー クラスターおよびスケールアウト ファイル サーバー上で記憶域 QoS を有効にする方法について説明します。This section discusses how to enable Storage QoS on either a new or an existing Failover Cluster and Scale-Out File Server that is running Windows Server 2016.

新しいインストール上で記憶域 QoS を設定するSet up Storage QoS on a new installation

新しいフェールオーバー クラスターが構成済みであり、Windows Server 2016 上でクラスターの共有ボリューム (CSV) を構成した場合、記憶域 QoS 機能は自動的に設定されます。If you have configured a new Failover Cluster and configured a Cluster Shared Volume(CSV) on Windows Server 2016, then the Storage QoS feature will be set up automatically.

記憶域 QoS のインストールを確認するVerify Storage QoS installation

フェールオーバー クラスターを作成し、CSV ディスクを構成した後で、記憶域 QoS リソースがクラスター コア リソースとして表示され、フェールオーバー クラスター マネージャーおよび Windows PowerShell の両方に表示されます。After you have created a Failover Cluster and configured a CSV disk, , Storage QoS Resource is displayed as a Cluster Core Resource and visible in both Failover Cluster Manager and Windows PowerShell. これは、フェールオーバー クラスター システムでこのリソースを管理することを目的としており、このリソースに対してユーザーが何か操作を実行する必要はありません。The intent is that the failover cluster system will manage this resource and you should not have to do any actions against this resource. フェールオーバー クラスター マネージャーと PowerShell の両方に表示されるのは、新しいヘルス サービスなどの他のフェールオーバー クラスター システム リソースとの一貫性を維持するためです。We display it in both Failover Cluster Manager and PowerShell to be consistent with the other failover cluster system resources like the new Health Service.

クラスター コア リソース内に表示される記憶域 QoS リソース

**図 2:フェールオーバークラスターマネージャー @ no__t でクラスターコアリソースとして表示される記憶域 QoS リソースFigure 2: Storage QoS Resource displayed as a Cluster Core Resource in Failover Cluster Manager

記憶域 QoS リソースのステータスを表示するには、以下の PowerShell コマンドレットを使用します。Use the following PowerShell cmdlet to view the status of Storage QoS Resource.

PS C:\> Get-ClusterResource -Name "Storage Qos Resource"  

Name                   State      OwnerGroup        ResourceType                 
----                   -----      ----------        ------------                 
Storage Qos Resource   Online     Cluster Group     Storage QoS Policy Manager  

コンピューティングクラスターでの記憶域 QoS の設定Set up Storage QoS on a Compute Cluster

Windows Server 2016 の Hyper-V の役割には、記憶域 QoS のサポートが組み込まれており、既定で有効化されます。The Hyper-V role in Windows Server 2016 has built-in support for Storage QoS and is enabled by default.

リモート コンピューターから記憶域 QoS ポリシーを管理するためのリモート管理ツールをインストールするInstall Remote Administration Tools to manage Storage QoS policies from remote computers

リモート サーバー管理ツールを使用して、記憶域 QoS ポリシーを管理し、コンピューティング ホストからのフローを監視することができます。You can manage Storage QoS policies and monitor flows from compute hosts using the Remote Server Administration Tools. これらは、すべての Windows Server 2016 のインストールでオプション機能として使用することができ、Microsoft ダウンロード センター Web サイトで Windows 10 用に個別にダウンロードできます。These are available as optional features on all Windows Server 2016 installations, and can be downloaded separately for Windows 10 at the Microsoft Download Center website.

RSAT-Clustering オプション機能には、記憶域 QoS を含むフェールオーバー クラスタリングをリモートで管理するための Windows PowerShell モジュールが含まれています。The RSAT-Clustering optional feature includes the Windows PowerShell module for remote management of Failover Clustering, including Storage QoS.

  • Windows PowerShell:Add-windowsfeature RSAT-クラスタリングWindows PowerShell: Add-WindowsFeature RSAT-Clustering

RSAT-Hyper-V-Tools オプション機能には、Hyper-V をリモートで管理するための Windows PowerShell モジュールが含まれています。The RSAT-Hyper-V-Tools optional feature includes the Windows PowerShell module for remote management of Hyper-V.

  • Windows PowerShell:Add-windowsfeature を追加する-hyper-v-ツールWindows PowerShell: Add-WindowsFeature RSAT-Hyper-V-Tools

テスト用ワークロードを実行するための仮想マシンを展開するDeploy virtual machines to run workloads for testing

適切なワークロードと共にいくつかの仮想マシンをスケールアウト ファイル サーバー上に保存する必要があります。You will need some virtual machines stored on the Scale-Out File Server with relevant workloads. 負荷をシミュレートし、いくつかのストレステストを実行するためのヒントについては、次のページを参照してください。推奨されるツール (DiskSpd) といくつかの使用例をご覧ください。DiskSpd、PowerShell、および storage のパフォーマンス: ローカルディスクと SMB ファイル共有の IOPs、スループット、待機時間を測定します。For some tips in how to simulate load and do some stress testing, see the following page for a recommended tool (DiskSpd) and some example usage: DiskSpd, PowerShell and storage performance: measuring IOPs, throughput and latency for both local disks and SMB file shares.

このガイドに表示されるシナリオの例には、5 つの仮想マシンが含まれています。The example scenarios shown in this guide includes five virtual machines. BuildVM1、BuildVM2、BuildVM3、BuildVM4 は、低から中程度の記憶域の需要でデスクトップのワークロードを実行しています。BuildVM1, BuildVM2, BuildVM3 and BuildVM4 are running a desktop workload with low to moderate storage demands. TestVm1 は、最も大きな記憶域の需要でオンライン トランザクション処理ベンチマークを実行しています。TestVm1 is running an online transaction processing benchmark with high storage demand.

現在のパフォーマンス メトリックを表示するView current storage performance metrics

このセクションの内容:This section includes:

  • Get-StorageQosFlow コマンドレットを使用したフローのクエリ方法。How to query flows using the Get-StorageQosFlow cmdlet.

  • Get-StorageQosVolume コマンドレットを使用したボリュームのパフォーマンスの表示方法。How to view performance for a volume using the Get-StorageQosVolume cmdlet.

Get-StorageQosFlow コマンドレットを使用したクエリ フローQuery flows using the Get-StorageQosFlow cmdlet

Get StorageQosFlow コマンドレットは、HYPER-V サーバーによって開始されたすべての現在のフローを示しています。The Get-StorageQosFlow cmdlet shows all current flows initiated by Hyper-V servers. すべてのデータはスケールアウト ファイル サーバー クラスターによって収集されるので、スケールアウト ファイル サーバー クラスター内の任意のノードでこのコマンドレットを使用できます。または、-CimSession パラメーターを使用してリモート サーバーに対して使用することもできます。All data is collected by the Scale-Out File Server cluster, hence the cmdlet can be used on any node in the Scale-Out File Server cluster, or against a remote server using the -CimSession parameter.

次のサンプル コマンドは、Get-StorageQoSFlow を使用してサーバー上で Hyper-V によって開かれたすべてのファイルを表示する方法を示していますThe following sample command shows how to view all files opened by Hyper-V on server using Get-StorageQoSFlow.

PS C:\> Get-StorageQosFlow  

InitiatorName    InitiatorNodeNam StorageNodeName  FilePath        Status  
                 e  
-------------    ---------------- ---------------  --------        ------  
                                  plang-fs3.pla... C:\ClusterSt... Ok  
                                  plang-fs2.pla... C:\ClusterSt... Ok  
                                  plang-fs1.pla... C:\ClusterSt... Ok  
                                  plang-fs3.pla... C:\ClusterSt... Ok  
                                  plang-fs2.pla... C:\ClusterSt... Ok  
                                  plang-fs1.pla... C:\ClusterSt... Ok  
TR20-VMM         plang-z400.pl... plang-fs1.pla... C:\ClusterSt... Ok  
BuildVM4         plang-c2.plan... plang-fs1.pla... C:\ClusterSt... Ok  
WinOltp1         plang-c1.plan... plang-fs1.pla... C:\ClusterSt... Ok  
BuildVM3         plang-c2.plan... plang-fs1.pla... C:\ClusterSt... Ok  
BuildVM1         plang-c2.plan... plang-fs1.pla... C:\ClusterSt... Ok  
TR20-VMM         plang-z400.pl... plang-fs1.pla... C:\ClusterSt... Ok  
BuildVM2         plang-c2.plan... plang-fs1.pla... C:\ClusterSt... Ok  
TR20-VMM         plang-z400.pl... plang-fs1.pla... C:\ClusterSt... Ok  
                                  plang-fs3.pla... C:\ClusterSt... Ok  
                                  plang-fs2.pla... C:\ClusterSt... Ok  
BuildVM4         plang-c2.plan... plang-fs2.pla... C:\ClusterSt... Ok  
WinOltp1         plang-c1.plan... plang-fs2.pla... C:\ClusterSt... Ok  
BuildVM3         plang-c2.plan... plang-fs2.pla... C:\ClusterSt... Ok  
WinOltp1         plang-c1.plan... plang-fs2.pla... C:\ClusterSt... Ok  
                                  plang-fs1.pla... C:\ClusterSt... Ok  

次のサンプル コマンドは、IOPS で並べ替えられた仮想マシン名、Hyper-V ホスト名、IOPS、および VHD ファイル名を表示するように書式設定されます。The following sample command is formatted to show virtual machine name, Hyper-V host name, IOPs, and VHD file name, sorted by IOPS.

PS C:\> Get-StorageQosFlow | Sort-Object StorageNodeIOPs -Descending | ft InitiatorName, @{Expression={$_.InitiatorNodeName.Substring(0,$_.InitiatorNodeName.IndexOf('.'))};Label="InitiatorNodeName"}, StorageNodeIOPs, Status, @{Expression={$_.FilePath.Substring($_.FilePath.LastIndexOf('\')+1)};Label="File"} -AutoSize  

InitiatorName InitiatorNodeName StorageNodeIOPs Status File  
------------- ----------------- --------------- ------ ----  
WinOltp1      plang-c1                     3482     Ok IOMETER.VHDX  
BuildVM2      plang-c2                      544     Ok BUILDVM2.VHDX  
BuildVM1      plang-c2                      497     Ok BUILDVM1.VHDX  
BuildVM4      plang-c2                      316     Ok BUILDVM4.VHDX  
BuildVM3      plang-c2                      296     Ok BUILDVM3.VHDX  
BuildVM4      plang-c2                      195     Ok WIN8RTM_ENTERPRISE_VL_BU...  
TR20-VMM      plang-z400                    156     Ok DATA1.VHDX  
BuildVM3      plang-c2                       81     Ok WIN8RTM_ENTERPRISE_VL_BU...  
WinOltp1      plang-c1                       65     Ok BOOT.VHDX  
                                             18     Ok DefaultFlow  
                                             12     Ok DefaultFlow  
WinOltp1      plang-c1                        4     Ok 9914.0.AMD64FRE.WINMAIN....  
TR20-VMM      plang-z400                      4     Ok DATA2.VHDX  
TR20-VMM      plang-z400                      3     Ok BOOT.VHDX  
                                              0     Ok DefaultFlow  
                                              0     Ok DefaultFlow  
                                              0     Ok DefaultFlow  
                                              0     Ok DefaultFlow  
                                              0     Ok DefaultFlow  
                                              0     Ok DefaultFlow  
                                              0     Ok DefaultFlow  

次のサンプル コマンドは、InitiatorName を基にしてフローをフィルター処理し、特定の仮想マシンの記憶域のパフォーマンスと設定を簡単に見つける方法を示しています。The following sample command shows how to filter flows based on InitiatorName to easily find the storage performance and settings for a specific virtual machine.

PS C:\> Get-StorageQosFlow -InitiatorName BuildVm1 | Format-List

FilePath           : C:\ClusterStorage\Volume2\SHARES\TWO\BUILDWORKLOAD\BUILDVM1.V  
                     HDX  
FlowId             : ebfecb54-e47a-5a2d-8ec0-0940994ff21c  
InitiatorId        : ae4e3dd0-3bde-42ef-b035-9064309e6fec  
InitiatorIOPS      : 464  
InitiatorLatency   : 26.2684  
InitiatorName      : BuildVM1  
InitiatorNodeName  : plang-c2.plang.nttest.microsoft.com  
Interval           : 300000  
Limit              : 500  
PolicyId           : b145e63a-3c9e-48a8-87f8-1dfc2abfe5f4  
Reservation        : 500  
Status             : Ok  
StorageNodeIOPS    : 475  
StorageNodeLatency : 7.9725  
StorageNodeName    : plang-fs1.plang.nttest.microsoft.com  
TimeStamp          : 2/12/2015 2:58:49 PM  
VolumeId           : 4d91fc3a-1a1e-4917-86f6-54853b2a6787  
PSComputerName     :  
MaximumIops        : 500  
MinimumIops        : 500  

Get-StorageQosFlow コマンドレットによって次のようなデータが返されます。The data returned by the Get-StorageQosFlow cmdlet includes:

  • Hyper-V ホスト名 (InitiatorNodeName)。The Hyper-V hostname (InitiatorNodeName).

  • 仮想マシンの名前と ID (InitiatorName と InitiatorId)The virtual machine's name and its Id (InitiatorName and InitiatorId)

  • Hyper-V ホストによって観測された最近の仮想ディスクの平均パフォーマンス (InitiatorIOPS、InitiatorLatency)Recent average performance as observed by the Hyper-V host for the virtual disk (InitiatorIOPS, InitiatorLatency)

  • 仮想ディスクの記憶域クラスターによって観測された最新の平均パフォーマンス (StorageNodeIOPS、StorageNodeLatency)Recent average performance as observed by the Storage cluster for the virtual disk (StorageNodeIOPS, StorageNodeLatency)

  • ファイルに適用されている現在のポリシー (存在する場合)、および結果の構成 (PolicyId、Reservation、Limit)Current policy being applied to the file, if any, and the resulting configuration (PolicyId, Reservation, Limit)

  • ポリシーの状態Status of the policy

    • Ok - 問題はありません。Ok - No issues exist

    • InsufficientThroughput - ポリシーが適用されていますが、Minimum IOPS を提供できません。InsufficientThroughput- A policy is applied, but the Minimum IOPs cannot be delivered. この状況は、VM の最小値、またはすべての VM を合わせた最小値が、記憶域ボリュームが提供できる値を超えている場合に発生することがあります。This can happen if the minimum for a VM, or all VMs together, are more than the storage volume can deliver.

    • UnknownPolicyId - Hyper-V ホスト上の仮想マシンにポリシーが割り当てられていますが、ファイル サーバーにはありません。UnknownPolicyId - A policy was assigned to the virtual machine on the Hyper-V host, but is missing from the file server. このポリシーを仮想マシンの構成から削除するか、ファイル サーバー クラスター上に一致するポリシーを作成する必要があります。This policy should be removed from the virtual machine configuration, or a matching policy should be created on the file server cluster.

Get-StorageQosVolume を使用してボリュームのパフォーマンスを表示するView performance for a volume using Get-StorageQosVolume

記憶域のパフォーマンス メトリックは、フローごとのパフォーマンス メトリックに加えて、記憶域ボリューム レベルでも収集されます。Storage performance metrics are also collected on a per-storage volume level, in addition to the per-flow performance metrics. これにより、正規化された IOPS、待機時間、ボリュームに適用された合計制限および予約の合計平均使用率を簡単に表示できます。This makes it easy to see the average total utilization in normalized IOPs, latency, and aggregate limits and reservations applied to a volume.

PS C:\> Get-StorageQosVolume | Format-List  

Interval       : 300000  
IOPS           : 0  
Latency        : 0  
Limit          : 0  
Reservation    : 0  
Status         : Ok  
TimeStamp      : 2/12/2015 2:59:38 PM  
VolumeId       : 434f561f-88ae-46c0-a152-8c6641561504  
PSComputerName :  
MaximumIops    : 0  
MinimumIops    : 0  

Interval       : 300000  
IOPS           : 1097  
Latency        : 3.1524  
Limit          : 0  
Reservation    : 1568  
Status         : Ok  
TimeStamp      : 2/12/2015 2:59:38 PM  
VolumeId       : 4d91fc3a-1a1e-4917-86f6-54853b2a6787  
PSComputerName :  
MaximumIops    : 0  
MinimumIops    : 1568  

Interval       : 300000  
IOPS           : 5354  
Latency        : 6.5084  
Limit          : 0  
Reservation    : 781  
Status         : Ok  
TimeStamp      : 2/12/2015 2:59:38 PM  
VolumeId       : 0d2fd367-8d74-4146-9934-306726913dda  
PSComputerName :  
MaximumIops    : 0  
MinimumIops    : 781  

記憶域 QoS ポリシーを作成および監視する方法How to create and monitor Storage QoS Policies

このセクションでは、記憶域 QoS ポリシーを作成し、それらのポリシーを仮想マシンに適用して、ポリシー適用後の記憶域クラスターを監視する方法について説明します。This section describes how to create Storage QoS policies, apply these policies to virtual machines, and monitor a storage cluster after policies are applied.

記憶域 QoS ポリシーを作成するCreate Storage QoS policies

記憶域 QoS ポリシーは、スケールアウト ファイル サーバー クラスターで定義および管理されます。Storage QoS policies are defined and managed in the Scale-Out File Server cluster. 展開の柔軟性を高めるために必要な数 (記憶域クラスターあたり最大 10,000) のポリシーを作成できます。You can create as many policies as needed for flexible deployments (up to 10,000 per storage cluster).

仮想マシンに割り当てられる各 VHD/VHDX ファイルを、ポリシーを使用して構成することができます。Each VHD/VHDX file assigned to a virtual machine may be configured with a policy. 異なるファイルや仮想マシンで同じポリシーを使用することも、個別のポリシーを使用してそれぞれを構成することもできます。Different files and virtual machines can use the same policy or they can each be configured with separate policies. 複数の VHD/VHDX ファイルまたは複数の仮想マシンが、同じポリシーを使用して構成されている場合、それらは一緒に集計され、MinimumIOPS と MaximumIOPS を均等に共有します。If multiple VHD/VHDX files or multiple virtual machines are configured with the same policy, they will be aggregated together and will share the MinimumIOPS and MaximumIOPS fairly. 複数の VHD/VHDX ファイルまたは仮想マシンで個別のポリシーを使用する場合、最小値と最大値はそれぞれ個別に追跡されます。If you use separate policies for multiple VHD/VHDX files or virtual machines, the minimum and maximums are tracked separately for each.

異なる仮想マシン用に複数の類似したポリシーを作成し、仮想マシンの記憶域の需要が同等である場合、それらは同等の IOPS の共有を割り当てられます。If you create multiple similar policies for different virtual machines and the virtual machines have equal storage demand, they will receive a similar share of IOPs. 1 つの VM の需要が他の VM より多い場合、IOPS は、その需要に従います。If one VM demands more and the other less, then IOPs will follow that demand.

記憶域 QoS ポリシーの種類Types of Storage QoS Policies

ポリシーには、次の2種類があります。集計 (旧称 SingleInstance) と専用 (以前はマルチインスタンス)。There are two types of policies: Aggregated (previously known as SingleInstance) and Dedicated (previously known as MultiInstance). Aggregated ポリシーは、適用対象者 VHD/VHDX ファイルと仮想マシンを組み合わせたセットの最大値と最小値を適用します。Aggregated policies apply maximums and minimum for the combined set of VHD/VHDX files and virtual machines where they apply. 実際には、指定された IOPS と帯域幅のセットを共有します。In effect, they share a specified set of IOPS and bandwidth. Dedicated ポリシーは、各 VHD/VHDx の最小値と最大値を個別に適用します。Dedicated policies apply the minimum and maximum values for each VHD/VHDx, separately. これにより、類似した制限を複数の VHD/VHDx ファイルに適用する単一のポリシーを簡単に作成できます。This makes it easy to create a single policy that applies similar limits to multiple VHD/VHDx files.

たとえば、最小値が 300 IOPS で最大値が 500 IOPS の Aggregated ポリシーを作成するとします。For instance, if you create a Aggregated policy with a minimum of 300 IOPs and a maximum of 500 IOPs. このポリシーを 5 つの異なる VHD/VHDx ファイルに適用する場合、5 つの VHD/VHDx ファイルの合計が、300 IOPS (需要があり、記憶域システムがそのパフォーマンスを提供できる場合) 以上で 500 IOPS 未満であることが保証されるかどうかを確認します。If you apply this policy to 5 different VHD/VHDx files, you are making sure that the 5 VHD/VHDx files combined will be guaranteed at least 300 IOPs (if there is demand and the storage system can provide that performance) and no more than 500 IOPs. VHD/VHDx ファイルの IOPS の需要が同程度で、記憶域システムがそれを提供できる場合、各 VHD/VHDx ファイルは約 100 IOPS を取得します。If the VHD/VHDx files have similar high demand for IOPs and the storage system can keep up, each VHD/VHDx files will get about 100 IOPs.

ただし、類似した制限を持つ Dedicated ポリシーを作成し、それを 5 つの異なる仮想マシン上の VHD/VHDx ファイルに適用した場合、各仮想マシンは 300 IOPS 以上 500 IOPS 未満を取得します。However, if you create a Dedicated policy with similar limits and apply it to VHD/VHDx files on 5 different virtual machines, each virtual machine will get at least 300 IOPs and no more than 500 IOPs. 仮想マシンに同程度の IOPS の高い需要があり、記憶域システムがそれを提供できる場合、各仮想マシンは、約 500 IOPS を取得します。If the virtual machines have similar high demand for IOPs and the storage system can keep up, each virtual machine will get about 500 IOPs. .. いずれかの仮想マシンに、同じ MulitInstance ポリシーが構成された複数の VHD/VHDx ファイルがある場合、それらは、VM のそのポリシーが適用されたファイルからの合計 IO が、制限を超えないように制限を共有します。If one of the virtual machines has multiple VHD/VHDx files with the same MulitInstance policy configured, they will share the limit so that the total IO from the VM from files with that policy will not exceed the limits.

そのため、同じパフォーマンス特性を示すようにしたい VHD/VHDx ファイルのグループがあり、複数の類似したポリシーを作成するという問題を回避したい場合、単一の Dedicated ポリシーを作成し、各仮想マシンのファイルに適用することができます。Hence, if you have a group of VHD/VHDx files that you want to exhibit the same performance characteristics and you don't want the trouble of creating multiple, similar policies, you can use a single Dedicated policy and apply to the files of each virtual machine.

1つの集約されたポリシーに割り当てられた VHD/VHDx ファイルの数を20以下にします。Keep the number of VHD/VHDx files assigned to a single Aggregated policy to 20 or less. このポリシーの種類は、クラスター上のいくつかの Vm で集計を行うことを目的としていました。This policy type was meant to do aggregation with a few VMs on a cluster.

Dedicated ポリシーを作成して適用するCreate and apply a Dedicated policy

最初に次の例に示すように、New-StorageQosPolicy コマンドレットを使用して、スケールアウト ファイル サーバー上にポリシーを作成します。First, use the New-StorageQosPolicy cmdlet to create a policy on the Scale-Out File Server as shown in the following example:

$desktopVmPolicy = New-StorageQosPolicy -Name Desktop -PolicyType Dedicated -MinimumIops 100 -MaximumIops 200  

次に、Hyper-V サーバー上の適切な仮想マシンのハード ディスク ドライブにそれを適用します。Next, apply it to the appropriate virtual machines' hard disk drives on the Hyper-V server. 前の手順の PolicyId をメモするか、スクリプトの変数に保存します。Note the PolicyId from the previous step or store it in a variable in your scripts.

次の例に示すように、スケールアウト ファイル サーバー上で PowerShell を使用して、記憶域 QoS ポリシーを作成し、ポリシー ID を取得します。On the Scale-Out File Server, using PowerShell, create a Storage QoS policy and get its Policy ID as shown in the following example:

PS C:\> $desktopVmPolicy = New-StorageQosPolicy -Name Desktop -PolicyType Dedicated -MinimumIops 100 -MaximumIops 200  

C:\> $desktopVmPolicy.PolicyId  

Guid  
----  
cd6e6b87-fb13-492b-9103-41c6f631f8e0  

次の例に示すように、Hyper-V サーバー上で PowerShell を使用し、ポリシー ID を使用して記憶域 QoS ポリシーを設定します。On the Hyper-V server, using PowerShell, set the Storage QoS Policy using the Policy ID as shown in the following example:

Get-VM -Name Build* | Get-VMHardDiskDrive | Set-VMHardDiskDrive -QoSPolicyID cd6e6b87-fb13-492b-9103-41c6f631f8e0  

ポリシーが適用されていることを確認します。Confirm that the policies are applied

次の例に示すように、Get-StorageQosFlow PowerShell コマンドレットを使用して、MinimumIOPs と MaximumIOPs が適切なフローに適用されていることを確認します。Use Get-StorageQosFlow PowerShell cmdlet to confirm that the MinimumIOPs and MaximumIOPs have been applied to the appropriate flows as shown in the following example.

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

InitiatorName Status MinimumIops MaximumIops StorageNodeIOPs Status File  
------------- ------ ----------- ----------- --------------- ------ ----  
BuildVM1          Ok         100         200             250     Ok BUILDVM1.VHDX  
BuildVM2          Ok         100         200             251     Ok BUILDVM2.VHDX  
BuildVM3          Ok         100         200             252     Ok BUILDVM3.VHDX  
BuildVM4          Ok         100         200             233     Ok BUILDVM4.VHDX  
TR20-VMM          Ok          33         666               1     Ok DATA2.VHDX  
TR20-VMM          Ok          33         666               5     Ok DATA1.VHDX  
TR20-VMM          Ok          33         666               4     Ok BOOT.VHDX  
WinOltp1          Ok           0           0               0     Ok 9914.0.AMD6...  
WinOltp1          Ok           0           0            5166     Ok IOMETER.VHDX  
WinOltp1          Ok           0           0               0     Ok BOOT.VHDX  

Hyper-V サーバー上で、提供されたスクリプト Get-VMHardDiskDrivePolicy.ps1 を使用して、仮想ハード ディスク ドライブにどのポリシーが適用されるか確認します。On the Hyper-V server, you can also use the provided script Get-VMHardDiskDrivePolicy.ps1 to see what policy is applied to a virtual hard disk drive.

PS C:\> Get-VM -Name BuildVM1 | Get-VMHardDiskDrive | Format-List  

Path                          : \\plang-fs.plang.nttest.microsoft.com\two\BuildWorkload  
                                \BuildVM1.vhdx  
DiskNumber                    :  
MaximumIOPS                   : 0  
MinimumIOPS                   : 0  
QoSPolicyID                   : cd6e6b87-fb13-492b-9103-41c6f631f8e0  
SupportPersistentReservations : False  
ControllerLocation            : 0  
ControllerNumber              : 0  
ControllerType                : IDE  
PoolName                      : Primordial  
Name                          : Hard Drive  
Id                            : Microsoft:AE4E3DD0-3BDE-42EF-B035-9064309E6FEC\83F8638B  
                                -8DCA-4152-9EDA-2CA8B33039B4\0\0\D  
VMId                          : ae4e3dd0-3bde-42ef-b035-9064309e6fec  
VMName                        : BuildVM1  
VMSnapshotId                  : 00000000-0000-0000-0000-000000000000  
VMSnapshotName                :  
ComputerName                  : PLANG-C2  
IsDeleted                     : False  

記憶域 QoS ポリシーのクエリQuery for Storage QoS Policies

Get-StorageQosPolicy スケールアウトファイルサーバーで構成されているすべてのポリシーとその状態を一覧表示します。Get-StorageQosPolicy lists all configured policies and their status on a Scale-Out File Server.

PS C:\> Get-StorageQosPolicy  

Name                 MinimumIops          MaximumIops          Status  
----                 -----------          -----------          ------  
Default              0                    0                    Ok  
Limit500             0                    500                  Ok  
SilverVm             500                  500                  Ok  
Desktop              100                  200                  Ok  
Limit500             0                    0                    Ok  
VMM                  100                  2000                 Ok  
Vdi                  1                    100                  Ok  

システムのパフォーマンスの状況に応じて、ステータスは時間の経過と共に変化することがあります。Status can change over time based on how the system is performing.

  • Ok - そのポリシーを使用しているすべてのフローが、要求された MinimumIOPs を受け取っています。Ok - All flows using that policy are receiving their requested MinimumIOPs.

  • InsufficientThroughput - このポリシーを使用している 1 つ以上のフローが Minimum IOPs を受け取っていません。InsufficientThroughput - One or more of the flows using this policy are not receiving the Minimum IOPs

次のように、パイプを使用してポリシーを Get-StorageQosPolicy に渡し、ポリシーを使用するように構成されているすべてのフローのステータスを取得することもできます。You can also pipe a policy to Get-StorageQosPolicy to get the status of all flows configured to use the policy as follows:

PS C:\> Get-StorageQosPolicy -Name Desktop | Get-StorageQosFlow | ft InitiatorName, *IOPS, Status, FilePath -AutoSize  

InitiatorName MaximumIops MinimumIops InitiatorIOPS StorageNodeIOPS Status FilePat  
                                                                           h  
------------- ----------- ----------- ------------- --------------- ------ -------  
BuildVM4              100          50           187              17     Ok C:\C...  
BuildVM3              100          50           194              25     Ok C:\C...  
BuildVM1              200         100           195             196     Ok C:\C...  
BuildVM2              200         100           193             192     Ok C:\C...  
BuildVM4              200         100           187             169     Ok C:\C...  
BuildVM3              200         100           194             169     Ok C:\C...  

Aggregated ポリシーを作成するCreate an Aggregated Policy

複数の仮想ハード ディスクで IOPS および帯域幅の 1 つのプールを共有する場合、Aggregated ポリシーを使用できます。Aggregated policies may be used if you want multiple virtual hard disks to share a single pool of IOPs and bandwidth. たとえば、同じ Aggregated ポリシーを、2 つの仮想マシンのハード ディスクに適用する場合、最小値は、需要に従ってそれらの間で分割されます。For example, if you apply the same Aggregated policy to hard disks from two virtual machines, the minimum will be split between them according to demand. 両方のディスクが、組み合わせた最小値を保証され、それらの合計は、指定された最大 IOPS または帯域幅を超えません。Both disks will be guaranteed a combined minimum, and together they will not exceed the specified maximum IOPs or bandwidth.

同じアプローチを使用して、サービスを構成している仮想マシンまたはマルチホスト環境内のテナントに属している仮想マシンのすべての VHD/VHDx ファイルに 1 つの割り当てを提供することもできます。The same approach could also be used to provide a single allocation to all VHD/VHDx files for the virtual machines comprising a service or belonging to a tenant in a multihosted environment.

指定される PolicyType を除いて、Dedicated ポリシーと Aggregated ポリシーの作成プロセスに違いはありません。There is no difference in the process to create Dedicated and Aggregated policies other than the PolicyType that is specified.

次の例は、スケールアウト ファイル サーバー上で Aggregated 記憶域 QoS ポリシーを作成し、policyID を取得する方法を示しています。The following example shows how to create an Aggregated Storage QoS Policy and get its policyID on a Scale-Out File Server:

PS C:\> $highPerf = New-StorageQosPolicy -Name SqlWorkload -MinimumIops 1000 -MaximumIops 5000 -PolicyType Aggregated  
[plang-fs]: PS C:\Users\plang\Documents> $highPerf.PolicyId  

Guid  
----  
7e2f3e73-1ae4-4710-8219-0769a4aba072  

次の例は、Hyper-V サーバー上で、前の例で取得した policyID を使用して、記憶域 QoS ポリシーを適用する方法を示しています。The following example shows how to apply the Storage QoS Policy on Hyper-V server using the policyID obtained in the preceding example:

PS C:\> Get-VM -Name WinOltp1 | Get-VMHardDiskDrive | Set-VMHardDiskDrive -QoSPolicyID 7e2f3e73-1ae4-4710-8219-0769a4aba072  

次の例は、ファイル サーバーから記憶域 QoS ポリシーの効果を表示する方法を示しています。The following example shows how to viewing effects of the Storage QoS policy from file server:

PS C:\> Get-StorageQosFlow -InitiatorName WinOltp1 | format-list InitiatorName, PolicyId, MinimumIOPs, MaximumIOPs, StorageNodeIOPs, FilePath  

InitiatorName   : WinOltp1  
PolicyId        : 7e2f3e73-1ae4-4710-8219-0769a4aba072  
MinimumIops     : 250  
MaximumIops     : 1250  
StorageNodeIOPs : 0  
FilePath        : C:\ClusterStorage\Volume2\SHARES\TWO\BASEVHD\9914.0.AMD64FRE.WIN  
                  MAIN.141218-1718_SERVER_SERVERDATACENTER_EN-US.VHDX  

InitiatorName   : WinOltp1  
PolicyId        : 7e2f3e73-1ae4-4710-8219-0769a4aba072  
MinimumIops     : 250  
MaximumIops     : 1250  
StorageNodeIOPs : 0  
FilePath        : C:\ClusterStorage\Volume3\SHARES\THREE\WINOLTP1\BOOT.VHDX  

InitiatorName   : WinOltp1  
PolicyId        : 7e2f3e73-1ae4-4710-8219-0769a4aba072  
MinimumIops     : 1000  
MaximumIops     : 5000  
StorageNodeIOPs : 4550  
FilePath        : C:\ClusterStorage\Volume3\SHARES\THREE\WINOLTP1\IOMETER.VHDX  
PS C:\> Get-StorageQosFlow -InitiatorName WinOltp1 | for  
mat-list InitiatorName, PolicyId, MinimumIOPs, MaximumIOPs, StorageNodeIOPs, FilePath  

InitiatorName   : WinOltp1  
PolicyId        : 7e2f3e73-1ae4-4710-8219-0769a4aba072  
MinimumIops     : 250  
MaximumIops     : 1250  
StorageNodeIOPs : 0  
FilePath        : C:\ClusterStorage\Volume2\SHARES\TWO\BASEVHD\9914.0.AMD64FRE.WIN  
                  MAIN.141218-1718_SERVER_SERVERDATACENTER_EN-US.VHDX  

InitiatorName   : WinOltp1  
PolicyId        : 7e2f3e73-1ae4-4710-8219-0769a4aba072  
MinimumIops     : 250  
MaximumIops     : 1250  
StorageNodeIOPs : 0  
FilePath        : C:\ClusterStorage\Volume3\SHARES\THREE\WINOLTP1\BOOT.VHDX  

InitiatorName   : WinOltp1  
PolicyId        : 7e2f3e73-1ae4-4710-8219-0769a4aba072  
MinimumIops     : 1000  
MaximumIops     : 5000  
StorageNodeIOPs : 4550  
FilePath        : C:\ClusterStorage\Volume3\SHARES\THREE\WINOLTP1\IOMETER.VHDX  

各仮想ハード ディスクに、その負荷を元にして調整された MinimumIOPs、MaximumIOPs、および MaximumIobandwidth 値が適用されます。Each virtual hard disk will have the MinimumIOPs and MaximumIOPs and MaximumIobandwidth value adjusted based on its load. これにより、ディスクのグループで使用される帯域幅の合計量が、ポリシーで定義された範囲内に収まることが保証されます。This ensures that the total amount of bandwidth used for the group of disks stays within the range defined by policy. 上の例では、最初の 2 つのディスクはアイドル状態であり、3 番目のディスクが最大 IOPS までの使用を許可されます。In the example above, the first two disks are idle, and the third one is allowed to use up to the maximum IOPs. 最初の 2 つのディスクが再び IO の発行を開始した場合、3 番目のディスクの最大 IOPS は自動的に小さくなります。If the first two disks start issuing IO again, then the maximum IOPs of the third disk will be lowered automatically.

既存のポリシーを変更するModify an existing policy

Name、MinimumIOPs、MaximumIOPs、および MaximumIoBandwidthcan のプロパティをポリシー作成後に変更することができます。The properties of Name, MinimumIOPs, MaximumIOPs, and MaximumIoBandwidthcan be changed after a policy is created. ただし、ポリシーの種類 (Aggregated/Dedicated) は、ポリシーを作成した後には変更できません。However, the Policy Type (Aggregated/Dedicated) cannot be changed once the policy is created.

次の Windows PowerShell コマンドレットは、既存のポリシーの MaximumIOPs プロパティを変更する方法を示しています。The following Windows PowerShell cmdlet shows how to change the MaximumIOPs property for an existing policy:

[DBG]: PS C:\demoscripts>> Get-StorageQosPolicy -Name SqlWorkload | Set-StorageQosPolicy -MaximumIops 6000  

次のコマンドレットは変更を確認します。The following cmdlet verifies the change:

PS C:\> Get-StorageQosPolicy -Name SqlWorkload  

Name                    MinimumIops            MaximumIops            Status  
----                    -----------            -----------            ------  
SqlWorkload             1000                   6000                   Ok    

[plang-fs1]: PS C:\Users\plang\Documents> Get-StorageQosPolicy -Name SqlWorkload | Get-Storag  
eQosFlow | Format-Table InitiatorName, PolicyId, MaximumIops, MinimumIops, StorageNodeIops -A  
utoSize  

InitiatorName PolicyId                             MaximumIops MinimumIops StorageNodeIops  
------------- --------                             ----------- ----------- ---------------  
WinOltp1      7e2f3e73-1ae4-4710-8219-0769a4aba072        1500         250               0  
WinOltp1      7e2f3e73-1ae4-4710-8219-0769a4aba072        1500         250               0  
WinOltp1      7e2f3e73-1ae4-4710-8219-0769a4aba072        6000        1000            4507  

一般的な問題を特定して対処する方法How to identify and address common issues

このセクションでは、無効な記憶域 QoS ポリシーが適用されている仮想マシンを見つける方法、同じポリシーを再作成する方法、仮想マシンからポリシーを削除する方法、記憶域 QoS ポリシーの要件を満たしていない仮想マシンを識別する方法について説明します。This section describes how to find virtual machines with invalid Storage QoS policies, how to recreate a matching policy, how to remove a policy from a virtual machine, and how to identify virtual machines that do not meet the Storage QoS policy requirements.

無効なポリシーを持つ仮想マシンを特定するIdentify virtual machines with invalid policies

ポリシーが仮想マシンから削除される前にファイル サーバーから削除された場合、仮想マシンはポリシーが適用されていない場合と同様に稼動し続けます。If a policy is deleted from the file server before it's removed from a virtual machine, the virtual machine will keep running as if no policy were applied.

PS C:\> Get-StorageQosPolicy -Name SqlWorkload | Remove-StorageQosPolicy  

Confirm  
Are you sure you want to perform this action?  
Performing the operation "DeletePolicy" on target "MSFT_StorageQoSPolicy (PolicyId =  
"7e2f3e73-1ae4-4710-8219-0769a4aba072")".  
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [?] Help (default is "Y"):  

フローのステータスには、"UnknownPolicyId" と表示されるようになります。The status for the flows will now show "UnknownPolicyId"

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

InitiatorName          Status MinimumIops MaximumIops StorageNodeIOPs          Status File  
-------------          ------ ----------- ----------- ---------------          ------ ----  
                           Ok           0           0               0              Ok Def...  
                           Ok           0           0              10              Ok Def...  
                           Ok           0           0              13              Ok Def...  
                           Ok           0           0               0              Ok Def...  
                           Ok           0           0               0              Ok Def...  
                           Ok           0           0               0              Ok Def...  
                           Ok           0           0               0              Ok Def...  
                           Ok           0           0               0              Ok Def...  
                           Ok           0           0               0              Ok Def...  
BuildVM1                   Ok         100         200             193              Ok BUI...  
BuildVM2                   Ok         100         200             196              Ok BUI...  
BuildVM3                   Ok          50          64              17              Ok WIN...  
BuildVM3                   Ok          50         136             179              Ok BUI...  
BuildVM4                   Ok          50         100              23              Ok WIN...  
BuildVM4                   Ok         100         200             173              Ok BUI...  
TR20-VMM                   Ok          33         666               2              Ok DAT...  
TR20-VMM                   Ok          25         975               3              Ok DAT...  
TR20-VMM                   Ok          75        1025              12              Ok BOO...  
WinOltp1      UnknownPolicyId           0           0               0 UnknownPolicyId 991...  
WinOltp1      UnknownPolicyId           0           0            4926 UnknownPolicyId IOM...  
WinOltp1      UnknownPolicyId           0           0               0 UnknownPolicyId BOO...  

一致する記憶域 QoS ポリシーを再作成しますRecreate a matching Storage QoS policy

ポリシーが誤って削除された場合、古い PolicyId を使用して新しいポリシーを作成することができます。If a policy was unintentionally removed, you can create a new one using the old PolicyId. 最初に、必要な PolicyId を取得します。First, get the needed PolicyId

PS C:\> Get-StorageQosFlow -Status UnknownPolicyId | ft InitiatorName, PolicyId -AutoSize  

InitiatorName PolicyId  
------------- --------  
WinOltp1      7e2f3e73-1ae4-4710-8219-0769a4aba072  
WinOltp1      7e2f3e73-1ae4-4710-8219-0769a4aba072  
WinOltp1      7e2f3e73-1ae4-4710-8219-0769a4aba072  

次に、その PolicyId を使用して新しいポリシーを作成します。Next, create a new policy using that PolicyId

PS C:\> New-StorageQosPolicy -PolicyId 7e2f3e73-1ae4-4710-8219-0769a4aba072 -PolicyType Aggregated -Name RestoredPolicy -MinimumIops 100 -MaximumIops 2000  

Name                    MinimumIops            MaximumIops            Status  
----                    -----------            -----------            ------  
RestoredPolicy          100                    2000                   Ok  

最後に、ポリシーが適用されたことを確認します。Finally, verify that it was applied.

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

InitiatorName Status MinimumIops MaximumIops StorageNodeIOPs Status File  
------------- ------ ----------- ----------- --------------- ------ ----  
                  Ok           0           0               0     Ok DefaultFlow  
                  Ok           0           0               8     Ok DefaultFlow  
                  Ok           0           0               9     Ok DefaultFlow  
                  Ok           0           0               0     Ok DefaultFlow  
                  Ok           0           0               0     Ok DefaultFlow  
                  Ok           0           0               0     Ok DefaultFlow  
                  Ok           0           0               0     Ok DefaultFlow  
                  Ok           0           0               0     Ok DefaultFlow  
                  Ok           0           0               0     Ok DefaultFlow  
BuildVM1          Ok         100         200             192     Ok BUILDVM1.VHDX  
BuildVM2          Ok         100         200             193     Ok BUILDVM2.VHDX  
BuildVM3          Ok          50         100              24     Ok WIN8RTM_ENTERPRISE_VL...  
BuildVM3          Ok         100         200             166     Ok BUILDVM3.VHDX  
BuildVM4          Ok          50         100              12     Ok WIN8RTM_ENTERPRISE_VL...  
BuildVM4          Ok         100         200             178     Ok BUILDVM4.VHDX  
TR20-VMM          Ok          33         666               2     Ok DATA2.VHDX  
TR20-VMM          Ok          33         666               2     Ok DATA1.VHDX  
TR20-VMM          Ok          33         666              10     Ok BOOT.VHDX  
WinOltp1          Ok          25         500               0     Ok 9914.0.AMD64FRE.WINMA...  

記憶域 QoS ポリシーの削除Remove Storage QoS Policies

ポリシーが意図的に削除された場合、または不要なポリシーが適用されている VM がインポートされた場合、それを削除できます。If the policy was removed intentionally, or if a VM was imported with a policy that you don't need, it may be removed.

PS C:\> Get-VM -Name WinOltp1 | Get-VMHardDiskDrive | Set-VMHardDiskDrive -QoSPolicyID $null  

PolicyId が仮想ハード ディスクの設定から削除されると、ステータスが "Ok" になり、最小値または最大値は適用されなくなります。Once the PolicyId is removed from the virtual hard disk settings, the status will be "Ok" and no minimum or maximum will be applied.

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

InitiatorName MinimumIops MaximumIops StorageNodeIOPs Status File  
------------- ----------- ----------- --------------- ------ ----  
                        0           0               0     Ok DefaultFlow  
                        0           0              16     Ok DefaultFlow  
                        0           0              12     Ok DefaultFlow  
                        0           0               0     Ok DefaultFlow  
                        0           0               0     Ok DefaultFlow  
                        0           0               0     Ok DefaultFlow  
                        0           0               0     Ok DefaultFlow  
                        0           0               0     Ok DefaultFlow  
                        0           0               0     Ok DefaultFlow  
BuildVM1              100         200             197     Ok BUILDVM1.VHDX  
BuildVM2              100         200             192     Ok BUILDVM2.VHDX  
BuildVM3                9           9              23     Ok WIN8RTM_ENTERPRISE_VL_BUILDW...  
BuildVM3               91         191             171     Ok BUILDVM3.VHDX  
BuildVM4                8           8              18     Ok WIN8RTM_ENTERPRISE_VL_BUILDW...  
BuildVM4               92         192             163     Ok BUILDVM4.VHDX  
TR20-VMM               33         666               2     Ok DATA2.VHDX  
TR20-VMM               33         666               1     Ok DATA1.VHDX  
TR20-VMM               33         666               5     Ok BOOT.VHDX  
WinOltp1                0           0               0     Ok 9914.0.AMD64FRE.WINMAIN.1412...  
WinOltp1                0           0            1811     Ok IOMETER.VHDX  
WinOltp1                0           0               0     Ok BOOT.VHDX  

記憶域 QoS ポリシーを満たしていない仮想マシンを検索するFind virtual machines that are not meeting Storage QoS Policies

次のようなフローには InsufficientThroughput ステータスが割り当てられます。The InsufficientThroughput status is assigned to any flows that:

  • ポリシーによって設定された最小 IOPS が定義されている。Have a minimum defined IOPs set by policy; and

  • 最小値を満たすかまたは超えるレートで IO が開始されている。Are initiating IO at a rate meeting or exceeding the minimum; and

  • 最小 IOP レートを達成していない。Are not achieving minimum IOP rate

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

InitiatorName MinimumIops MaximumIops StorageNodeIOPs                 Status File  
------------- ----------- ----------- ---------------                 ------ ----  
                        0           0               0                     Ok DefaultFlow  
                        0           0               0                     Ok DefaultFlow  
                        0           0              15                     Ok DefaultFlow  
                        0           0               0                     Ok DefaultFlow  
                        0           0               0                     Ok DefaultFlow  
                        0           0               0                     Ok DefaultFlow  
                        0           0               0                     Ok DefaultFlow  
                        0           0               0                     Ok DefaultFlow  
                        0           0               0                     Ok DefaultFlow  
BuildVM3               50         100              20                     Ok WIN8RTM_ENTE...  
BuildVM3              100         200             174                     Ok BUILDVM3.VHDX  
BuildVM4               50         100              11                     Ok WIN8RTM_ENTE...  
BuildVM4              100         200             188                     Ok BUILDVM4.VHDX  
TR20-VMM               33         666               3                     Ok DATA1.VHDX  
TR20-VMM               78        1032             180                     Ok BOOT.VHDX  
TR20-VMM               22         968               4                     Ok DATA2.VHDX  
WinOltp1             3750        5000               0                     Ok 9914.0.AMD64...  
WinOltp1            15000       20000           11679 InsufficientThroughput IOMETER.VHDX  
WinOltp1             3750        5000               0                     Ok BOOT.VHDX  

次の例に示すように、InsufficientThroughput を含む、任意のステータスのフローを特定することができます。You can determine flows for any status, including InsufficientThroughput as shown in the following example:

PS C:\> Get-StorageQosFlow -Status InsufficientThroughput | fl  

FilePath           : C:\ClusterStorage\Volume3\SHARES\THREE\WINOLTP1\IOMETER.VHDX  
FlowId             : 1ca356ff-fd33-5b5d-b60a-2c8659dc803e  
InitiatorId        : 2ceabcef-2eba-4f1b-9e66-10f960b50bbf  
InitiatorIOPS      : 12168  
InitiatorLatency   : 22.983  
InitiatorName      : WinOltp1  
InitiatorNodeName  : plang-c1.plang.nttest.microsoft.com  
Interval           : 300000  
Limit              : 20000  
PolicyId           : 5d1bf221-c8f0-4368-abcf-aa139e8a7c72  
Reservation        : 15000  
Status             : InsufficientThroughput  
StorageNodeIOPS    : 12181  
StorageNodeLatency : 22.0514  
StorageNodeName    : plang-fs2.plang.nttest.microsoft.com  
TimeStamp          : 2/13/2015 12:07:30 PM  
VolumeId           : 0d2fd367-8d74-4146-9934-306726913dda  
PSComputerName     :  
MaximumIops        : 20000  
MinimumIops        : 15000  

記憶域 QoS を使用して正常性を監視するMonitor Health using Storage QoS

新しいヘルス サービスは、記憶域クラスターの監視を簡素化し、任意のノードの対処可能なイベントを 1 つの場所で確認できるようにします。The new Health Service simplifies the monitoring of the Storage Cluster, providing a single place to check for any actionable events in any of the nodes. このセクションでは、debug-storagesubsystem コマンドレットを使用して記憶域クラスターの正常性を監視する方法について説明します。This section describes how monitor the health of your storage cluster using the debug-storagesubsystem cmdlet.

Debug-StorageSubSystem を使用して記憶域のステータスを表示するView Storage Status with Debug-StorageSubSystem

クラスター化された記憶域スペースは、1 つの場所で記憶域クラスターの正常性に関する情報も提供します。Clustered Storage Spaces also provide information on the health of the storage cluster in a single location. これにより、管理者は、記憶域の展開の現在の問題を識別し、問題が発生または解消したタイミングを監視できます。This can help administrators quickly identify current problems in storage deployments and monitor as issues arrive or are dismissed.

無効なポリシーが適用された VMVM with invalid policy

無効なポリシーが適用されている VM も記憶域サブシステムの正常性監視を介して報告されます。VMs with invalid policies are also reported through the storage subsystem health monitoring. 以下に、「無効なポリシーが適用されている VM を見つける」セクションで説明されているものと同じ状態の例を示します。Here is an example from the same state as described in Finding VMs with invalid policies section of this document.

C:\> Get-StorageSubSystem -FriendlyName Clustered* | Debug-StorageSubSystem  

EventTime                 :  
FaultId                   : 0d16d034-9f15-4920-a305-f9852abf47c3  
FaultingObject            :  
FaultingObjectDescription : Storage QoS Policy 5d1bf221-c8f0-4368-abcf-aa139e8a7c72  
FaultingObjectLocation    :  
FaultType                 : Storage QoS policy used by consumer does not exist.  
PerceivedSeverity         : Minor  
Reason                    : One or more storage consumers (usually Virtual Machines) are  
                            using a non-existent policy with id  
                            5d1bf221-c8f0-4368-abcf-aa139e8a7c72. Consumer details:  

                            Flow ID: 1ca356ff-fd33-5b5d-b60a-2c8659dc803e  
                            Initiator ID: 2ceabcef-2eba-4f1b-9e66-10f960b50bbf  
                            Initiator Name: WinOltp1  
                            Initiator Node: plang-c1.plang.nttest.microsoft.com  
                            File Path:  
                            C:\ClusterStorage\Volume3\SHARES\THREE\WINOLTP1\IOMETER.VHDX  
RecommendedActions        : {Reconfigure the storage consumers (usually Virtual Machines)  
                            to use a valid policy., Recreate any missing Storage QoS  
                            policies.}  
PSComputerName            :  

記憶域スペース仮想ディスクの冗長性が失われるLost redundancy for a storage spaces virtual disk

この例では、クラスター化された記憶域スペースに、3 方向ミラーとして作成された仮想ディスクがあります。In this example, a Clustered Storage Space has a virtual disk created as a three-way mirror. 障害が発生したディスクはシステムから削除されましたが、交換用のディスクは追加されませんでした。A failed disk was removed from the system, but a replacement disk was not added. 記憶域サブシステムは、HealthStatus Warning で、冗長性が失われたことを報告していますが、ボリュームは引き続きオンラインになっているので OperationalStatus は "OK" になっています。The storage subsystem is reporting a loss of redundancy with HealthStatus Warning, but OperationalStatus "OK because the volume is still online.

PS C:\> Get-StorageSubSystem -FriendlyName Clustered*  

FriendlyName                   HealthStatus                   OperationalStatus  
------------                   ------------                   -----------------  
Clustered Windows Storage o... Warning                        OK  

[plang-fs1]: PS C:\Users\plang\Documents> Get-StorageSubSystem -FriendlyName Clustered* | Deb  
ug-StorageSubSystem  

EventTime                 :  
FaultId                   : dfb4b672-22a6-4229-b2ed-c29d7485bede  
FaultingObject            :  
FaultingObjectDescription : Virtual disk 'Two'  
FaultingObjectLocation    :  
FaultType                 : VirtualDiskDegradedFaultType  
PerceivedSeverity         : Minor  
Reason                    : Virtual disk 'Two' does not have enough redundancy remaining to  
                            successfully repair or regenerate its data.  
RecommendedActions        : {Rebalance the pool, replace failed physical disks, or add new  
                            physical disks to the storage pool, then repair the virtual  
                            disk.}  
PSComputerName            :  

記憶域 QoS を継続的に監視するためのサンプル スクリプトSample script for continuous monitoring of Storage QoS

このセクションには、WMI スクリプトを使用して一般的な障害を監視できる方法を示すサンプル スクリプトが含まれています。This section includes a sample script showing how common failures can be monitored using WMI script. このスクリプトは、開発者が正常性イベントをリアルタイムで取得するための出発点として設計されています。It's designed as a starting part for developers to retrieve health events in real time.

スクリプトの例:Example script:

param($cimSession)  
# Register and display events  
Register-CimIndicationEvent -Namespace root\microsoft\windows\storage -ClassName msft_storagefaultevent -CimSession $cimSession  

while ($true)  
{  
     $e = (Wait-Event)  
     $e.SourceEventArgs.NewEvent  
     Remove-Event $e.SourceIdentifier  
}  

よく寄せられる質問Frequently Asked Questions

仮想マシンの VHD/VHDx ファイルを別の記憶域クラスターに移動する場合、その仮想マシンに適用されている記憶域 QoS ポリシーをどのようにして維持すればよいですかHow do I retain a Storage QoS policy being enforced for my virtual machine if I move its VHD/VHDx files to another storage cluster

ポリシーを指定する VHD/VHDx ファイルの設定は、ポリシー ID の GUID です。The setting on the VHD/VHDx file that specifies the policy is the GUID of a policy ID. ポリシーが作成されるときに、PolicyID パラメーターを使用して GUID を指定できます。When a policy is created, the GUID can be specified using the PolicyID parameter. このパラメータが指定されていない場合、ランダムな GUID が作成されます。If that parameter is not specified, a random GUID is created. そのため、VM が現在 VHD/VHDx ファイルを保存している記憶域クラスター上で PolicyID を取得し、移動先の記憶域クラスター上で同一のポリシーを作成して、その後で同じ GUID での作成を指定することができます。Therefore, you can get the PolicyID on the storage cluster where the VMs currently store their VHD/VHDx files and create an identical policy on the destination storage cluster and then specify that it be created with the same GUID. VM ファイルが新しい記憶域クラスターに移動されたときには、同じ GUID のポリシーが有効になります。When the VMs files are moved to the new storage clusters, the policy with the same GUID will be in effect.

System Center Virtual Machine Manager を使用して、複数の記憶域クラスターにポリシーを適用すると、このシナリオを簡単に実行できます。System Center Virtual Machine Manager can be used to apply policies across multiple storage clusters, which makes this scenario much easier.

記憶域 QoS ポリシーを変更した場合、Get-StorageQoSFlow を実行したときに直ちに有効にならないのはなぜですかIf I change the Storage QoS Policy, why don't I see it take effect immediately when I run Get-StorageQoSFlow

ポリシーの最大値に到達したフローがあり、ポリシーをより高い値または低い値に変更し、PowerShell コマンドレットを使用してフローの待機時間/IOPS/帯域幅を直ちに決定した場合、フローに対するポリシー変更のすべての効果が表示されるまでに最大 5 分かかります。If you have a flow that is hitting a maximum of a policy and you change the policy to either make it higher or lower, and then you immediately determine the latency/IOPS/BandWidth of the flows using the PowerShell cmdlets, it will take up to 5 minutes to see the full effects of the policy change on the flows. 新しい制限は、数秒で有効になりますが、Get-StorgeQoSFlow PowerShell コマンドレットは、5 分間のスライディング ウィンドウを使用し、各カウンターの平均を使用します。The new limits will be in effect within a few seconds, but the Get-StorgeQoSFlow PowerShell cmdlet uses an average of each counter using a 5 minute sliding window. そのようにしないと、PowerShell コマンドレットを続けて複数回実行し、現在の値が表示される場合、IOPS と待機時間の値が秒ごとに大きく変動する可能性があるので、大幅に異なる値が表示されることがあります。Otherwise, if it was showing a current value and you ran the PowerShell cmdlet multiple times in a row, you may see vastly different values because values for IOPS and latencies can fluctuate significantly from one second to another.

Windows Server 2016 で追加された新機能What new functionality was added in Windows Server 2016

Windows Server 2016 では、記憶域 QoS ポリシーの種類の名前が変更されました。In Windows Server 2016 the Storage QoS Policy type names were renamed. Multi-instance ポリシーの種類の名前が Dedicated に変更され、Single-instance の名前が Aggregated に変更されました。The Multi-instance policy type is renamed as Dedicated and Single-instance was renamed as Aggregated. Dedicated ポリシーの管理動作も変更されました。同じ Dedicated ポリシーが適用されている同じ仮想マシン内の VHD/VHDX ファイルは I/O の割り当てを共有しません。The management behavior of Dedicated policies is also modified - VHD/VHDX files within the same virtual machine that have the same Dedicated policy applied to them will not share I/O allocations.

Windows Server 2016 には、次に示す 2 つの新しい記憶域 QoS 機能があります。There are two new Storage QoS features Windows Server 2016:

  • 最大帯域幅Maximum Bandwidth

    Windows Server 2016 の記憶域 QoS では、ポリシーに割り当てられたフローが消費できる最大帯域幅を指定する機能が導入されました。Storage QoS in Windows Server 2016 introduces the ability to specify the maximum bandwidth that the flows assigned to the policy may consume. StorageQosPolicy コマンドレットでそれを指定するときには、MaximumIOBandwidth パラメーターを使用し、出力は 1 秒あたりのバイト単位で表示されます。The parameter when specifying it in the StorageQosPolicy cmdlets is MaximumIOBandwidth and the output is expressed in bytes per second.
    MaximimIopsMaximumIOBandwidth の両方がポリシーで設定されている場合、それらの両方が有効になり、フローが最初に到達した方が、そのフローの I/O を制限します。If both MaximimIops and MaximumIOBandwidth are set in a policy, they will both be in effect and the first one to be reached by the flow(s) will limit the I/O of the flows.

  • IOPS の正規化は構成可能IOPS normalization is configurable

    記憶域 QoS は、IOPS の正規化を使用します。Storage QoSin uses normalization of IOPS. 既定値では、正規化サイズとして 8K を使用します。The default is to use a normalization size of 8K. Windows Server 2016 の記憶域 QoS では、記憶域クラスターに対して異なる正規化サイズを指定する機能が導入されました。Storage QoS in Windows Server 2016 introduces the ability to specify a different normalization size for the storage cluster. この正規化サイズは、記憶域クラスター上のすべてのフローに適用され、変更されると直ちに (数秒で) 有効になります。This normalization size effects all flows on the storage cluster and takes effect immediately (within a few seconds) once it is changed. 最小値は 1 KB で最大値は 4 GB です (4 MB を超える IO は通常発生しないので、4 MB を超える値に設定しないことをお勧めします)。The minimum is 1KB and the maximum is 4GB (recommend not setting more than 4MB since it's unusual to have more than 4MB IOs).

    正規化の計算を変更したために IOPS の正規化を変更すると、記憶域 QoS の出力で、同じ IO パターン/スループットでも異なる IOPS の数値が表示されることに注意する必要があります。Something to consider is that the same IO pattern/throughput shows up with different IOPS numbers in the Storage QoS output when you change the IOPS normalization due to the change in normalization calculation. 記憶域クラスター間の IOPS を比較している場合は、各クラスターで使用している正規化の値が、報告される正規化済み IOPS に影響するので、その値を確認する必要があります。If you are comparing IOPS between storage clusters, you may also want to verify what normalization value each is using since that will effect the normalized IOPS reported.

例 1 : 新しいポリシーを作成し、記憶域クラスターの最大帯域幅を表示するExample 1: Creating a new policy and viewing the maximum bandwidth on the storage cluster

PowerShell で、数値を表示する単位を指定できます。In PowerShell, you can specify the units that a number is expressed in. 次の例では、最大帯域幅の値として 10 MB を使用します。In the following example, 10MB is used as the maximum bandwidth value. 記憶域 QoS は、これを変換して、1 秒あたりのバイト数として保存します。そのため、10 MB は 10485760 バイト/秒に変換されます。Storage QoS will convert this and save it as bytes per second Hence, 10MB is converted into 10485760 bytes per second.

PS C:\Windows\system32> New-StorageQosPolicy -Name HR_VMs -MaximumIops 1000 -MinimumIops 20 -MaximumIOBandwidth 10MB  

Name   MinimumIops MaximumIops MaximumIOBandwidth Status  
----   ----------- ----------- ------------------ ------  
HR_VMs 20          1000        10485760           Ok  

PS C:\Windows\system32> Get-StorageQosPolicy  

Name    MinimumIops MaximumIops MaximumIOBandwidth Status  
----    ----------- ----------- ------------------ ------  
Default 0           0           0                  Ok  
HR_VMs  20          1000        10485760           Ok  

PS C:\Windows\system32> Get-StorageQoSFlow | fL InitiatorName,FilePath,InitiatorIOPS,InitiatorLatency,InitiatorBandwidth  

InitiatorName      : testsQoS  
FilePath           : C:\ClusterStorage\Volume2\TESTSQOS\VIRTUAL HARD DISKS\TESTSQOS.VHDX  
InitiatorIOPS      : 5  
InitiatorLatency   : 1.5455  
InitiatorBandwidth : 37888  

例 2:IOPS の正規化の設定を取得し、新しい値を指定しますExample 2: Get IOPS normalization settings and specify a new value

次の例では、記憶域クラスターの IOPS 正規化の設定 (既定値の 8 KB) を取得し、32 KB に設定して、もう一度表示する方法を示します。The following example demonstrates how to get the storage clusters IOPS normalization settings (default of 8KB), then set it to 32KB, and then show it again. この例で、"32 KB" を指定するのは、PowerShell では単位の指定が許可されていて、バイトに変換する必要がないためです。Note, in this example, specify "32KB", since PowerShell allows specifying the unit instead of requiring the conversion to bytes. 出力には、1 秒あたりのバイト数で値が表示されます。The output does show the value in bytes per second.

PS C:\Windows\system32> Get-StorageQosPolicyStore  

IOPSNormalizationSize  
---------------------  
8192  

PS C:\Windows\system32> Set-StorageQosPolicyStore -IOPSNormalizationSize 32KB  
PS C:\Windows\system32> Get-StorageQosPolicyStore  

IOPSNormalizationSize  
---------------------  
32768  

関連項目See Also