% fortune -ae paul murphy

X-Raid vs. ZFS

Okay, forget elegance and prettiness - lets check out what happens if you just want to attach a bunch of disks to your Solaris machine. Specifically, lets pretend you need a net 800GB of storage for a database containing mainly paired images sets and vectors that you plan to manage off a Sun 890z via PostGres.

The machine has two dual channel 4GB/S FC PCI-E controllers installed, so the question is: ZFS with JBOD (just a bunch of disks) or Apple Xserve RAID?

An Apple Xserve RAID package with 3.5TB configured from fourteen 250MB SATA disks with dual 512MB, battery backed, caching controllers, costs $10,949 all in.

Setup and administration is via the Xserve RAID Admin Tool. Since this is 100% java, it works out of the box, picks up the embedded controller information from Solaris, and offers a point and click interface via the network. Like most java products I wouldn't call it pretty, but it's effective and dead simple to use.

Setting up RAID 0+1 on a 1.2TB working volume is a matter of clicking a few buttons while read/write enabling the caches and setting prefetch to its maximum (8MB, 128 "stripes" per disk) is equally straightforward.

It takes a very long time to finish initialization, but when it does, Solaris can see it as just one big disk -meaning that database installation and operational procedures are unaffected by the nature of the device.

The alternative is to use a JBOD - just a bunch of disks in a box with dual power supplies- and ZFS with either mirroring or RAID.

Since I have this hangup about warranties and surprises I really don't want to buy a no brand JBOD for this and therefore look at the Sun 3511 FC array with two pairs of 500GB drives and a standby for a total of $20,495. Since that's nearly twice what Apple charges I'm not likely to pay this, but it's reasonable to expect that Sun will soon be introducing a JBOD tailored specifically to ZFS - i.e. one that ships with two controllers that go in your computer, but has essentially no smarts beyond the hot swap controllers in the disk box and that unit, when it comes along, should be at least competitive with Apple's array.

Setup and configuration with ZFS can be done via a browser or the command line. In this case

% zpool create imagedb mirror [list of disks]
% zfs create -V [Size]g postgres
Note: this is from the manual I don't have a ZFS JBOD to actually try this on.

Is about what's needed to create an interface to the mirrored disk set and gets "/dev/zvol/rdsk/imagedb/postgres" ready for use.

At this point you can just go ahead and install the database - and if you've ever been forced to walk thorugh an EMC or Veritas set-up the simplicity here should amaze you.

Of course ZFS does have a few more tricks - including much more fine grained control -but for that you should read the documentation.

One of those fun tricks is something that I've never seen outside the original UCB PostGres development environment for what became Illustra - the first object relational database. Illustra could time-stamp -meaning that you could look at the data as it was at some arbitary date in the past. Speak nicely to ZFS and it can too -making it a lot more than just another file system and enabling it's unique backup capability: shut ssh another incarnation of the thing on some other bunch of disks.

Right now Sun doesn't offer anything competitive with the Apple X-RAID, but when they do decide to sell a ZFS specific bunch of disks you can expect it to be price competitive and fundamentally far more useful than anything else out there - including today's winner: the Apple X-RAID.


Paul Murphy wrote and published The Unix Guide to Defenestration. Murphy is a 25-year veteran of the I.T. consulting industry, specializing in Unix and Unix-related management issues.