Get-Storage
QoSFlow
Syntax
Get-StorageQoSFlow
[[-FlowId] <Guid>]
[[-InitiatorId] <String>]
[[-FilePath] <String>]
[[-VolumeId] <String>]
[[-InitiatorName] <String>]
[[-InitiatorNodeName] <String>]
[[-StorageNodeName] <String>]
[[-Status] <Status>]
[-IncludeHidden]
[-AsJob]
[-CimSession <CimSession>]
[-ThrottleLimit <Int32>]
[<CommonParameters>]
Get-StorageQoSFlow
[-Policy] <CimInstance>
[-AsJob]
[-CimSession <CimSession>]
[-ThrottleLimit <Int32>]
[<CommonParameters>]
Description
The Get-StorageQoSFlow cmdlet retrieves performance metrics on an I/O flow that is monitored by Storage Quality of Service (Storage QoS). The metrics are throughput and latency averages, computed over a 5-minute rolling time interval.
Each file handle opened by a server that runs Hyper-V to a VHD or VHDX file is considered a flow. If a virtual machine has two virtual hard disks attached, it will have 1 flow to the file server cluster per file. If a VHDX is shared with multiple virtual machines, it will have 1 flow per virtual machine.
For more information about Storage QoS, see Storage Quality of Service in Windows Server Technical Previewhttps://technet.microsoft.com/en-us/library/Mt126108 ( https://technet.microsoft.com/en-us/library/Mt126108 ).
Examples
Example 1: Get information on an I/O flow
PS C:\>
Get-StorageQoSFlow -FilePath "C:\ClusterStorage\Volume01\TEST"
InitiatorName FilePath InitiatorIOPS InitiatorLatency PSComputerName
------------- -------- ------------- ---------------- --------------
storqosclient C:\ClusterStorage\Volume01\TEST 104 8.0921
storqosclient C:\ClusterStorage\Volume01\TEST 31 8.9741
This command gets information about all flow initiators accessing C:\ClusterStorage\Volume01\TEST.
Required Parameters
Specifies a policy for which to get associated flows.
Type: | CimInstance |
Position: | 9 |
Default value: | None |
Accept pipeline input: | True (ByValue) |
Accept wildcard characters: | False |
Optional Parameters
Runs the cmdlet as a background job. Use this parameter to run commands that take a long time to complete.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Runs the cmdlet in a remote session or on a remote computer. Enter a computer name or a session object, such as the output of a New-CimSession or Get-CimSession cmdlet. The default is the current session on the local computer.
Type: | CimSession |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Specifies the path of the file that a flow accesses.
Type: | String |
Position: | 2 |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Specifies the GUID that identifies the flow. This identifier is not unique across flow objects, because the same logical flow may be split across several volumes or storage nodes.
Type: | Guid |
Position: | 0 |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Indicates that this cmdlet includes the default flow, which groups together all flows not governed by a policy.
Type: | SwitchParameter |
Position: | 8 |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Identifies the virtual machine that is the initiator of the flow.
Type: | String |
Position: | 1 |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Specifies the friendly name of the initiator.
Type: | String |
Position: | 4 |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Specifies the hostname of the node initiating the flow.
Type: | String |
Position: | 5 |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Specifies the status of the flow.
- Ok indicates that the flow meets the minimum Input/Output Operations Per Second (IOPS).
- InsufficientThroughput indicates that the IOPS are below the minimum.
Type: | Status |
Parameter Sets: | Ok, InsufficientThroughput, UnknownPolicyId, LostCommunication |
Position: | 7 |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Specifies the hostname of the storage node servicing the flow.
Type: | String |
Position: | 6 |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Specifies the maximum number of concurrent operations that can be established to run the cmdlet.
If this parameter is omitted or a value of
0
is entered, then Windows PowerShell® calculates an optimum throttle limit for the cmdlet based on the number of CIM cmdlets that are running on the computer.
The throttle limit applies only to the current cmdlet, not to the session or to the computer.
Type: | Int32 |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Specifies the ID of a volume that the flow accesses.
Type: | String |
Position: | 3 |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Outputs
Microsoft.Management.Infrastructure.CimInstance#MSFT_StorageQoSFlow
This cmdlet outputs a Common Information Model (CIM) object of type MSFT_StorageQoSFlowhttps://msdn.microsoft.com/en-us/library/mt164591(v=vs.85).aspx ( https://msdn.microsoft.com/en-us/library/mt164591(v=vs.815).aspx ).
The
Microsoft.Management.Infrastructure.CimInstance
object is a wrapper class that displays Windows Management Instrumentation (WMI) objects.
The path after the pound sign (
#
) provides the namespace and class name for the underlying WMI object.