我正在寻找一种方法来快速(通过PowerShell Get-Counter
)显示特定物理磁盘上的I / O负载(IOPS优于字节),以及文件访问信息(可能是文件path)。
基本上我想要的是在资源监视器提供的信息在磁盘选项卡中显示哪个文件正在消耗多less磁盘活动。 在RM中,它是字节,但是希望在Get-Counter
使用适当的计数器,我们可以显示每个文件的IOPS。
所有这些都是为了跟踪SMB文件共享上特定HyperV虚拟磁盘文件所使用的IOPS。 我想要一种使用内置MS组件(如perfmon)的每个VM显示磁盘IOPS的快速Powershell方法。
小背景:HyperV虚拟机是故障转移群集中的VMangular色,访问两个不同的SMB 3.0文件共享中的一个; 共享本身是由SOFS提供的故障转移群集angular色。 磁盘信息是从SOFS节点上的“PhysicalDisk”计数器中绘制的。
我已经能够看到每个磁盘的总IOPS: Get-Counter -ComputerName stor2 '\PhysicalDisk(26)\Disk Transfers/sec' -Continuous
; 但我想展开这个来显示哪个虚拟机正在执行多lessIOPS。
在此感谢这个伟大的社区!
你不能这样做。 无法在Windows存储堆栈中遍历IRP所有者:您必须拥有(非常复杂的BTW)第三方筛选器驱动程序和关联的包装。 像Tintri这样的实施严格QoS的SAN供应商可以做类似的事情,但是他们处理文件而不是处理协议。