我使用 mdadm 设置了 4 个硬盘的 RAID。服务器不应该总是运行硬盘,所以我搜索了让硬盘待机的解决方案,并找到了以下方法:
hdparm -S 240 /dev/sda
这应该将驱动器/dev/sda
置于待机状态,并将自动旋转定时器设置为 20 分钟,因此下次闲置超过 20 分钟时,它将再次旋转。该命令的输出还指出了这一点:
/dev/sdb:
setting standby to 240 (20 minutes)
但实际上,驱动器在最后一次访问后约 5 秒就会停止旋转,并且
hdparm -C /dev/sdb
显示:
/dev/sdb:
drive state is: standby
由于是 RAID5,且数据分散在各个设备中,因此无法访问 RAID,因此读取文件会导致唤醒一个驱动器,然后是第二个驱动器,但 5 秒后第一个驱动器处于空闲状态,它再次旋转停止,依此类推...
有时,如果我执行hdparm -C
检查驱动器的当前状态,它会旋转起来,这绝对不是我想要的,因为我想编写一个监控脚本每分钟左右检查一次状态。
由于 mdadm 正在运行并且 RAID 已安装,因此可能是 mdadm 访问磁盘过于频繁,所以这可能是问题所在,但我并不这么认为。
另一个问题是:当驱动器处于待机状态时,是否可以检查驱动器的温度?使用显然hddtemp
代表SLP
待机,因此使用 hdparm 不是检查待机模式下温度的解决方案。但它可能是检查驱动器状态的替代解决方案?
所以实际上存在三个问题:
- 驱动器旋转过快使用
hdparm -S ...
- 使用以下方式检查驱动器状态时启动
hdparm -C
- 无法使用以下方法检查待机模式下驱动器的温度
hddtemp
你知道我做错什么了吗?