Calidad de servicio de almacenamientoStorage Quality of Service

Se aplica a: Windows Server 2019, Windows Server 2016, Windows Server (canal semianual)Applies to: Windows Server 2019, Windows Server 2016, Windows Server (Semi-Annual Channel)

La calidad de servicio (QoS) de almacenamiento en Windows Server 2016 ofrece un medio de supervisar y administrar centralmente el rendimiento del almacenamiento para máquinas virtuales con Hyper-V y los roles de servidor de archivos de escalabilidad horizontal.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. La característica mejora automáticamente la imparcialidad de los recursos de almacenamiento entre varias máquinas virtuales con el mismo clúster de servidores de archivos y permite configurar los objetivos de rendimiento mínimo y máximo basados en directivas en unidades de IOPS normalizadas.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.

Puede utilizar la calidad de servicio de almacenamiento en Windows Server 2016 para realizar lo siguiente:You can use Storage QoS in Windows Server 2016 to accomplish the following:

  • Mitigar los problemas de «vecino ruidoso».Mitigate noisy neighbor issues. De forma predeterminada, la calidad de servicio de almacenamiento garantiza que una sola máquina virtual no puede consumir todos los recursos de almacenamiento y privar a otras máquinas virtuales del ancho de banda de almacenamiento.By default, Storage QoS ensures that a single virtual machine cannot consume all storage resources and starve other virtual machines of storage bandwidth.

  • Supervisar el rendimiento del almacenamiento de extremo a extremo.Monitor end to end storage performance. En cuanto se inician las máquinas virtuales almacenadas en un servidor de archivos de escalabilidad horizontal, se comienza a supervisar su rendimiento.As soon as virtual machines stored on a Scale-Out File Server are started, their performance is monitored. Es posible visualizar los detalles de rendimiento de todas las máquinas virtuales en ejecución y la configuración del clúster de servidores de archivos de escalabilidad horizontal desde una sola ubicación.Performance details of all running virtual machines and the configuration of the Scale-Out File Server cluster can be viewed from a single location

  • Administrar E/S de almacenamiento por necesidades empresariales de carga de trabajo Las directivas de calidad de servicio de almacenamiento definen mínimos y máximos de rendimiento para las máquinas virtuales y garantizan que se cumplen.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. Así se consigue un rendimiento coherente entre las máquinas virtuales, incluso en entornos con gran densidad y sobreaprovisionados.This provides consistent performance to virtual machines, even in dense and overprovisioned environments. Si no se pueden cumplir las directivas, hay alertas disponibles para realizar el seguimiento de las máquinas virtuales que no siguen ninguna directiva o tienen asignadas directivas no válidas.If policies cannot be met, alerts are available to track when VMs are out of policy or have invalid policies assigned.

En este documento se describe cómo se puede beneficiar su negocio de la nueva funcionalidad de calidad de servicio de almacenamiento.This document outlines how your business can benefit from the new Storage QoS functionality. Para seguirlo, se supone que tiene conocimientos prácticos anteriores de Windows Server, clústeres de conmutación por error de Windows Server, el servidor de archivos de escalabilidad horizontal, Hyper-V y 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.

Información generalOverview

En esta sección se describen los requisitos para usar la calidad de servicio de almacenamiento y, además, se incluye información general de una solución definida por software que usa calidad de servicio de almacenamiento y una lista de términos relacionados con la calidad de servicio de almacenamiento.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.

Requisitos de la calidad de servicio de almacenamientoStorage QoS Requirements

La calidad de servicio de almacenamiento admite dos escenarios de implementación:Storage QoS supports two deployment scenarios:

  • Hyper-V con un servidor de archivos de escalabilidad horizontal. Este escenario requiere lo siguiente:Hyper-V using a Scale-Out File Server This scenario requires both of the following:

    • Un clúster de almacenamiento que sea un clúster de servidores de archivos de escalabilidad horizontalStorage cluster that is a Scale-Out File Server cluster

    • Un clúster de proceso que tenga al menos un servidor con el rol de Hyper-V habilitadoCompute cluster that has least one server with the Hyper-V role enabled

    En el caso de la calidad de servicio de almacenamiento, el clúster de conmutación por error es necesario en los servidores de almacenamiento, pero no es obligatorio que los servidores de proceso estén en un clúster de conmutación por error.For Storage QoS, the Failover Cluster is required on Storage servers, but the compute servers are not required to be in a failover cluster. Todos los servidores (que se usan para Almacenamiento y Proceso) deben estar ejecutando Windows Server 2016.All servers (used for both Storage and Compute) must be running Windows Server 2016.

    Si no tiene un clúster de servidores de archivos de escalabilidad horizontal implementado con fines de evaluación, compile uno usando los servidores o las máquinas virtuales existentes; para ello, siga las instrucciones detalladas contenidas en Windows Server 2012 R2 Storage: Step-by-step with Storage Spaces, SMB Scale-Out and Shared VHDX (Physical) (Almacenamiento de Windows Server 2012 R2: paso a paso con espacios de almacenamiento, Escala horizontal SMB y VHDX compartido [físico]).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 con volúmenes compartidos de clúster.Hyper-V using Cluster Shared Volumes. Este escenario presenta dos requisitos:This scenario requires both of the following:

    • Un clúster de proceso con el rol Hyper-V habilitadoCompute cluster with the Hyper-V role enabled

    • Hyper-V con volúmenes compartidos de clúster (CSV) para almacenamientoHyper-V using Cluster Shared Volumes (CSV) for storage

El clúster de conmutación por error es necesario.Failover Cluster is required. Todos los servidores deben ejecutar la misma versión de Windows Server 2016.All servers must be running the same version of Windows Server 2016.

Uso de la calidad de servicio de almacenamiento en una solución de almacenamiento definida por softwareUsing Storage QoS in a software-defined storage solution

La calidad de servicio de almacenamiento está integrada en la solución de almacenamiento definida por software de Microsoft que proporcionan el servidor de archivos de escalabilidad horizontal e Hyper-V.Storage Quality of Service is built into the Microsoft software-defined storage solution provided by Scale-Out File Server and Hyper-V. El servidor de archivos de escalabilidad horizontal expone recursos compartidos de archivos a los servidores de Hyper-V mediante el protocolo SMB3.The Scale-Out File Server exposes file shares to the Hyper-V servers using the SMB3 protocol. Se ha agregado un nuevo Administrador de directivas para el clúster de servidor de archivos, que proporciona supervisión de rendimiento para el almacenamiento central.A new Policy Manager has been added to the File Server cluster, which provides the central storage performance monitoring.

Servidor de archivos de escalabilidad horizontal y QoS de almacenamiento

Ilustración 1: uso de la calidad de servicio de almacenamiento en una solución de almacenamiento definida por software en un servidor de archivos de escalabilidad horizontalFigure 1: Using Storage QoS in a software-defined storage solution in Scale-Out File Server

En cuanto los servidores de Hyper-V inician las máquinas virtuales, estas empiezan a supervisarse por el Administrador de directivas.As Hyper-V servers launch virtual machines, they are monitored by the Policy Manager. El Administrador de directivas comunica la directiva de calidad de servicio de almacenamiento y los límites o reservas sobre el servidor de Hyper-V, que controla el rendimiento de la máquina virtual según corresponda.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.

Cuando hay cambios en las directivas de calidad de servicio de almacenamiento o en las demandas de rendimiento de las máquinas virtuales, el Administrador de directivas se lo notifica a los servidores de Hyper-V para ajustar su comportamiento.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. Este bucle de retroalimentación garantiza que todos los discos duros virtuales de las máquinas virtuales tengan un rendimiento constante de acuerdo con la definición de las directivas de calidad de servicio de almacenamiento.This feedback loop ensures that all virtual machines VHDs perform consistently according to the Storage QoS policies as defined.

GlosarioGlossary

TérminoTerm DescripciónDescription
IOPS normalizadoNormalized IOPS Todo el uso de almacenamiento se mide en "e/s por segundo normalizada".All of the storage usage is measured in "Normalized IOPS." Se trata de un recuento de las operaciones de entrada y salida de almacenamiento por segundo.This is a count of the storage input/output operations per second. Toda E/S con un tamaño de 8 KB o inferior se considera una E/S por segundo normalizada.Any IO that is 8KB or smaller is considered as one normalized IO. Toda E/S con un tamaño superior a 8 KB se trata como varias E/S por segundo normalizadas.Any IO that is larger than 8KB is treated as multiple normalized IOs. Por ejemplo, una solicitud de 256 KB se trata como 32 IOPS normalizadas.For example, a 256KB request is treated as 32 normalized IOPS.

Windows Server 2016 incluye la capacidad de especificar el tamaño que se utiliza para normalizar las E/S.Windows Server 2016 includes the ability to specify the size used to normalize IOs. En el clúster de almacenamiento, se puede especificar el tamaño normalizado para que surta efecto en los cálculos de normalización de todo el clúster.On the storage cluster, the normalized size can be specified and take effect on the normalization calculations cluster wide. El valor predeterminado es de 8 KB.The default remains 8 KB. Esta configuración afecta a todas las máquinas virtuales.This setting affects all virtual machines. (Las máquinas virtuales creadas en volúmenes locales también se ven afectadas).(The virtual machines created on local volumes are also affected.)

FlujoFlow Cada identificador de archivos abierto por un servidor de Hyper-V en un archivo VHD o VHDX se considera un "flujo".Each file handle opened by a Hyper-V server to a VHD or VHDX file is considered a "flow". Si una máquina virtual tiene dos discos duros virtuales conectados, tendrá 1 flujo al clúster de servidores de archivos por archivo.If a virtual machine has two virtual hard disks attached, it will have 1 flow to the file server cluster per file. Si se comparte un VHDX con varias máquinas virtuales, este tendrá un 1 flujo por cada máquina virtual.If a VHDX is shared with multiple virtual machines, it will have 1 flow per virtual machine.
InitiatorNameInitiatorName Nombre de la máquina virtual que se notifica al servidor de archivos de escalabilidad horizontal para cada flujo.Name of the virtual machine that is reported to the Scale-Out File Server for each flow.
InitiatorIDInitiatorID Un identificador que coincide con el identificador de la máquina virtual.An identifier matching the virtual machine ID. Siempre puede utilizarse para identificar de manera única máquinas virtuales de flujos individuales, incluso si las máquinas virtuales tienen el mismo valor en InitiatorName.This can always be used to uniquely identify individual flows virtual machines even if the virtual machines have the same InitiatorName.
DirectivaPolicy Las directivas de calidad de servicio de almacenamiento se almacenan en la base de datos del clúster y tienen las siguientes propiedades: PolicyId, MinimumIOPS, MaximumIOPS, ParentPolicy y PolicyType.Storage QoS policies are stored in the cluster database, and have the following properties: PolicyId, MinimumIOPS, MaximumIOPS, ParentPolicy, and PolicyType.
PolicyIdPolicyId Identificador único de una directiva.Unique identifier for a policy. Se genera de forma predeterminada, pero puede especificarse si se desea.It is generated by default, but can be specified if desired.
MinimumIOPSMinimumIOPS La E/S por segundo mínima normalizada que ofrecerá una directiva.Minimum normalized IOPS that will be provided by a policy. También conocido como "Reserva".Also known as "Reservation".
MaximumIOPSMaximumIOPS La E/S por segundo máxima normalizada que estará limitada por una directiva.Maximum normalized IOPS that will be limited by a policy. También se conoce como "Límite".Also known as "Limit".
AgregadoAggregated Tipo de directiva donde los valores MinimumIOPS y MaximumIOPS y el ancho de banda se comparten entre todos los flujos asignados a la directiva.A policy type where the specified MinimumIOPS & MaximumIOPS and Bandwidth are shared among all flows assigned to the policy. Los VHD asignados a la directiva en ese sistema de almacenamiento tienen una sola asignación de ancho de banda de E/S para compartir entre todos.All VHD's assigned the policy on that storage system have a single allocation of I/O bandwidth for them to all share.
DedicadoDedicated Un tipo de directiva en el que el mínimo & MaximumIOPS y el ancho de banda especificados se administran para un VHD/VHDx individual.A policy type where the specified Minimum & MaximumIOPS and Bandwidth are managed for individual VHD/VHDx.

Configuración de la calidad de servicio de almacenamiento y supervisión del rendimiento básicoHow to set up Storage QoS and monitor basic performance

En esta sección se describe cómo habilitar la nueva característica de calidad de servicio de almacenamiento y cómo supervisar el rendimiento de almacenamiento sin aplicar las directivas personalizadas.This section describes how to enable the new Storage QoS feature and how to monitor storage performance without applying custom policies.

Configuración de la calidad de servicio de almacenamiento en un clúster de almacenamientoSet up Storage QoS on a Storage Cluster

En esta sección se describe cómo habilitar la calidad de servicio de almacenamiento en un clúster de conmutación por error o un servidor de archivos de escalabilidad horizontal nuevo o existente que ejecuta Windows Server 2016.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.

Configuración de la calidad de servicio de almacenamiento en una instalación nuevaSet up Storage QoS on a new installation

Si ha configurado tanto un nuevo clúster de conmutación por error como un volumen compartido de clúster en Windows Server 2016, la característica de calidad de servicio de almacenamiento se configurará automáticamente.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.

Comprobación de la instalación de la calidad de servicio de almacenamientoVerify Storage QoS installation

Después de haber creado un clúster de conmutación por error y configurado un disco CSV, aparece el recurso de calidad de servicio de almacenamiento como un recurso de clúster principal y es visible en el Administrador de clústeres de conmutación por error y en 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. La intención es que el sistema de clúster de conmutación por error administre este recurso y no sea necesario realizar ninguna acción en él.The intent is that the failover cluster system will manage this resource and you should not have to do any actions against this resource. Lo mostramos en el Administrador de clústeres de conmutación por error y PowerShell para mantener la coherencia con los demás recursos de sistema del clúster de conmutación por error, como el nuevo Servicio de mantenimiento.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.

El recurso de QoS de almacenamiento aparece en Recursos principales de clúster

Ilustración 2: recurso de calidad de servicio de almacenamiento como recurso de clúster principal en el Administrador de clústeres de conmutación por errorFigure 2: Storage QoS Resource displayed as a Cluster Core Resource in Failover Cluster Manager

Utilice el siguiente cmdlet de PowerShell para ver el estado del recurso de la calidad de servicio de almacenamiento.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

Configuración de la calidad de servicio de almacenamiento en un clúster de procesoSet up Storage QoS on a Compute Cluster

El rol de Hyper-V en Windows Server 2016 tiene compatibilidad integrada para la calidad de servicio de almacenamiento y se configura de forma predeterminada.The Hyper-V role in Windows Server 2016 has built-in support for Storage QoS and is enabled by default.

Instalación de las herramientas de administración remota para administrar las directivas de calidad de servicio de almacenamiento de los equipos remotosInstall Remote Administration Tools to manage Storage QoS policies from remote computers

Puede administrar las directivas de calidad de servicio de almacenamiento y supervisar los flujos de los host de proceso por medio de las Herramientas de administración remota del servidor.You can manage Storage QoS policies and monitor flows from compute hosts using the Remote Server Administration Tools. Puede encontrarlas como características opcionales en todas las instalaciones de Windows Server 2016, y pueden descargarse por separado para Windows 10 en el sitio web del Centro de descarga de Microsoft.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.

La característica opcional RSAT-Clustering incluye el módulo de Windows PowerShell para la administración remota de los clústeres de conmutación por error, como la calidad de servicio de almacenamiento.The RSAT-Clustering optional feature includes the Windows PowerShell module for remote management of Failover Clustering, including Storage QoS.

  • Windows PowerShell: Add-WindowsFeature RSAT-ClusteringWindows PowerShell: Add-WindowsFeature RSAT-Clustering

La característica opcional RSAT-Hyper-V-Tools incluye el módulo de Windows PowerShell para la administración remota de Hyper-V.The RSAT-Hyper-V-Tools optional feature includes the Windows PowerShell module for remote management of Hyper-V.

  • Windows PowerShell: Add-WindowsFeature RSAT-Hyper-V-ToolsWindows PowerShell: Add-WindowsFeature RSAT-Hyper-V-Tools

Implementación de máquinas virtuales para ejecutar cargas de trabajo con fines de pruebaDeploy virtual machines to run workloads for testing

Necesitará algunas máquinas virtuales almacenadas en el servidor de archivos de escalabilidad horizontal con cargas de trabajo relevantes.You will need some virtual machines stored on the Scale-Out File Server with relevant workloads. Para ver algunas sugerencias sobre cómo simular la carga y realizar algunas pruebas de esfuerzo, consulte la página siguiente para obtener una herramienta recomendada (DiskSpd) y un ejemplo de uso: DiskSpd, PowerShell y el rendimiento de almacenamiento: medición de IOPS, rendimiento y latencia para discos locales y recursos compartidos de archivos SMB.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.

Los escenarios de ejemplo que se incluyen en esta guía contienen cinco máquinas virtuales.The example scenarios shown in this guide includes five virtual machines. BuildVM1, BuildVM2, BuildVM3 y BuildVM4 están ejecutando una carga de trabajo de escritorio con demandas de almacenamiento de bajas a moderadas.BuildVM1, BuildVM2, BuildVM3 and BuildVM4 are running a desktop workload with low to moderate storage demands. TestVm1 está ejecutando una prueba comparativa de procesamiento de transacciones en línea con una demanda de almacenamiento alta.TestVm1 is running an online transaction processing benchmark with high storage demand.

Visualización de las métricas de rendimiento de almacenamiento actualesView current storage performance metrics

Esta sección incluye:This section includes:

  • La consulta de flujos mediante el cmdlet Get-StorageQosFlow.How to query flows using the Get-StorageQosFlow cmdlet.

  • La visualización del rendimiento para un volumen mediante el cmdlet Get-StorageQosVolume.How to view performance for a volume using the Get-StorageQosVolume cmdlet.

Flujos de consulta mediante el cmdlet Get-StorageQosFlowQuery flows using the Get-StorageQosFlow cmdlet

El cmdlet Get-StorageQosFlow muestra todos los flujos actuales iniciados por servidores de Hyper-V.The Get-StorageQosFlow cmdlet shows all current flows initiated by Hyper-V servers. Todos los datos se recopilan por el clúster de servidores de archivos de escalabilidad horizontal; por tanto, el cmdlet puede usarse en cualquier nodo de dicho clúster o en un servidor remoto mediante el parámetro -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.

El siguiente comando de ejemplo muestra cómo ver todos los archivos abiertos por Hyper-V en el servidor mediante Get-StorageQoSFlow.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

El siguiente comando de ejemplo tiene el formato para mostrar el nombre de la máquina virtual, el nombre del host de Hyper-V, la IOPS y el nombre del archivo VHD, ordenados por IOPS.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

El siguiente comando de ejemplo muestra cómo filtrar los flujos en función del valor InitiatorName para encontrar fácilmente el rendimiento de almacenamiento y la configuración de una máquina virtual determinada.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

Los datos devueltos por el cmdlet Get-StorageQosFlow incluyen lo siguiente:The data returned by the Get-StorageQosFlow cmdlet includes:

  • El nombre de host de Hyper-V (InitiatorNodeName).The Hyper-V hostname (InitiatorNodeName).

  • El nombre de la máquina virtual y su identificador (InitiatorName e InitiatorId)The virtual machine's name and its Id (InitiatorName and InitiatorId)

  • El rendimiento medio reciente observado por el host de Hyper-V para el disco virtual (InitiatorIOPS, InitiatorLatency)Recent average performance as observed by the Hyper-V host for the virtual disk (InitiatorIOPS, InitiatorLatency)

  • El rendimiento medio reciente observado por el clúster de almacenamiento para el disco virtual (StorageNodeIOPS, StorageNodeLatency)Recent average performance as observed by the Storage cluster for the virtual disk (StorageNodeIOPS, StorageNodeLatency)

  • La directiva actual que se va a aplicar al archivo, si hay alguna, y la configuración resultante (PolicyId, Reservation, Limit)Current policy being applied to the file, if any, and the resulting configuration (PolicyId, Reservation, Limit)

  • Estado de la directivaStatus of the policy

    • Ok: no hay problemasOk - No issues exist

    • InsufficientThroughput: se aplica una directiva, pero no se puede entregar el número mínimo de IOPS.InsufficientThroughput- A policy is applied, but the Minimum IOPS cannot be delivered. Esto puede suceder si el valor mínimo para una máquina virtual, o para todas las máquinas virtuales juntas, es superior a lo que volumen de almacenamiento puede ofrecer.This can happen if the minimum for a VM, or all VMs together, are more than the storage volume can deliver.

    • UnknownPolicyId: se asignó una directiva a la máquina virtual en el host de Hyper-V, pero no está en el servidor de archivos.UnknownPolicyId - A policy was assigned to the virtual machine on the Hyper-V host, but is missing from the file server. Esta directiva debe quitarse de la configuración de la máquina virtual, o debe crearse una directiva coincidente en el clúster de servidores de archivos.This policy should be removed from the virtual machine configuration, or a matching policy should be created on the file server cluster.

Visualización del rendimiento para un volumen mediante Get-StorageQosVolumeView performance for a volume using Get-StorageQosVolume

Las métricas de rendimiento de almacenamiento también se recopilan en un nivel de volumen por almacenamiento, además de las métricas de rendimiento por flujo.Storage performance metrics are also collected on a per-storage volume level, in addition to the per-flow performance metrics. Esto hace que resulte fácil ver el uso total promedio en IOPS, latencia y límites agregados y reservas aplicados a un volumen.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

Creación y supervisión de directivas de calidad de servicio de almacenamientoHow to create and monitor Storage QoS Policies

En esta sección se describe cómo crear directivas de calidad de servicio de almacenamiento, aplicar estas directivas a máquinas virtuales y supervisar un clúster de almacenamiento una vez aplicadas.This section describes how to create Storage QoS policies, apply these policies to virtual machines, and monitor a storage cluster after policies are applied.

Creación de directivas de calidad de servicio de almacenamientoCreate Storage QoS policies

Las directivas de calidad de servicio de almacenamiento se definen y administran en el clúster de servidores de archivos de escalabilidad horizontal.Storage QoS policies are defined and managed in the Scale-Out File Server cluster. Puede crear tantas directivas como sea necesario para las implementaciones flexibles (hasta 10 000 por clúster de almacenamiento).You can create as many policies as needed for flexible deployments (up to 10,000 per storage cluster).

Cada archivo VHD/VHDX asignado a una máquina virtual puede configurarse con una directiva.Each VHD/VHDX file assigned to a virtual machine may be configured with a policy. Los diferentes archivos y máquinas virtuales pueden usar la misma directiva, o bien cada uno se puede configurar con directivas independientes.Different files and virtual machines can use the same policy or they can each be configured with separate policies. Si se configuran varios archivos VHD/VHDX o varias máquinas virtuales con la misma directiva, estos se agregarán juntos y compartirán en gran medida los valores MinimumIOPS y 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. Si utiliza directivas independientes para varios archivos VHD/VHDX o máquinas virtuales, los valores mínimo y máximo se supervisan por separado en cada caso.If you use separate policies for multiple VHD/VHDX files or virtual machines, the minimum and maximums are tracked separately for each.

Si crea varias directivas similares para diferentes máquinas virtuales y las máquinas virtuales tienen la misma demanda de almacenamiento, recibirán una cuota similar de 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. Si una máquina virtual solicita más y la otra menos, IOPS seguirá esa demanda.If one VM demands more and the other less, then IOPS will follow that demand.

Tipos de directivas de calidad de servicio de almacenamientoTypes of Storage QoS Policies

Hay dos tipos de directivas: "Agregado" (anteriormente conocido como "Instancia única") y "Dedicado" (anteriormente conocido como "Instancias múltiples").There are two types of policies: Aggregated (previously known as SingleInstance) and Dedicated (previously known as MultiInstance). Las directivas de tipo agregado aplican valores máximos y mínimos para el conjunto combinado de archivos VHD/VHDX y máquinas virtuales al que se aplican.Aggregated policies apply maximums and minimum for the combined set of VHD/VHDX files and virtual machines where they apply. En efecto, comparten un conjunto especificado de E/S por segundo y ancho de banda.In effect, they share a specified set of IOPS and bandwidth. Las directivas de tipo dedicado aplican los valores mínimo y máximo para cada VHD/VHDx por separado.Dedicated policies apply the minimum and maximum values for each VHD/VHDx, separately. Esto facilita la creación de una única directiva que aplica límites similares a varios archivos VHD/VHDx.This makes it easy to create a single policy that applies similar limits to multiple VHD/VHDx files.

Por ejemplo, si crea una directiva agregada con un mínimo de 300 e/s por segundo y un máximo de 500 IOPS.For instance, if you create a Aggregated policy with a minimum of 300 IOPS and a maximum of 500 IOPS. Si aplica esta directiva a 5 archivos VHD/VHDx distintos, se asegura de que los 5 archivos VHD/VHDx combinados se garantizarán al menos 300 IOPS (si hay demanda y el sistema de almacenamiento puede proporcionar ese rendimiento) y no más de 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. Si los archivos VHD/VHDx tienen una demanda alta similar de e/s por segundo y el sistema de almacenamiento puede mantenerse al día, cada archivo VHD/VHDx obtendrá aproximadamente 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.

Sin embargo, si crea una directiva dedicada con límites similares y la aplica a archivos VHD/VHDx en cinco máquinas virtuales diferentes, cada máquina virtual obtendrá al menos 300 IOPS y no más de 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. Si las máquinas virtuales tienen una demanda alta similar para IOPS y el sistema de almacenamiento puede mantenerse al día, cada máquina virtual obtendrá aproximadamente 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. .. Si una de las máquinas virtuales tiene varios archivos VHD/VHDx con la misma directiva de varias instancias configurada, estas compartirán el límite para que el total de E/S de la máquina virtual de archivos con esa directiva no supere los límites.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.

Por lo tanto, si tiene un grupo de archivos VHD/VHDx que desea que presenten las mismas características de rendimiento y no desea tener que crear varias directivas similares, puede utilizar una única directiva de tipo dedicado y aplicarla a los archivos de cada máquina virtual.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.

Mantenga el número de archivos VHD/VHDx asignados a una sola directiva agregada a 20 o menos.Keep the number of VHD/VHDx files assigned to a single Aggregated policy to 20 or less. Este tipo de Directiva se diseñó para realizar agregaciones con algunas máquinas virtuales en un clúster.This policy type was meant to do aggregation with a few VMs on a cluster.

Creación y aplicación de una directiva de tipo dedicadoCreate and apply a Dedicated policy

En primer lugar, utilice el cmdlet New-StorageQosPolicy para crear una directiva en el servidor de archivos de escalabilidad horizontal tal como se muestra en el ejemplo siguiente: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

A continuación, aplíquela a las unidades de disco duro de las máquinas virtuales adecuadas en el servidor de Hyper-V.Next, apply it to the appropriate virtual machines' hard disk drives on the Hyper-V server. Tenga en cuenta el valor PolicyId del paso anterior o almacénelo en una variable en los scripts.Note the PolicyId from the previous step or store it in a variable in your scripts.

En el servidor de archivos de escalabilidad horizontal, cree con PowerShell una directiva de calidad de servicio de almacenamiento y obtenga su identificador de directiva, tal como se muestra en el ejemplo siguiente: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

En el servidor de Hyper-V, establezca con PowerShell la directiva de calidad de servicio de almacenamiento mediante el identificador de directiva, tal como se muestra en el ejemplo siguiente: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

Confirmación de la aplicación de las directivasConfirm that the policies are applied

Use el Get-StorageQosFlow cmdlet de PowerShell para confirmar que MinimumIOPS y MaximumIOPS se han aplicado a los flujos adecuados, tal como se muestra en el ejemplo siguiente.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

En el servidor de Hyper-V, también puede utilizar el script proporcionado Get-VMHardDiskDrivePolicy.ps1 para ver qué directiva se aplica a una unidad de disco duro virtual.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

Consulta de directivas de calidad de servicio de almacenamientoQuery for Storage QoS Policies

Get-StorageQosPolicy muestra todas las directivas configuradas y su estado en un servidor de archivos Scale-Out.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

El estado puede cambiar con el tiempo según el rendimiento del sistema.Status can change over time based on how the system is performing.

  • Aceptar : todos los flujos que usan esa directiva reciben sus MinimumIOPS solicitados.Ok - All flows using that policy are receiving their requested MinimumIOPS.

  • InsufficientThroughput : uno o varios de los flujos que usan esta Directiva no reciben la IOPS mínimaInsufficientThroughput - One or more of the flows using this policy are not receiving the Minimum IOPS

También puede canalizar una directiva a Get-StorageQosPolicy para obtener el estado de todos los flujos configurados para usar la directiva como sigue: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...

Creación de una directiva de tipo agregadoCreate an Aggregated Policy

Se pueden usar directivas agregadas si desea que varios discos duros virtuales compartan un único grupo de IOPS y ancho de banda.Aggregated policies may be used if you want multiple virtual hard disks to share a single pool of IOPS and bandwidth. Por ejemplo, si se aplica la misma directiva de tipo agregado a discos duros de dos máquinas virtuales, el mínimo se dividirá entre ellos según la demanda.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. A ambos discos se les garantiza un mínimo combinado y juntos no superarán la IOPS o el ancho de banda máximo especificados.Both disks will be guaranteed a combined minimum, and together they will not exceed the specified maximum IOPS or bandwidth.

También podría utilizarse el mismo enfoque para proporcionar una única asignación para todos los archivos VHD/VHDx para las máquinas virtuales que componen un servicio o que pertenecen a un inquilino en un entorno de varios hosts.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.

No hay ninguna diferencia en el proceso de crear directivas de tipo dedicado o agregado, salvo el valor PolicyType especificado.There is no difference in the process to create Dedicated and Aggregated policies other than the PolicyType that is specified.

En el ejemplo siguiente se muestra cómo crear una directiva de calidad de servicio de almacenamiento de tipo agregado y obtener su valor policyID en un servidor de archivos de escalabilidad horizontal: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

En el ejemplo siguiente se muestra cómo aplicar la directiva de calidad de servicio de almacenamiento en un servidor Hyper-V usando el valor policyID obtenido en el ejemplo anterior: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

En el ejemplo siguiente se muestra cómo ver los efectos de la directiva de calidad de servicio de almacenamiento desde el servidor de archivos: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

Cada disco duro virtual tendrá el valor MinimumIOPS y MaximumIOPS y MaximumIobandwidth ajustado en función de su carga.Each virtual hard disk will have the MinimumIOPS and MaximumIOPS and MaximumIobandwidth value adjusted based on its load. Esto garantiza que la cantidad total de ancho de banda utilizada para el grupo de discos permanezca dentro del intervalo definido por la directiva.This ensures that the total amount of bandwidth used for the group of disks stays within the range defined by policy. En el ejemplo anterior, los dos primeros discos están inactivos y el tercero puede usar hasta el máximo de IOPS.In the example above, the first two disks are idle, and the third one is allowed to use up to the maximum IOPS. Si los dos primeros discos inician de nuevo la emisión de e/s, el valor máximo de IOPS del tercer disco se reducirá automáticamente.If the first two disks start issuing IO again, then the maximum IOPS of the third disk will be lowered automatically.

Modificación de una directiva existenteModify an existing policy

Las propiedades de Name, MinimumIOPS, MaximumIOPS y MaximumIoBandwidthcan se cambian después de crear una directiva.The properties of Name, MinimumIOPS, MaximumIOPS, and MaximumIoBandwidthcan be changed after a policy is created. Sin embargo, no se puede cambiar el tipo de directiva (agregado/dedicado) una vez creada esta.However, the Policy Type (Aggregated/Dedicated) cannot be changed once the policy is created.

El siguiente cmdlet de Windows PowerShell muestra cómo cambiar la propiedad MaximumIOPS de una directiva existente: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

El siguiente cmdlet comprueba el cambio: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

Identificación y resolución de problemas habitualesHow to identify and address common issues

En esta sección se describe cómo detectar las máquinas virtuales con directivas de calidad de servicio de almacenamiento no válidas, cómo volver a crear una directiva coincidente, cómo quitar una directiva de una máquina virtual y cómo identificar las máquinas virtuales que no cumplen los requisitos de la directiva de calidad de servicio de almacenamiento.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.

Identificación de máquinas virtuales con directivas no válidasIdentify virtual machines with invalid policies

Si se elimina una directiva desde el servidor de archivos antes de quitarla de una máquina virtual, la máquina virtual se seguirá ejecutando como si no se hubiera aplicado ninguna directiva.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"):

El estado de los flujos aparecerá ahora como "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...

Nueva creación de una directiva de calidad de servicio de almacenamiento coincidenteRecreate a matching Storage QoS policy

Si se eliminó por error una directiva, puede crear una nueva utilizando el valor PolicyId anterior.If a policy was unintentionally removed, you can create a new one using the old PolicyId. En primer lugar, obtenga el valor PolicyId necesario.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

A continuación, cree una nueva directiva con ese valor 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

Por último, compruebe que se ha aplicado.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...

Eliminación de directivas de calidad de servicio de almacenamientoRemove Storage QoS Policies

Si la directiva se ha quitado de forma intencionada, o si se ha importado una máquina virtual con una directiva que no necesita, puede quitarla.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

Una vez que el valor PolicyId se quite de la configuración de disco duro virtual, el estado será "Ok" y no se aplicará ningún mínimo ni máximo.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

Búsqueda de máquinas virtuales que no cumplen las directivas de calidad de servicio de almacenamientoFind virtual machines that are not meeting Storage QoS Policies

El estado InsufficientThroughput se asigna a los flujos que cumplen estos requisitos:The InsufficientThroughput status is assigned to any flows that:

  • Tienen un valor mínimo definido de IOPS establecido por la Directiva; etcHave a minimum defined IOPS set by policy; and

  • Están iniciando la E/S a una tasa que coincide con el mínimo o lo supera.Are initiating IO at a rate meeting or exceeding the minimum; and

  • No alcanzan la tasa de E/S por segundo mínima.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

Puede determinar flujos para cualquier estado, incluido InsufficientThroughput, tal como se muestra en el ejemplo siguiente: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

Supervisión del estado con la calidad de servicio de almacenamientoMonitor Health using Storage QoS

El nuevo servicio de mantenimiento simplifica la supervisión del clúster de almacenamiento, proporcionando un único lugar para buscar eventos accionables en cualquiera de los nodos.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. En esta sección se describe cómo supervisar el estado de su clúster de almacenamiento con el cmdlet debug-storagesubsystem.This section describes how monitor the health of your storage cluster using the debug-storagesubsystem cmdlet.

Visualización del estado de almacenamiento con Debug-StorageSubSystemView Storage Status with Debug-StorageSubSystem

Los espacios de almacenamiento en clúster también proporcionan información sobre el estado del clúster de almacenamiento en una sola ubicación.Clustered Storage Spaces also provide information on the health of the storage cluster in a single location. Esto puede servir de ayuda a los administradores para detectar rápidamente los problemas existentes en las implementaciones de almacenamiento y supervisar las incidencias cuando llegan o se desestiman.This can help administrators quickly identify current problems in storage deployments and monitor as issues arrive or are dismissed.

Máquina virtual con directiva no válidaVM with invalid policy

Las máquinas virtuales con directivas no válidas también se notifican a través de la supervisión de estado del subsistema de almacenamiento.VMs with invalid policies are also reported through the storage subsystem health monitoring. Este ejemplo procede del mismo estado que el descrito en la sección Búsqueda de máquinas virtuales con directivas no válidas de este documento.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            :

Pérdida de redundancia para un disco virtual de espacios de almacenamientoLost redundancy for a storage spaces virtual disk

En este ejemplo, un espacio de almacenamiento en clúster tiene un disco virtual creado como un reflejo triple.In this example, a Clustered Storage Space has a virtual disk created as a three-way mirror. Se quitó un disco con errores del sistema, pero no se agregó un disco de reemplazo.A failed disk was removed from the system, but a replacement disk was not added. El subsistema de almacenamiento está informando de una pérdida de redundancia con el valor Warning en HealthStatus, pero OperationalStatus presenta OK porque el volumen está aún en línea.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            :

Script de ejemplo para la supervisión continua de la calidad de servicio de almacenamientoSample script for continuous monitoring of Storage QoS

Esta sección incluye un script de ejemplo que muestra cómo se pueden supervisar los errores comunes mediante un script de WMI.This section includes a sample script showing how common failures can be monitored using WMI script. Se ha diseñado como punto de partida para que los desarrolladores recuperen eventos de estado en tiempo real.It's designed as a starting part for developers to retrieve health events in real time.

Script de ejemplo: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
}

Preguntas más frecuentesFrequently Asked Questions

¿Cómo se puede mantener una directiva de calidad de servicio de almacenamiento aplicada a mi máquina virtual si muevo sus archivos VHD/VHDx a otro clúster de almacenamiento?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

La configuración del archivo VHD/VHDx que especifica la directiva es el GUID de un identificador de directiva.The setting on the VHD/VHDx file that specifies the policy is the GUID of a policy ID. Cuando se crea una directiva, el GUID puede especificarse mediante el parámetro PolicyID.When a policy is created, the GUID can be specified using the PolicyID parameter. Si no se especifica este parámetro, se crea un GUID aleatorio.If that parameter is not specified, a random GUID is created. Por lo tanto, puede obtener el valor PolicyID en el clúster de almacenamiento en el que las máquinas virtuales almacenan actualmente sus archivos VHD/VHDx y crear una directiva idéntica en el clúster de almacenamiento de destino y, a continuación, especificar que se cree con el mismo 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. Cuando se muevan los archivos de máquinas virtuales a los nuevos clústeres de almacenamiento, la directiva con el mismo GUID surtirá efecto.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 puede utilizarse para aplicar directivas en varios clústeres de almacenamiento, lo que facilita mucho esta situación.System Center Virtual Machine Manager can be used to apply policies across multiple storage clusters, which makes this scenario much easier.

Si se cambia la directiva de calidad de servicio de almacenamiento, ¿por qué no veo que surta efecto de inmediato al ejecutar Get-StorageQoSFlow?If I change the Storage QoS Policy, why don't I see it take effect immediately when I run Get-StorageQoSFlow

Si tiene un flujo que llega al máximo de una directiva y cambia la directiva para establecer un límite inferior o superior y, a continuación, determina de inmediato la latencia/la E/S por segundo/el ancho de banda de los flujos que usan los cmdlets de PowerShell, transcurrirán hasta 5 minutos hasta que surtan efecto total los cambios de la directiva en los flujos.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. Los nuevos límites entrarán en vigor en pocos segundos, pero el cmdlet Get-StorgeQoSFlow de PowerShell utiliza un promedio de cada contador con una ventana deslizante de 5 minutos.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. De no ser así, si se mostrase un valor actual y se ejecutara el cmdlet de PowerShell varias veces consecutivas, podrían aparecer valores muy diferentes porque los valores de E/S por segundo y las latencias pueden fluctuar considerablemente de un segundo a otro.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.

¿Qué nueva funcionalidad se ha agregado en Windows Server 2016?What new functionality was added in Windows Server 2016

En Windows Server 2016, se ha cambiado el nombre del tipo de directiva de calidad de servicio de almacenamiento.In Windows Server 2016 the Storage QoS Policy type names were renamed. El tipo de directiva Instancias múltiples se denomina ahora Dedicado y el tipo Instancia única se denomina Agregado.The Multi-instance policy type is renamed as Dedicated and Single-instance was renamed as Aggregated. También se ha modificado el comportamiento de administración de las directivas dedicadas: los archivos VHD/VHDX dentro de la misma máquina virtual que tienen aplicada la misma directiva de tipo Dedicado no compartirán las asignaciones de E/S.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.

Hay dos nuevas características de QoS de almacenamiento en Windows Server 2016:There are two new Storage QoS features Windows Server 2016:

  • Ancho de banda máximoMaximum Bandwidth

    La calidad de servicio de almacenamiento de Windows Server 2016 introduce la posibilidad de especificar el ancho de banda máximo que pueden consumir los flujos asignados a la directiva.Storage QoS in Windows Server 2016 introduces the ability to specify the maximum bandwidth that the flows assigned to the policy may consume. El parámetro cuando se especifica en los cmdlets StorageQosPolicy es MaximumIOBandwidth y el resultado se expresa en bytes por segundo.The parameter when specifying it in the StorageQosPolicy cmdlets is MaximumIOBandwidth and the output is expressed in bytes per second. Si se establecen en una directiva los valores MaximimIops y MaximumIOBandwidth, los dos estarán en vigor y aquel que sea el primero al que lleguen los flujos limitará la E/S de estos.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.

  • La normalización de E/S por segundo es configurable.IOPS normalization is configurable

    La calidad de servicio de almacenamiento utiliza la normalización de E/S por segundo.Storage QoSin uses normalization of IOPS. Como valor predeterminado, se usa un tamaño de normalización de 8K.The default is to use a normalization size of 8K. La calidad de servicio de almacenamiento de Windows Server 2016 introduce la posibilidad de especificar un tamaño de normalización diferente para el clúster de almacenamiento.Storage QoS in Windows Server 2016 introduces the ability to specify a different normalization size for the storage cluster. Este tamaño de normalización afecta a todos los flujos del clúster de almacenamiento y surte efecto de inmediato (a los pocos segundos) una vez que se cambia.This normalization size effects all flows on the storage cluster and takes effect immediately (within a few seconds) once it is changed. El valor mínimo es 1 KB y el máximo es 4 GB (se recomienda no establecer más de 4 MB, ya que no es habitual tener más de 4 MB de E/S).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).

    Debe tener en cuenta que el mismo rendimiento/patrón de E/S muestra diferentes números de E/S por segundo en el resultado de la calidad de servicio de almacenamiento cuando se cambia la normalización de E/S por segundo debido al cambio en el cálculo de la normalización.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. Si se comparan las E/S por segundo entre grupos de almacenamiento, también puede comprobar qué valor de normalización está usando cada uno, ya que esto afectará a la E/S por segundo normalizada que se notifica.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.

Ejemplo 1: creación de una nueva directiva y visualización del ancho de banda máximo en el clúster de almacenamientoExample 1: Creating a new policy and viewing the maximum bandwidth on the storage cluster

En PowerShell, puede especificar las unidades en que se expresa una cantidad.In PowerShell, you can specify the units that a number is expressed in. En el ejemplo siguiente, 10 MB es el valor de ancho de banda máximo.In the following example, 10MB is used as the maximum bandwidth value. La calidad de servicio de almacenamiento lo convertirá y lo guardará como bytes por segundo. De este modo, 10 MB se convierten en 10 485 760 bytes por segundo.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

Ejemplo 2: obtención de la configuración de la normalización de E/S por segundo y especificación de un valor nuevoExample 2: Get IOPS normalization settings and specify a new value

En el ejemplo siguiente se muestra cómo obtener la configuración de la normalización de E/S por segundo de los clústeres de almacenamiento (valor predeterminado de 8 KB), luego establecerlo en 32 KB y, finalmente, mostrarlo de nuevo.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. Tenga en cuenta que, en este ejemplo, se especifica "32 KB", ya que PowerShell permite especificar la unidad en lugar de requerir la conversión a bytes.Note, in this example, specify "32KB", since PowerShell allows specifying the unit instead of requiring the conversion to bytes. El resultado muestra el valor en bytes por segundo.The output does show the value in bytes per second. Esta configuración afecta a todas las máquinas virtuales.This setting affects all virtual machines. (Las máquinas virtuales creadas en volúmenes locales también se ven afectadas).(The virtual machines created on local volumes are also affected.)

PS C:\Windows\system32> Get-StorageQosPolicyStore

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

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

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

Consulte tambiénSee Also