通过常规目录读取访问防止磁盘旋转

通过常规目录读取访问防止磁盘旋转

我有一个硬盘驱动器,配置为在不活动时减速。

不幸的是,定期(大约每 15 分钟)发生的目录读取访问会将磁盘从休眠状态中唤醒。当没有对磁盘的写访问权限时,我希望 Linux 无限期地缓存目录内容,以完全防止磁盘旋转。我该怎么做?

我已经atime通过使用 挂载磁盘来禁用noexec,nosuid,nodev,nofail,x-systemd.device-timeout=20,noatime,nodiratime

fatrace访问磁盘时,显示如下日志:

22:00:06.654630 perl(10477): RO /media/mydisk/backups
22:00:06.654630 perl(10477): R /media/mydisk/backups
22:00:06.654775 perl(10477): C /media/mydisk/backups
22:00:06.654807 perl(10477): RO /media/mydisk/backups
22:00:06.654807 perl(10477): R /media/mydisk/backups
22:00:06.654861 perl(10477): C /media/mydisk/backups
22:00:06.655326 perl(10477): RO /media/mydisk/backups/Backup 1
22:00:06.655803 perl(10477): C /media/mydisk/backups/Backup 1
22:00:06.656219 perl(10477): RO /media/mydisk/backups/Backup 2
22:00:06.656622 perl(10477): C /media/mydisk/backups/Backup 2

请注意,并非每次访问都会导致驱动器旋转。据我观察,驱动器大约每小时被唤醒一次。我怀疑这是因为目录缓存过期了?

运行 Ubuntu Server 18.04.4,Linux Kernel 5.3.0-51-generic,驱动器的文件系统是ext4

相关内容