如何让我的磁盘在一小时后停止旋转?

Kee*_*Jan 8 debian hard-drive power-management

我目前正在配置一个新的家庭服务器,我试图让磁盘在一小时后停止旋转。但它们不会减速。

设置

我的整个系统都在 ssd 上:/dev/sda。我在系统中有三个硬盘:/dev/sdb、/dev/sdc 和 /dev/sdd。虽然它们包含(活动的)LVM 卷,但它们并未挂载。

什么工作

我可以使用以下命令将磁盘置于待机状态:

hdparm -y /dev/sdb
Run Code Online (Sandbox Code Playgroud)

磁盘保持旋转数天(如果我不理会系统),表明(我认为)系统确实没有产生任何活动

使用相对较小的超时值,例如:

hdparm -S 180 /dev/sdb
hdparm -S 240 /dev/sdc
hdparm -S 241 /dev/sdd
Run Code Online (Sandbox Code Playgroud)

也有效。每个磁盘在指定的时间(分别为 15 分钟、20 分钟和 30 分钟)后停止旋转

什么不起作用

我尝试将超时值设置为一小时,如下所示:

hdparm -S 242 /dev/sdb
Run Code Online (Sandbox Code Playgroud)

该命令似乎成功了,但磁盘根本没有进入待机状态(即一天后,磁盘仍处于活动/空闲模式,正如我的功率计所见,以及

hdparm -C /dev/sdb
Run Code Online (Sandbox Code Playgroud)

系统详情

这是 Debian Squeeze,在 Atom 驱动的华硕主板 (AT5NM10T-I) 上运行。磁盘是:

[1.948217] scsi 0:0:0:0: Direct-Access ATA OCZ VERTEX PLUS  3.50 PQ: 0 ANSI: 5
[1.953713] scsi 1:0:0:0: Direct-Access ATA ST2000DL003-9VT1 CC3C PQ: 0 ANSI: 5
[1.954302] scsi 4:0:0:0: Direct-Access ATA ST31500341AS     SD1B PQ: 0 ANSI: 5
[1.954873] scsi 5:0:0:0: Direct-Access ATA ST31500341AS     SD1B PQ: 0 ANSI: 5
Run Code Online (Sandbox Code Playgroud)

Kee*_*Jan 5

在默认配置中,smartd 每 30 分钟检查一次磁盘状态,磁盘处于待机状态时除外。

显然,这会生成足够的磁盘活动,使磁盘永远不会真正进入睡眠状态(超时超过 30 分钟),但不会唤醒任何睡眠磁盘。