Boston Linux & Unix (BLU) Home | Calendar | Mail Lists | List Archives | Desktop SIG | Hardware Hacking SIG
Wiki | Flickr | PicasaWeb | Video | Maps & Directions | Installfests | Keysignings
Linux Cafe | Meeting Notes | Blog | Linux Links | Bling | About BLU

BLU Discuss list archive


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Discuss] Adventures in N40L Land



I mentioned poor zfs-fuse performance.  Turned out I was on the right track with the partition alignment so I tried properly aligned GPT partitions.  That didn't work -and- it triggered a spam of kernel warnings due to improper IOCTLs on disk partitions.

It turns out that ZFS itself doesn't know how to align on 4K disks at all, partitioned or otherwise.  There are proposed solutions which all boil down to setting the ashift option.  A proper solution hasn't worked its way into zfs-fuse, yet.  Instead, I dug up a one-line change to zpool_vdev.c that forces ashift=12 (4K alignment) and recreated my RAID-Z pool.  The result: sustained write performance has gone from 10MB/s to 30MB/s.  Not a bad gain for a simple fix (and a few hours of digging for it :).

The fix.  Find this line in zpool_vdev.c

  verify(nvlist_add_uint64(vdev, ZPOOL_CONFIG_IS_LOG, is_log) == 0);

Add this line immediately after it:

  verify(nvlist_add_uint64(vdev, ZPOOL_CONFIG_ASHIFT, 12) == 0);

and compile.

--Rich P.




BLU is a member of BostonUserGroups
BLU is a member of BostonUserGroups
We also thank MIT for the use of their facilities.

Valid HTML 4.01! Valid CSS!



Boston Linux & Unix / webmaster@blu.org