Wednesday December 09, 2009 at 06:33
Subject: 18 months of ZFS-FUSE
Keywords:
Linux, ZFS
Posted by: Sean Reifschneider
Related entries:Putting it all together: The Ultimate Storage Box by Sean Reifschneider, Monday July 07, 2008 at 02:44
6 Months of ZFS in Linux by Sean Reifschneider, Saturday January 24, 2009 at 19:38
My "Ultimate Storage Box" has been in service 18 months now, so I
thought I'd do a status report. Particularly as ZFS-FUSE still kind of has
a "bad rap" as being a kludge. Which, you know, it kind of is... But it's
the only option Linux users have for a modern file system (ext4 is just,
IMHO, basically a polishing of the Berkeley FFS from 1983). I wish we
could have ZFS in the kernel, but the powers that be have decided that will
never happen. And btrfs is still years away (in the last month it did get
the ability to remove snapshots finally, yay!).
Read on for my experiences over the last 18 months with ZFS-FUSE.
The short answer is that it has not been trouble-free, but the
benefits have outweighed the issues for my specific use: A large storage
server.
First of all let me say that I am running a very old version of
ZFS-FUSE now. I picked up the version at the head of the ZFS version
control when I deployed the system, as it had many important fixes over the
then-current 0.4.0 release (IIRC). I have not kept up with new releases
because I just didn't want to risk having to start over from scratch.
I haven't had any data loss. The file-system has worked well, with
the only issues being that about monthly the zfs-fuse daemon has died and
needs to be restarted. It has always just picked up from where it left off
when I had to restart it.
In addition to the file storage, I also had been running backups to
the system of a number of the systems at my house and a couple of servers
at our hosting facility. I would do an rsync, and then take a snapshot. I
had tools that would go through and delete the old snapshots such that I
kept a year of monthly backups, 6 weeks of weekly, and 2 weeks of daily
copies.
I had to disable the backups around 2 months ago, because all these
snapshots started causing the zfs-fuse daemon to die every few days if I
tried to manipulate them. They are still there, I'm just not actively
writing to them or creating/deleting snapshots. Since disabling backups, I
don't believe I've had a single instance of zfs-fuse dieing.
Note that I'm not considering this a ZFS-FUSE issue -- as when I was
running native ZFS (before this storage server), I also had problems with
this same usage pattern -- though in that case the whole system would
reboot as opposed to just having to stop and restart ZFS.
One rather interesting thing has been that ZFS has occasionally
detected and corrected errors on the discs. Weekly on Sunday I have it set
up to do a "zpool scrub", which goes through and checks the data on the
discs against the expected checksums. A couple of times over the 18 months
I've noticed that during normal operation the "zpool status" has shown
checksum errors. So in that respect I feel like ZFS has been beneficial in
preventing what would otherwise likely have been silently corrupted data.
A word about performance. It's not that good. But for my use it is
definitely acceptable. I really don't have serious performance demands for
it. The biggest issue I've noticed is that somehow it doesn't cache
directory information. So if I do a "du" of my photo collection, then I do
another one (or maybe a find on those same files), it seems to have to
re-read all that data and take several minutes. So "locate" is definitely
my friend here...
The ZFS on Crypto is working very well. I seem to have had absolutely
no issues with running ZFS on encrypted partitions. This was the primary
reason I was running ZFS-FUSE on my storage server. It's been nice having
the peace of mind that if the system gets stolen, my personal data
(like scanned documents) is relatively secure.
The external eSATA port multiplier has been working well in this case.
However, on another system I have declared that the eSATA cabling is just
too wimpy to be replied upon. It's extremely easy to disconnect the cables
by bumping them. I can't think of any cable I've used that is quite so
easy to accidentally disconnect -- probably the round power brick
connectors are a distant second place. And one of the 3 external eSATA
bays I've got seems to sporadically completely freak out and need to be
power-cycled. Luckily, not the one on my main storage server...
Memory use could have been a problem, but I had planned for it. The
storage system has 8GB of RAM in it, and the zfs-fuse process is currently
using 2.6GB of that. I was expecting it to use a lot of memory though.
One issue I was worried about was whether ZFS-FUSE was going to
continue to be maintained and upgraded after the Summer of Code project
that funded it's initial development was over. While there weren't many
releases of the code, there was definitely active development going on, so
this fear did not end up being an issue. Of course, I didn't do any
updates, so it didn't really impact me.
In conclusion, for my use, I would declare ZFS-FUSE to have been
successful, though with some bumps along the way. Considering how long it
takes file-systems to mature, I'm expecting that ZFS-FUSE is going to
continue to be the only real option for Linux users to have access to a
modern file-system for at least the next 2 years.
(Post Reply)
(Post Reply)
| Comment |
Author:
Seth Subject: zfs-fuse 0.6.0 |
check it out! Performance has increased, it supports more current features etc
| Comment |
Phobos Subject: ZFS in kernel |
"I wish we could have ZFS in the kernel, but the powers that be have decided that will never happen."
Maybe you don't have to wish too hard, as that might come true soon enough: http://kqinfotech.wordpress.com/
| Comment |
Author:
Sean Reifschneider Subject: I wish them success, but... |
I really hope they succeed at this, but so far it looks to only be a wordpress blog with a post in October and a few replies to comments over the next week or two, and then complete silence. "Check out our twitter feed for the latest developments" -- twitter seems to only have the initial announcement as well.
So, I'm not jumping for joy about this yet. ;-/
| Comment |
anon Subject: btrfs |
Any chance of an article comparing btrfs and zfs-fuse?
| Comment |
Author:
Sean Reifschneider Subject: btrfs is a ways off... |
That sort of article is still a ways off. I had attempted to do some serious use and testing of btrfs a few months ago, but at that time the ability to delete snapshots was not implemented.
They've just implemented this and it'll be in 2.6.33 (Probably Fedora 13 and Ubuntu 10.10, I've been told not in the upcoming 10.04).
At this point I'd say the comparison I'm using is that btrfs has just caught up with ZFS circa 2005. It's got very cool features and sounds very promising, but it's very young. The latter is not really something you want in a file-system. ;-)
File-systems are just hard things to get right. I'm reminded of ext3, which was just a set of changes to ext2, and that took around 4 years to get out and another couple to stabilize.
Sean