I can't get spin-down to work for more than my 2 first disks.
I run ubuntu server 2.6.22 with hdparm v8.9
I have 5 disks
/dev/sda - PATA
/dev/sdb - SATA - Hitachi (same type)
/dev/sdc - SATA - Hitachi (same type)
/dev/sdd - SATA - Hitachi (same type)
/dev/sde - SATA - Western
1. If I issue hdparm -S2 /dev/sda ( sdb sdc sdd sde )
sda and sdb react as they should. Disk spin down in 10 seconds.
sdc,sdd and sde nothing happens. Disk stay in active/idle. (verify by issue hdparm -C /dev/...)
2. I can manually put all disks in standby with hdparm -y /dev/sd[a,b,c,d,e]
3. If I issue hdparm -S2 /dev/sdd on a standby device it first spin up the disk before returning the command.
4. It dose not help if I physically swap disk sdb and sdd
5. It dose not help if I change motherboard from P4C800-E to P5KPL-VM
Any idea why can't I control sdc/sdd/sde......?
It seems to be an issue if I google around, several have problems with spin-down and hdparm
I had exactly the same problem. For some drives I could set the standby-timer and for others I couldn't (at last it didn't work on every drive!), although they were all (6) of the same kind (Hitachi). Wasting hours in trying a lot of things I found a solution (kinda workaround) today which works (at least for me).
1. install "smartmontools"
2. run: smartctl -t short /dev/sda (sdb ,sdc ,sdd ,sde ,sdf,... sdx)
3. set timer: hdparm -S... /dev/sda (sdb ,sdc ,sdd ,sde ,sdf,... sdx)
I have no idea why initiating a short smart-selftest-scan enables the ability to set the standby-timer, but it worked for me on all 6 drives. It also "survived" reboot etc. Of course I have no idea yet if the problem is being fixed permanently.
Hope this might help you and others.
Thanks Oliver! This helped me tame my Hitachi 5K3000.
After a day or so my disk started ignoring its standby timeout again. I have no idea why, but launching a short selftest solves the problem every time. So I let this little script run every hour:
# If /dev/sdX is spinning, start short test, abort immediately and
# set standby timeout
smartctl --device=ata --nocheck=standby --test=short /dev/sdX \
&& smartctl --abort /dev/sdX \
&& hdparm -S... /dev/sdX
Of course smartctl has the ability to set the standby timeout itself, so hdparm can be left out of the loop.
Log in to post a comment.