我正在使用 WD Red 硬盘
Model Family: Western Digital Red
Device Model: WDC WD120EMFZ-11A6JA0
我已将其设置为 10 分钟后旋转停止:
hdparm -S 120 /dev/sdc
/dev/sdc:
setting standby to 120 (10 minutes)
不幸的是,它没有进入待机状态。为了确保没有任何内容访问该驱动器,我没有安装它。
然后,我测试了 hdparm -S 的较低值,发现它最多可以工作到 24(2 分钟)。我还测试了更大的值(最高到 40),但没有成功。
我针对 APM_level=1 和 APM_level=255 测试了这些值。
使用 hd-idle,我能够让驱动器旋转下来,但这是以如下错误为代价的:
[Sa Aug 20 12:27:04 2022] ata2: EH complete
[Sa Aug 20 12:27:09 2022] ata2: limiting SATA link speed to 3.0 Gbps
[Sa Aug 20 12:27:09 2022] ata2.00: exception Emask 0x10 SAct 0x800 SErr 0x850000 action 0x6 frozen
[Sa Aug 20 12:27:09 2022] ata2.00: irq_stat 0x08000000, interface fatal error
[Sa Aug 20 12:27:09 2022] ata2: SError: { PHYRdyChg CommWake LinkSeq }
[Sa Aug 20 12:27:09 2022] ata2.00: failed command: READ FPDMA QUEUED
[Sa Aug 20 12:27:09 2022] ata2.00: cmd 60/20:58:20:aa:ef/00:00:33:03:00/40 tag 11 ncq dma 16384 in
[Sa Aug 20 12:27:09 2022] ata2.00: status: { DRDY }
[Sa Aug 20 12:27:09 2022] ata2: hard resetting link
[Sa Aug 20 12:27:09 2022] ata2: SATA link up 3.0 Gbps (SStatus 123 SControl 320)
我可以确认这些问题与谷歌指出的损坏的 SATA 电缆无关,而是它们的出现和消失取决于 hd-idle 是否激活。
有什么办法可以让磁盘在 10 分钟后停止旋转吗?2 分钟对我来说似乎有点短。
谨致问候,亨德里克
编辑:我现在测试的值高达 120(10 分钟),但它只能工作到 24(2 分钟)
作为参考,我用来测试 20 到 40 之间的值的脚本:
#!/bin/bash
for i in 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
do
hdparm -S $i /dev/sdc
time timeout --preserve-status --foreground 660s watch -n 10 -g hdparm -C /dev/sdc
done
答案1
WD 似乎采用了hdparm -S
非标准的方式实施。
文章 旋转 WD20EARS“绿色”驱动器 也可能适用于您的“红色”磁盘:
通过反复试验,我发现如果你设置较低的旋转超时时间,即 hdparm -S 3,驱动器将在 10 分钟内旋转停止。因此,与大多数遵循 hdparm 手册页中指定的超时时间的驱动器不同,这个驱动器似乎在低 -S 值的情况下在 10 分钟内停止旋转,而高值的情况下永远不会停止旋转。我不知道阈值是多少,但目前,hdparm -S 3 对我来说很管用。执行此操作后,驱动器最终设法在不提供媒体时大部分时间处于空闲状态:
我还使用了idle3-工具关闭 idle3 行为并使驱动器免于大量的加载/卸载循环;我不知道这是否有必要,但我还是这么做了。
-S
检查上述内容是否也适用于您的磁盘。您可能需要通过反复试验找出正确的参数。