我有一个使用 mdadm 和 4 个硬盘驱动器的 RAID 设置。服务器不应该总是运行硬盘,所以我搜索了一个将硬盘置于待机状态的解决方案,发现了这个:
hdparm -S 240 /dev/sda
Run Code Online (Sandbox Code Playgroud)
这应该使驱动器/dev/sda
处于待机状态并将自动减速计时器设置为 20 分钟,因此下次它闲置超过 20 分钟时将再次减速。该命令的输出还说明了这一点:
/dev/sdb:
setting standby to 240 (20 minutes)
Run Code Online (Sandbox Code Playgroud)
但实际上,驱动器在上次访问后大约 5 秒后开始旋转,并且
hdparm -C /dev/sdb
Run Code Online (Sandbox Code Playgroud)
显示:
/dev/sdb:
drive state is: standby
Run Code Online (Sandbox Code Playgroud)
无法访问 RAID,因为它是 RAID5 并且数据分布在设备之间,因此读取文件导致唤醒一个驱动器,然后是第二个驱动器,但是 5 秒后第一个驱动器空闲,它再次减速等等...
有时,如果我执行hdparm -C
检查驱动器的当前状态,它会旋转,这绝对不是我想要的,因为我想编写一个监控脚本,每分钟左右检查一次状态。
由于 mdadm 正在运行并且 RAID 已安装,因此 mdadm 可能会过于频繁地访问磁盘,所以这可能是问题所在,但我并不这么认为。
另一个问题是:是否可以在驱动器处于待机状态时检查其温度?Usinghddtemp
给了我SLP
它显然代表待机,所以使用 hdparm 不是在待机模式下检查温度的解决方案。但它可能是检查驱动器状态的替代解决方案吗?
所以实际上存在三个问题:
hdparm -S ...
hdparm -C
hddtemp
你知道我做错了什么吗?
归档时间: |
|
查看次数: |
11634 次 |
最近记录: |