Western Digital Green Caviar WD10EADS and hdparm problems

A few weeks ago I ordered myself a new eco friendly home server. The machine will be acting as my content server: running samba, sabnzbd, nginx and mysql. Most of the time it will be idling, so my goal was to build a server with energy saving hardware. The old server already had a 1TB Western Digital Green Cavair drive in it which I bought in 2010. So I placed an order for the following parts:

  1. MSI H61M-P22 motherboard
  2. Intel Pentium G620
  3. Transcend JetRam JM1333KLN-2G
  4. be quiet! Pure Power L7 300W

Within a few days I received the whole shipment, and a few hours later my server was up and running again :). After installing and configuring Debian Squeeze I measured the power usage: 22 ~ 25 watt idle, not bad! I didn’t tweak anything at all, so I started my journey. Spinning down the disk after a period of idling was my next goal. For Linux users, hdparm is the tool which gets the job done. On Debian or Ubuntu all you need to do is:

To configure your drive you have to know its name. One way to figure that out is

Output on my system:

The /dev/sdb device is the USB key running the OS, while /dev/sda is my WD Green Caviar drive.
To set the spindown time all you have to do is:

Of course you should change the time out if you want. However, after waiting 25 seconds I did a status check:

What the? 🙁 It obviously didn’t work! After trying some more time outs I concluded it didn’t really work. Googling for my drive and hdparm I quickly found a lot of other people which ran in the same problem. Furthermore I discovered that Linux and the old Western Digital Green Caviar drives don’t play well with each other. To summarise: the drive puts heads into parking position after 8 seconds idle time! This causes a very high Load_Cycle_Count. To check this, you have to install the smartctl utility:

Then, check the S.M.A.R.T. data for you drive:

When issuing this command for a couple of minutes, I saw the number growing rapidly: every 3 minutes a new hit. Not good! 🙁

Fix the drive for Linux usage

Western Digital published a advisory about this problem. Basically we as Linux users are left in the dark. They provide a tool to reset of reconfigure the timeout, but it only runs on MS-DOS…

The good news is that the utility is present on the Ultimate Boot CD. Burn the ISO on a disc (or make a bootable USB key) and remove the timeout with:

After that you’re drive will pay attention to the settings provided by hdparm, and the Load_Cycle_Count won’t be growing that rapidly. The count on my server grows by 2 counts per day, instead of ~ 200! 🙂 And when the drives is standby my server consumes 18 ~ 20 watt!