我有一台小型服务器,其中有五个驱动器,布局如下:
物理驱动器
/dev/sda (SSD EVO 850)
/dev/sdb (HDD TOSHIBA DT01ACA300)
/dev/sdc (HDD TOSHIBA DT01ACA300)
/dev/sdd (HDD WD1502FAEX-007BA0)
/dev/sde (HDD WD1502FAEX-007BA0)
逻辑驱动器
/dev/sda1 (ext4) - Operating system '/'
/dev/md0 (ext4 - raid1 made of /dev/sdb1 and sdc1) - Data1
/dev/md1 (ext4 - raid1 made of /dev/sdd1 and sde1) - Data2
业务需求如下:
- 最常用的数据保留在 SSD 驱动器上,因此它可以一直处于活动/空闲状态
- 最不活跃的偶尔访问的数据被放在 HDD 驱动器中,因此驱动器应该在一段时间不活动后进入睡眠状态(比如说 5 分钟)
我正在处理的问题是,即使我明确设置了驱动器电源管理,也不会有任何驱动器进入睡眠/待机状态。
我在此系统(以及在其他系统)上使用的命令:
DRIVE_TO_SET=/dev/sdb #in general any drive I want to set PM
hdparm -B 1 $DRIVE_TO_SET
hdparm -S 60 $DRIVE_TO_SET
奇怪的是,如果我通过以下方式手动将驱动器置于睡眠状态:
DRIVE_TO_SET=/dev/sdb #in general any drive I want to set PM
hdparm -Y $DRIVE_TO_SET
它保持休眠状态几天,直到有人请求访问它的数据。
据我所知,没有任何应用程序定期访问驱动器,从而阻止它们进入睡眠状态。我相信,当手动进入睡眠状态时,它们可以进入睡眠状态,这也证明了没有睡眠会阻止应用程序运行。
我认为值得一提的是,服务器在 LXD/LXC 2.0x 容器中运行所有服务。但是,它们使用 RAID 驱动器将映像保存在 SSD 驱动器上,仅用于存储大量不常用的数据。
问题是:
我应该如何(还有什么)调查来找出驱动器不想进入睡眠状态的原因?
答案1
不知何故,GUI 工具(德语中为“Laufwerke”,英语中为“disks”)gnome-disk-utility
可以进行更改,但实际上却hdparm -S
无法进行更改。您必须在 UI 中选择设备,然后E在键盘上键入,将出现一个调度窗口,您可以在其中设置超时...我对 raid 的每个设备都进行了更改。