硬盘驱动器每 10 秒旋转一次并重新旋转一次; “fatrace”中未显示访问权限

硬盘驱动器每 10 秒旋转一次并重新旋转一次; “fatrace”中未显示访问权限

我在低功耗硬盘上运行 Fedora 23[*]。我可以听到硬盘驱动器的咔嗒声或旋转速度,然后又恢复,大约每10秒。 (并且活动 LED 闪烁)。

如果我登录并运行sync; fatrace --timestamp,我看不到与启动相关的任何文件访问。

有一些定期文件访问,但它们都是缓存读取,例如 to/etc/passwd/etc/fstab。如果relatime由于某种原因没有被应用,我尝试使用 进行安装noatime,但这没有帮助。我还禁用了交换 ( swapoff -a)。

该驱动器不是为此而设计的&我预计它最终会杀死它。它也不是很节能:)。帮助!

[*] 这是一个 NAS 类型的系统。

答案1

我寻找的第二件事是直接设备访问。 sudo lsof /dev/sd*什么也没显示。 cd /dev; fatrace --current-mount --timestamp也没有显示任何关联的访问。

此时我需要开始剥离内核。咱们试试吧systemctl isolate rescue.target。奇怪的是,它又弹回来了default.target。然后systemctl status显示系统已降级,因为dmeventd在仍在监视设备时不想停止(!)...但硬盘驱动器已停止旋转备份(!!)。

事实上,在未降级的系统上,问题在 后就消失了killall -9 dmeventd

怎么可以这么破?原因是我开始使用docker,并且由于我使用 LVM,它选择了 devicemapper 存储驱动程序。[*]

dmeventd[5054]: dmeventd ready for processing.
lvm[5054]: Monitoring thin vg_fossil-docker--pool.

[*] 如果您有 LVM 镜像、raid 或快照,这也可能是一个问题...不可否认,在 NAS 系统上有可能:(。如果您没有这些,例如只有简单的 LV 或没有 LVM所有,那么 dmeventd 就没有任何需要监视的内容,它会自行运行。


具体来说,dmeventd 大约每 10 秒执行一次这些 ioctl:

open("/dev/mapper/control", O_RDWR)     = 7
...
ioctl(7, DM_TABLE_STATUS
ioctl(7, DM_DEV_WAIT

我仍然认为旋转是一个错误,但至少对于我的情况来说有一个明显的解决方法[*],我并不真正担心我会因此错过任何东西。

[*] 如果你真的想停止 dmeventd 工作,即使你有一个精简池,如果空间不足,它可能会严重死亡,搜索monitoring = 1inlvm.conf并将值更改为0


更新:该错误已修复在下一个版本中lvm22.02.133.

相关内容