WD Caviar Green drives in Linux

Silencing hard drives, optical drives and other storage devices

Moderators: NeilBlanchard, Ralf Hutter, sthayashi, Lawrence Lee

Post Reply
gandrusz
Posts: 15
Joined: Tue Apr 10, 2007 6:09 am
Location: London

WD Caviar Green drives in Linux

Post by gandrusz » Mon Jun 21, 2010 5:19 am

Hi,

I have recently bought 1.5 TB Caviar Green drive (the new version with 64MB of Cache) and all the problems started :( First I noticed that the performance of this drive was shockingly bad (worse than 5 year old USB stick). After loads of searching and asking questions I found out that in order to get reasonable performance you need to align your partitions to the physical 4kb sectors on the drive.

The correct way to align partitions is here: http://www.linuxconfig.org/linux-wd-ear ... ced-format

And this article gives a pretty good benchmark so that you can check if your partition table is correct: http://article.gmane.org/gmane.linux.ut ... ux-ng/2955

On top of this the problem that the drive constantly parks and unparks the heads still exists (despite a note in the official SPCR review), and the users need to change the timeout setting using the tool provided by WD:
http://wdc.custhelp.com/cgi-bin/wdc.cfg ... _topview=1

So to sum up, I spent so much time getting this thing to work that I think its fair to say that these drives are virtually incompatible with Linux. I am not sure about alternatives, but I am sure there are some.

m0002a
Posts: 2831
Joined: Wed Feb 04, 2004 2:12 am
Location: USA

Post by m0002a » Mon Jun 21, 2010 5:53 am

Did you buy the Green AV version of the drive, or the regular Green Version. The AV version is a problem on Linux. I don't believe that the regular (non AV) Green versions present any problems.

Vicotnik
*Lifetime Patron*
Posts: 1822
Joined: Thu Feb 13, 2003 6:53 am
Location: Sweden

Post by Vicotnik » Mon Jun 21, 2010 7:47 am

I have four WD GPs (one WD20EADS and three WD10EACS) in my file server running Ubuntu 10.04, I have no problems at all. None of them are the new 4k sector drives though, but I was under the impression that this would only be an issue with older OSs like WinXP.
Main: ASRock B85M-ITX | i3-4330 | 16GB DDR3 | Intel 730 240GB | HDPLEX H1-S | picoPSU | No moving parts | Idle 13.9W
HTPC: ASRock J4105-ITX | 4GB DDR4 | Intel 535 120GB | picoPSU | No moving parts
Gaming: Intel DH77EB | i5-3570K | GTX 1060 6GB | 16GB DDR3 | TJ08-E | RM750X
Server: ASRock N3150-ITX | ~30TB | G-360 | Idle ~25W

fjf
Posts: 192
Joined: Wed Apr 06, 2005 9:44 am
Location: Europe

Post by fjf » Mon Jun 21, 2010 10:21 am

I have one wd20eads running ubuntu 10.04. Thre is no reason (other than getting annoyed by partitioning problems) to purchase an ears model at this time. My eads does not park the heads so much:

Code: Select all

9 Power_On_Hours          0x0032   100   100   000    Old_age   Always       -       428
 10 Spin_Retry_Count        0x0032   100   253   000    Old_age   Always       -       0
 11 Calibration_Retry_Count 0x0032   100   253   000    Old_age   Always       -       0
 12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always       -       9
192 Power-Off_Retract_Count 0x0032   200   200   000    Old_age   Always       -       3
193 Load_Cycle_Count        0x0032   200   200   000    Old_age   Always       -       875

faugusztin
Posts: 450
Joined: Mon Mar 29, 2010 2:47 am
Location: Bratislava, Slovak Republic

Post by faugusztin » Mon Jun 21, 2010 10:28 am

@fjf: No reason ? Well, there is one very good reason - some shops or even countries don't have EADS series anymore (for example you can't find them in my country).

And just for info, neither does my WD20EARS park much (with one hour spindown time):

Code: Select all

ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  4 Start_Stop_Count        0x0032   100   100   000    Old_age   Always       -       165
  9 Power_On_Hours          0x0032   098   098   000    Old_age   Always       -       2165
 12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always       -       25
192 Power-Off_Retract_Count 0x0032   200   200   000    Old_age   Always       -       13
193 Load_Cycle_Count        0x0032   200   200   000    Old_age   Always       -       434

fjf
Posts: 192
Joined: Wed Apr 06, 2005 9:44 am
Location: Europe

Post by fjf » Mon Jun 21, 2010 1:33 pm

Forgive me!. I didnt mean to offend your EARS drive ;)

faugusztin
Posts: 450
Joined: Mon Mar 29, 2010 2:47 am
Location: Bratislava, Slovak Republic

Post by faugusztin » Mon Jun 21, 2010 2:06 pm

fjf wrote:Forgive me!. I didnt mean to offend your EARS drive ;)
Offended ? Bah. I just pointed out that currently it is not a matter of preference as you often can't choose if you want EADS or EARS - you can get only EARS.

gandrusz
Posts: 15
Joined: Tue Apr 10, 2007 6:09 am
Location: London

Post by gandrusz » Tue Jun 22, 2010 2:51 am

I should have included more details, sorry. I have WD15EARS. The load cycle count after 4 months of usage:

193 Load_Cycle_Count 0x0032 185 185 000 Old_age Always - 45122


The 4kb sectors DO cause issues in Linux, because the drive reports 512b sector size. So if your partitioning program doesn't align the partitions with 4kb real sector boundary, the disk internally will do more drive access then necessary.

faugusztin
Posts: 450
Joined: Mon Mar 29, 2010 2:47 am
Location: Bratislava, Slovak Republic

Post by faugusztin » Tue Jun 22, 2010 3:46 am

Well, i used Arch linux, where you partition your hard drive manually :) (and i alligned them to sector 2048 to be safe).

Code: Select all

[root@filebox ~]# fdisk -lu /dev/sde

Disk /dev/sde: 2000.4 GB, 2000398934016 bytes
81 heads, 63 sectors/track, 765633 cylinders, total 3907029168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

   Device Boot      Start         End      Blocks   Id  System
/dev/sde1            2048  3907029167  1953513560   83  Linux
[root@filebox ~]# fdisk -lu /dev/sdc

Disk /dev/sdc: 2000.4 GB, 2000398934016 bytes
81 heads, 63 sectors/track, 765633 cylinders, total 3907029168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

   Device Boot      Start         End      Blocks   Id  System
/dev/sdc1            2048  3907029167  1953513560   83  Linux

graysky
Posts: 147
Joined: Fri Sep 16, 2005 4:14 pm
Location: My desk

Post by graysky » Tue Jun 22, 2010 5:09 pm

faugusztin wrote:Well, i used Arch linux, where you partition your hard drive manually :) (and i alligned them to sector 2048 to be safe).
Why not align to 64? As I understand it, you have to do it to a number divisible by 8, no? Also, can you post a link to the procedure you used to partition the drive?

Can you run smartctl -a /dev/sdX and post the output? I'm curious about the number of load_cycle_counts per total power on hours for you. I too have an Arch server and will be installing an EARS drive on it soon.

Thanks!

faugusztin
Posts: 450
Joined: Mon Mar 29, 2010 2:47 am
Location: Bratislava, Slovak Republic

Post by faugusztin » Tue Jun 22, 2010 10:32 pm

http://thunk.org/tytso/blog/2009/02/20/ ... lock-size/

Code: Select all

fdisk -H 224 -S 56 /dev/sdb
That was one of the first results to "fdisk 4k align" google search, i never seen gandrusz's links before he posted them, but i knew beforehand that i must align the drives (i have few SSD's, so align problem was known to me).

And smartctl - look 5 posts above yours ;).

Code: Select all

9 Power_On_Hours          0x0032   100   100   000    Old_age   Always       -       428 
193 Load_Cycle_Count        0x0032   200   200   000    Old_age   Always       -       875
I used the "hdparm -S 242 /dev/sdc" command to set a 1 hour spindown time, plus since some drives i have in file server doesn't support hdparm -S at all, i also installed the hd-idle utility which makes the drives spin down via hdparm -y command (which allways works).

graysky
Posts: 147
Joined: Fri Sep 16, 2005 4:14 pm
Location: My desk

Post by graysky » Thu Jun 24, 2010 1:08 pm

Thanks for the hdparm -S 244 suggestion. I just installed my wd20ears and found that the lcc was counting up. 23 in a few min. That command halts this retarded behavior. Do you add it to your /etc/rc.local or something to fix it at boot? My understanding is that the hdparm commands do not survive a reboot.

faugusztin
Posts: 450
Joined: Mon Mar 29, 2010 2:47 am
Location: Bratislava, Slovak Republic

Post by faugusztin » Thu Jun 24, 2010 2:06 pm

In my case they survived the reboot, but if you want to be sure you can of course put them into /etc/rc.local.

Vicotnik
*Lifetime Patron*
Posts: 1822
Joined: Thu Feb 13, 2003 6:53 am
Location: Sweden

Post by Vicotnik » Thu Jun 24, 2010 2:43 pm

[quote="graysky"My understanding is that the hdparm commands do not survive a reboot.[/quote]
I use /etc/hdparm.conf to make the stuff permanent.
Main: ASRock B85M-ITX | i3-4330 | 16GB DDR3 | Intel 730 240GB | HDPLEX H1-S | picoPSU | No moving parts | Idle 13.9W
HTPC: ASRock J4105-ITX | 4GB DDR4 | Intel 535 120GB | picoPSU | No moving parts
Gaming: Intel DH77EB | i5-3570K | GTX 1060 6GB | 16GB DDR3 | TJ08-E | RM750X
Server: ASRock N3150-ITX | ~30TB | G-360 | Idle ~25W

graysky
Posts: 147
Joined: Fri Sep 16, 2005 4:14 pm
Location: My desk

Post by graysky » Thu Jun 24, 2010 3:49 pm

@vic - can you post the contents of your /etc/hdparm.conf?

Vicotnik
*Lifetime Patron*
Posts: 1822
Joined: Thu Feb 13, 2003 6:53 am
Location: Sweden

Post by Vicotnik » Thu Jun 24, 2010 5:01 pm

There's lots of documentation and examples in that file. This is an example of how that file might look like.
Main: ASRock B85M-ITX | i3-4330 | 16GB DDR3 | Intel 730 240GB | HDPLEX H1-S | picoPSU | No moving parts | Idle 13.9W
HTPC: ASRock J4105-ITX | 4GB DDR4 | Intel 535 120GB | picoPSU | No moving parts
Gaming: Intel DH77EB | i5-3570K | GTX 1060 6GB | 16GB DDR3 | TJ08-E | RM750X
Server: ASRock N3150-ITX | ~30TB | G-360 | Idle ~25W

graysky
Posts: 147
Joined: Fri Sep 16, 2005 4:14 pm
Location: My desk

Post by graysky » Fri Jun 25, 2010 12:44 pm

Thanks for the info. My distro doesn't install the /etc/hdparm.conf by default. I was thinking to just call a script in the /etc/rc.local to setup the timeout.

vindicator8
Posts: 15
Joined: Sun Aug 08, 2010 6:02 am
Location: cz

Re:

Post by vindicator8 » Thu Oct 21, 2010 12:37 am

fjf wrote:I have one wd20eads running ubuntu 10.04. Thre is no reason (other than getting annoyed by partitioning problems) to purchase an ears model at this time. My eads does not park the heads so much:
Don´t be so sure. All of Caviar Green drives I had did not report any problem with load_cycle_count. But. All of them produced very silent "click-click sound" every 8 seconds. After using wdidle utility, that quiet sound disappeared. I guess WD solve the load_cycle_count problem by very ugly hack. They just crippled SMART table not to count real load and unload cycles. The bound that value with power on/off state thus the only time +1 is added to load_cycle_count is when drive is powered off and on. :wink:

I would not trust Caviar Green line anymore!

Post Reply