Thursday, November 19, 2009

[BLUG] ZFS: the future of computing?

I've been testing and evaluating ZFS over the last several days, and
I've been thoroughly impressed. ZFS is one of those products where there
is so much attention to little details that it is literally a joy to
use. This is Sun's masterpiece!

I'm only testing ZFS in an OpenSolaris VM for now so I can't report
really back on performance and resource consumption, but from what I can
gather there are a lot of people who consider ZFS to be highly stable,
some companies and universities using it on production servers, and as
you know it is the default file system in OpenSolaris. That being said,
here is why I've been so impressed with it...

ZFS seems to sort of combine LVM and hardware RAID into a single
product. It even includes a mini-NFS and iSCSI client for very easy file
system sharing, it will automount all of your file sytems at boot so
that you don't have to much around with the Solaris equivalent to fstab,
and the interface is very thoughtful and easy-to-use with so many little
thoughtful features and little touches that make life easy. In fact, it
is so straight forward that it would be very easy to wrap a
configuration GUI around, I think, and hence the subject of this message...

One of the biggest problems with consumer PCs are the fact that the
machine is dependent on a single disk which are prone to going bad.
Given the availability of high capacity 2.5" SATA disks and Flash
increasing in capacity and reducing in size constantly, isn't it only a
matter of time before it makes sense to ship computers (even laptops)
with multiple disks? It is so incredibly easy to setup a mirror of your
filesystem in ZFS, and with a hot spare in your storage pool you can
automatically set it up to failover and notify you. Perhaps someday
storage in a PC will be as simple as it is with a digital camera or
something? I don't see how this sort of thing would be that far off...

The other incredibly nice feature of ZFS that is a huge net gain for
almost all of us is its snapshot ability. Snapshots are block level,
meaning that whenever a file is changed you don't need to keep a
complete copy of that file, a mess of hard links and all of that sort of
stuff you'd find in a solution such as Apple's Time Machine or many of
the backup snapshot solutions we concoct with shell scripts. Taking
snapshots is *incredibly fast*, incredibly easy to manage, and you can
browse these snapshots without having to create new inodes and hard
links - these are, as I understand it, simply very low level references
to files, but not files themselves. Still, you can copy individual files
from snapshots as you would copy any file, or restore an entire file
system from a snapshot. This is so easy to do and takes up so little
disk space that not only is this a great way to do backups, but it is
also a great way to create yourself an "oh shit" safety net should you
want to back out of an update that has gone bad, etc.

I could go on about the many features and nice aspects to using ZFS,
features like self healing, zpool iostat, etc. It's pretty cool stuff,
but I'll leave my gushing for another time. Like I said, I'm just
speaking to the features here...

Still, I wanted to see what you guys thought about the future of modern
file systems such as ZFS? I realize that it will be a long time before
BTRFS is ready, perhaps even longer for this sort of thing to make its
way to OS X and/or Windows, but now that the bar as been set I'm sure it
is only a matter of time before the copycats emerge. However things end
up, who owns what, licenses, product names, etc. This seems like a very
big deal to me. It is definitely changing the way I think of my data,
and I'm surprised how easy it is to setup a storage appliance like the
one I'm testing.

OpenSolaris is actually pretty nice. There are a few proprietary Sun
things included, but a lot of it seems pretty familiar to me - bash,
Gnome, etc. I would say that if you are looking for a storage solution
that OpenSolaris shouldn't really be a deterrent. FreeBSD 8 is in RC3,
and it will include full ZFS support (previous versions include partial
support), so this is another option.

Any other ZFS users/enthusiasts here?

--
Joe Auty
NetMusician: web publishing software for musicians
http://www.netmusician.org
joe@netmusician.org
_______________________________________________
BLUG mailing list
BLUG@linuxfan.com
http://mailman.cs.indiana.edu/mailman/listinfo/blug