Microsoft 性能监视器计数器 - 磁盘活动和文件

Microsoft 性能监视器计数器 - 磁盘活动和文件

我正在寻找一种方法来快速(通过 PowerShell Get-Counter)显示某个物理磁盘上的 I/O 负载(IOPS 优于字节),以及文件访问信息 - 可能是文件路径。

本质上我想要的是磁盘选项卡中的资源监视器其中显示了哪个文件消耗了多少磁盘活动。在 RM 中,单位是字节,但希望使用适当的计数器,Get-Counter我们可以显示每个文件的 IOPS。

所有这些都是为了尝试跟踪 SMB 文件共享上特定 HyperV 虚拟磁盘文件使用的 IOPS。我希望使用内置 MS 组件(例如 perfmon)以快速的 Powershell 方式显示每个 VM 的磁盘 IOPS。

背景知识:HyperV VM 是故障转移群集中的 VM 角色,可访问两个不同的 SMB 3.0 文件共享之一;共享本身是 SOFS 提供的故障转移群集角色。磁盘信息来自 SOFS 节点上的“PhysicalDisk”计数器。

我已经能够看到每个磁盘的总 IOPS:;Get-Counter -ComputerName stor2 '\PhysicalDisk(26)\Disk Transfers/sec' -Continuous但我想扩展它来显示哪个虚拟机正在执行多少 IOPS。

提前感谢这个伟大的社区!

答案1

您不能这样做。没有办法在 Windows 存储堆栈中回溯 IRP 所有者:您必须拥有(顺便说一句,相当复杂)第三方筛选驱动程序和相关包装。实施严格 QoS 的 SAN 供应商(例如 Tintri)会做类似的事情,但他们处理的是文件协议而不是块协议。

相关内容