我在带有两个 Western Digital Red 3TB 的 HP Proliant Microserver Gen8 上使用 Debian Jessie。没有 RAID 或其他任何东西。我希望硬盘在两小时后自动停止旋转。手动触发它可以很好地使用这两个命令
sudo hdparm -Y /dev/sda
sudo hdparm -y /dev/sda
所以输出是
user@NAS:~$ sudo hdparm -C /dev/sda
/dev/sda:
drive state is: standby
但是当我使用时:
sudo hdparm -S 244 /dev/sda
HDD 不会进入任何类型的待机模式。请注意,sda 不是系统驱动器。我通过 fstab 安装了两个硬盘,如下所示:
UUID=xxx /mnt/Stuff ext4 defaults,noatime,nodiratime 0 0
知道为什么这行不通吗?我也尝试过10秒和1分钟。有没有办法确定是否有任何进程访问硬盘上的分区?我确实使用了 DLNA 服务器和 Samba,但当然在测试过程中我没有进行任何访问。
答案1
使用iosnoop
(可在perf-tools-unstable
Debian 中的软件包),您可以跟踪特定设备上的活动:
iosnoop -d 8,0
将显示哪些进程正在访问该设备。这应该可以让您确定是什么唤醒了您的驱动器。
要确定要使用的设备编号,请查看节点的主/次设备编号:
ls -l /dev/sd*
您还可以iosnoop
不带参数运行来监视所有 I/O。
答案2
我在我的 NAS 上使用 OpenWrt 设置时遇到了类似的问题,但甚至sudo hdparm -Y /dev/sda
无法正常工作。 Hddactive/idle
在一秒半后恢复到状态。所以,我提到有一个奇怪的ext4lazyinit
过程。这件事在短时间内触发了硬盘。要摆脱它,只需使用该参数格式化 ext4mkfs.ext4 -E lazy_itable_init=0,lazy_journal_init=0 /dev/<your ext4 partition>