X 分钟后将 mdadm raid 的硬盘置于待机状态

lee*_*mes 6 ubuntu hard-drive

我有一个使用 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

你知道我做错了什么吗?