如何检测 ifplugd 之类操作的最后一个硬盘/samba 或 zfs 活动的时间?

如何检测 ifplugd 之类操作的最后一个硬盘/samba 或 zfs 活动的时间?

我在 armbian 上构建了一个类似 NAS 的小型设备,它使用外部硬盘来提供文件服务。 (硬件)接口仅提供减少的 SATA 命令集并覆盖一些 APM/AAM/待机功能,但我希望待机时间间隔更长。

我可以通过重复发出一些 SATA 命令成功地使驱动器保持唤醒状态,但我在实现某些逻辑时遇到了困难。

我想模仿上次活动 xx 分钟后的磁盘待机状态。

有没有什么聪明的方法或监控实用程序可以告诉我上次SMBD、ZFS或理想情况下硬盘本身执行某些读/写活动的时间?

像 ifplugd 中的间隔之类的东西......我应该了解“dtrace”吗?

答案1

也许您可以只轮询块设备上读/写操作数量的计数器,并在它们不再改变时执行您的操作。对于像这样的块设备sda,统计信息在 中/sys/block/sda/stat,并且列在内核中描述。文档/iostats.txt。特别是,第 1 列和第 5 列加在一起给出了已完成的 I/O 操作总数。

相关内容