On Sat, Dec 18, 2010 at 23:32, Klistvud <quotati...@aliceadsl.fr> wrote: > Attention: long post ahead! > I don't use line wrapping because it breaks long URLs. If that makes you or > your e-mail client cringe, you may as well read this at > http://bufferoverflow.tiddlywiki.com instead (same text, nicer formatting). > > First of all, let me thank all of you who responded. As promised, I am > giving feedback to the list so that future purchasers of Western Digital WD > EARS/EADS models and similar "Advanced Format" hard drives may benefit. > > The first thing of notice is that the Load_Cycle_Count of the drive heads > increases every 8 seconds by default. As seen on the Internet, this may pose > a problem in the long run, since these drives are "guaranteed" to sustain a > limited number of such head parking cycles. The number given varies from > 300.000 to 1.000.000, depending on where you look. The first thing I did > was, therefore, launch a shell script that wrote something to the drive > every second. Not being content with this dirty workaround, I proceeded to > download the WD proprietary utility wdidle3.exe, and the first link obtained > by googling for "wdidle3.exe" did the trick: > http://support.wdc.com/product/download.asp?groupid=609&sid=113 > I then proceeded to download a freedos bootable floppy image and copied it > to a floppy disk using dd. Once the bootable floppy was thus created, I > copied wdidle3.exe thereto. > Reboot computer, change BIOS boot order to floppy first, save&exit, the > floppy boots and I run wdidle3.exe. The utility offers three command-line > switches, for viewing the current status of the Load_Cycle_Count parameter, > for changing it, and for disabling it. No drive is specified, so if you > change/disable the parameter, you are doing this to ALL and ANY WD drives in > your system. I chose to disable head parking, and since I also have an older > 160GB WD IDE disk in the box, the utility disabled head parking cycles for > BOTH drives. > Except that ... there be problems. As opposed to the old 160 GB drive, the > setting didn't work for the new 2 TB drive. Instead, the frequency of the > load cycles increased 16-fold, to a whopping 7200 cycles per hour! This > quickly increased my Load_Cycle_Count parameter (checked by issuing smartctl > --all /dev/sda) by several thousand ticks overnight. Interestingly enough, > the drive loaded and unloaded its heads at the amazing rate of twice per > second even while sustained copying was underway (copying a 10 GB directory > subtree from one drive to another). I didn't notice the increased cycle > count until the next morning, however. When I did, I rebooted the machine > with the freedos floppy again and set the interval from "disabled" to "every > 300 seconds", which appears to be the maximum interval allowed. It would > seem that, for the time being at least, this made the Load_Cycle_Count stay > put at 22413. Whew! > So, setting this bugger straight is probably the first thing you'll want to > do after getting one of these WD drives. > > Now, the second issue: the hardware/logical sector alignment. > Since it will affects real-world transfer speeds, let's first check out the > theoretical speeds of this drive in this particular environment -- a 3GHz > Pentium-IV motherboard with a humble integrated SATA controller (I think > it's an early SATA-I generation). > > Before partitioning and formatting: > > obelix# hdparm -tT /dev/sda > > /dev/sda: > Timing cached reads: 1726 MB in 2.00 seconds = 713.98 - 862.86 MB/sec > (several iterations performed) > Timing buffered disk reads: 336 MB in 3.01 seconds = 100.01 - 111.72 > MB/sec (several iterations performed) > > After partitioning the drive, aligned on modulo 8 sector boundaries: > > obelix:# hdparm -tT /dev/sda > > /dev/sda: > Timing cached reads: 1264 MB in 2.00 seconds = 631.97 MB/sec > Timing buffered disk reads: 252 MB in 3.08 seconds = 81.80 MB/sec > > Hmm, while we're at it, why don't we also check the antiquated 160 GB drive > on the obsolete IDE interface? > > obelix# hdparm -tT /dev/hda > > /dev/hda: > Timing cached reads: 1348 MB in 2.00 seconds = 674.14 MB/sec > Timing buffered disk reads: 206 MB in 3.02 seconds = 68.26 MB/sec > > Well, so much for the alleged superiority of serial ATA over IDE... > > Anyway. I have to prepend here that, Squeeze still not having reached > stable, all of the following was performed on a stock Lenny i386 system (the > reason being I have no Squeeze system yet). So, many of the following points > may become obsolete in a matter of weeks when Squeeze, with a newer kernel > and updated partitioning tools, reaches stable. > The first thing is, fdisk in Lenny doesn't support GPT partitioning, so I > had to use parted. I first used its Gnome variant, GParted, and must say > that it cant't align the partitions. Even if you align the first sector by > hand (in parted, since GParted can't do it) and de-select the "Round to > cylinders" option in GParted as recommended in > http://www.ibm.com/developerworks/linux/library/l-4kb-sector-disks/index.html > (which was my main guide and reference in this adventure), GParted will end > your partition on an aligned sector -- which means that, by default, the > next partition will start on a non-aligned sector again. Be as it may, I > then proceeded to use the new partitions created by GParted, doing some > cursory "benchmarks". The typical copy speed reached in mc was about 20 > MB/s, while rsync reported speeds of up to 51MB/S. Rsync reached a maximum > 51MB/s on unaligned partitions, when copying from hda (WD1600AAJB) to sda > (WD20EARS). > > Then I tried to re-align my partitions by manually calculating the starting > sectors of all the partitions so as to have them divisible by 8. This could > only be done in parted, not in GParted. On the other hand, parted couldn't > create ext3 filesystems, so manually created partitions had to be > subsequently formatted in GParted. In short, a combination of both tools had > to be used to successfully create AND format the partitions. Here's my final > result as seen in parted (fdisk doesn't understand GPT): > > (parted) print > Model: ATA WDC WD20EARS-00M (scsi) > Disk /dev/sda: 3907029168s > Sector size (logical/physical): 512B/512B > Partition Table: gpt > > Number Start End Size File system Name Flags > 1 128s 8194055s 8193928s linux-swap 2 > 8194056s 49154055s 40960000s ext3 primary 3 > 49154056s 90114055s 40960000s ext3 primary 4 > 90114056s 1998569479s 1908455424s ext3 primary 5 > 1998569480s 3907024064s 1908454585s ext3 > > I was just curious if aligned partitions would yield any noticeable speed > improvement (especially in the file write department, since file reads, > according to the above IBM article, should not be that heavily hit by > misalignment). The "benchmarks" I performed, consisting in copying random > files from the other drive to the WD20EARS using mc and rsync, generally > yielded something between 15 and 35 MB/s, sometimes falling under 10 MB/s > and at times going as high as 56 MB/s; the latter figure, however, was > usually reached in the initial moments of a large file rsync (an Ubuntu CD > ISO file) and would decrease after several seconds to about 40 MB/s, so it > may very well be due to the 64MB cache on these drives. Just for the heck of > it, I decided to re-align the partitions modulo-64, thus: > > Partition Table: gpt > > Number Start End Size File system Name > Flags > 1 128s 8194047s 8193920s linux-swap linux-swap > 2 8194048s 49154047s 40960000s ext3 ext3 > 3 49154048s 90114047s 40960000s ext3 ext3 > 4 90114048s 1998569472s 1908455425s ext3 ext3 > 5 1998569473s 3907024064s 1908454592s ext3 > Rsyncing the good old ubuntu ISO file yielded transfer rates of around 60 > MB/s, with the exception of the last partition, which was written to at > under 50 MB/s. It made me wonder. I checked the mount options in fstab, > double checked that the CPU governor was set to max performance, all to no > avail. Then, I fired up parted again and noticed that the 5th partition was > actually one sector off. I corrected my error thus: > > Partition Table: gpt > > Number Start End Size File system Name > Flags > 1 128s 8194047s 8193920s linux-swap linux-swap > 2 8194048s 49154047s 40960000s ext3 ext3 > 3 49154048s 90114047s 40960000s ext3 ext3 > 4 90114048s 1998569471s 1908455424s ext3 ext3 > 5 1998569472s 3907024064s 1908454593s ext3 ext3 As > expected, the rsync results for the last partition became consistent with > the other partitions (i.e. around 60 MB/s). > > Conclusions: > By default, these WD drives are not Linux-ready. They do work out-of-the > box, but are not configured optimally speedwise. Given that we're talking > about "green" (marketing mumbo-jumbo for "slow") drives, this additional > performance hit is noticeable and quite undesirable. By aligning the > partitions on 8-sector boundaries, the transfer speeds are improved by > almost 20%; aligning them on 64-sector boundaries doesn't yield further > noticeable improvements though. Or, more precisely: the tests I performed > were too coarse to substantiate potential small differences, because as > differences become smaller, other factors, such as the CPU governor used, > fstab parameters, or actual load on the CPU at a given moment may prevail, > completely masking such small differences. The CPU governor seems to be the > most crucial of those secondary factors (see below). So, there are > indications that using 64-sector alignment "may" give a slightly better > performance over 8-sector alignment, but they are nothing more than > indications, really. Proper benchmarks would be required to ascertain that. > > Curiosa: > All testing was done with a ~700-MB ISO file; copying many smaller files may > (and will) incur additional performance hits. > Dropping the CPU governor to powersave reduced file writes to under 20 MB/s > and less, which means to about a third of the maximum speed achievable. > Mount options for the partitions, and the performance of the source disk are > also major factors in these tests. In my case, the source from which the > files were copied was an oldish 160 GB WD IDE drive (model WD1600AAJB). > The only downtime needed was about 10 minutes -- the time it took to > actually install the drive into the chassis; had WD provided a tool for > online modifying the drive's S.M.A.R.T. Load_Cycle_Count parameter, no > further reboots would be needed, i.e. once the hard drive was installed, it > could be taken to production use without as much as a single reboot. Due to > my own mistake, however, a superfluous reboot was needed. Namely, while > messing with parted and gparted and modifying partition sizes, at one point > I forgot to unmount the partitions before deleting the partition table in > parted. After that, I kept getting the warning that a reboot would be > required for the kernel to re-read the partition tables, preventing me from > creating the last two filesystems and wrapping it up. Neither umount nor > swapoff would help. Instead of digging for the offending process and > killing/restarting it, I preferred to reboot the system, since it wasn't in > use at the moment anyway. > Beside the physical installation of the drive in the chassis, which was done > during off hours, virtually everything else was done remotely via ssh, > without interrupting the work of the currently logged-in user. To enable > graphical tools such as GParted to be used, ssh was run with the -XC option, > and then GParted was launched remotely by issuing "gksu gparted". The > flexibility of GNU/Linux is simply mind-boggling. > I have no kind words for WD. Their drives as provided are severely > underoptimized for GNU/Linux. On the drive label and on their site they > state that no further configuration is required for using the drive in > Linux; which is quite simply untrue. In addition, the head parking feature > is heavily flawed, and is only accessible via a DOS proprietary tool, and > only by taking the entire system offline. I am quite disappointed in WD, but > am thoroughly confident that the GNU/Linux community will provide for the > WD's shortcomings, as always. We'll see what hdparm and smartmontools in > Squeeze will bring along. The Lenny versions are too old to be of much use > with this disk (for example, the hdparm -B command doesn't work). > The foregoing user experience is nothing more than that -- a user > experience; copying a handful of files is not to be considered a "test" or > "benchmark" in any meaningful sense whatsoever, so take it with a huge lump > of salt! > Happy computing! >
Thanks, Klistvud. I just purchased a WD10EARS (1 TB drive) and I noticed that my writes are _slow_. I think that it may be a KDE issue, there even is an open KDE bug that copy/paste is vry slow. But even copying via cp I feel that it's not moving, I need to benchmark the drive. Your post gives me some other things to check and configure. Thank you! -- Dotan Cohen http://gibberish.co.il http://what-is-what.com -- To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/aanlktikvu53e50dhmktrn=yk-w03pa0x14nq-qvjz...@mail.gmail.com