← Back to team overview

sony-vaio-z-series team mailing list archive

Major RAID speed improvement (for advanced Linux users)

 

Hi all,

First some numbers. Here's the holy grail of Linux VAIO Z performance:

=== Before ===

~ # hdparm -tT /dev/mapper/isw_xxxxxxxxx_Volume0

/dev/mapper/isw_xxxxxxxxx_Volume0:
 Timing cached reads:   9266 MB in  2.00 seconds = 4635.03 MB/sec
 Timing buffered disk reads:  638 MB in  3.00 seconds = 212.46 MB/sec

=== After ===

~ # hdparm -tT /dev/md0

/dev/md0:
 Timing cached reads:   9172 MB in  2.00 seconds = 4587.73 MB/sec
 Timing buffered disk reads:  1514 MB in  3.00 seconds = 504.33 MB/sec


How can that be?  Well the trick is to stop using the built-in "Fakeraid"
code from the BIOS, and switch to Linux software RAID instead.

The awesome thing is, with recent kernels and recent "mdadm" versions, you
can keep the BIOS-compatible (and natively bootable) Intel RAID metadata. So
it's just another (and better) way of accessing the same RAID volume.

First of all, you can try the new software RAID methods without taking
risks:  just download the latest Gentoo 64-bit ISO image and boot with it.
Your RAID array should function as a Linux software RAID volume, usually
/dev/md126.

To replicate this great thing into your existing Linux installation, you
need to do "mdadm -Ebs" (on the bootable CD) and copy the results into
/etc/mdadm.conf on your Linux installation.

Then (and it's the only difficult part) you probably need to modify your
INITRD in order to use the same "mdadm.conf" file and load it with a static
build of "mdadm".  Many INITRD images (well at least on Gentoo) will include
the "Busybox version" of mdadm, which does *not* support Intel metadata.

Modifying the INITRD is mostly a matter of gunzip, cpio, then replace
/sbin/mdadm and /etc/mdadm.conf with your own versions, then change the init
script to call "/sbin/mdadm -As" (and possibly "/bin/vgscan" right after)
and then pack it up with cpio and gzip again. Then copy the resulting INITRD
into /boot and finally, try it.

It took me 2 whole evenings of research and trial, until I came up with this
method :-)

Oh, just one thing:  TRIM on MD (Linux software RAID) is not supported yet,
but it's just a software limitation and will probably be added to the kernel
soon.

By the way, just a question:  did anyone manage to use ATA133 (instead of
ATA100) for the SSD disks?  The AHCI driver seems to use ATA100 on my Z13.

Have fun !

Joël

Follow ups