zfs vs btrfs comparison
To be completely honest this is a high level best effort feature
comparison between zfs and btrfs. (I'm trying to be as unbiased as
possible) While zfs has years of being used in production I think
btrfs is quickly adding a large comparable feature set. Nothing is
perfect or instant so corrections and updates are *most* welcome. (This
includes how I've worded things) Check my about page for contact
details. As I have time I'll try to publish more detailed descriptions
of each file system. (Selfish note: I'm also interested to porting
btrfs or zfs under a more liberal license if anyone wants to sponsor
the effort or needs details.)
| Feature |
ZFS |
BTRFS |
| COW (copy on write) |
yes |
yes |
| Snapshots |
yes |
yes |
| Performance degradation at near 98-100% disk usage |
yes |
Currently does kernel oopse, but being worked on
and honestly will probably have similar issue. (Someone ping me when
this is fixed) |
| Block level compression |
yes |
yes. Currenly only available as a mount option. *Maintenance nightmare* |
| Full on disk encryption (file, attributes, name.. etc) |
Being worked on, but not production ready. Sun
recently revised their release schedule from May to probably some time
in 2009. (I'm just guessing on this timeline) Using solaris lofi encryption is possible in the mean-time. |
Planned, but no certain schedule. Is limited to file bodies, but ecryptfs may also offer additional options |
| Spindle write balances |
yes |
Planned - no schedule |
| Online resizing |
no (being worked on) |
yes |
| Online defragmentation |
no (ties into the same code as pool resizing so being worked on) |
yes |
| shared library interface |
libzfs |
none.. no plans, but may be possible? |
| Alternative compression capability |
yes, but would need to link into the kernel |
yes, but would need to link into the kernel |
| Aggressive file caching |
yes |
various kernel options.. (Unclear to the author what these options are or exactly do.. check /proc/sys/vm for whatever hackery) |
| Ditto block |
yes (multiple copies of metadata and files logically distributed across all spindles. Number of copies of the default is tunable.) |
metadata only |
| write checksums |
yes |
yes |
| Built-in raid (More notes below) |
0,1,10, 5 with fixes write hole (raidz), and some variant of 6 called raidz2 |
0,1 and 10 |
| Automatically turns off write cache when not controlling full disk |
yes |
no |
| Easy way to transport pools/volumes between hosts |
yes (zfs send/recieve) |
Mirroring will be available, but I don't think this is the same as zfs send/receive |
| Primary sponsoring company |
Sun™ (I think Sun™ should encourage the community to be more involved?) |
Oracle™, RedHat™, HP™, IBM™, Intel™, Novell™and Linux community |
| License |
CDDL |
GPL2 |
| ACL |
yes (pure ACL.. all files have ACL) with userland support |
yes,
but can be turned off? (but.. the gnu utils chmod and others may not have full support acl
yet.) |
| ACL model |
NFSv4 ACL | Posix |
| Endian independent | Yes.. swap a drive been sparc or intel as you wish | No |
| separate zil | Yes | No |
| separate l2arc | Yes | No |
| zfs supports case-insensitive filesystems for Windows compatibility | Yes | No |
| enforce utf-8-only filenames | Yes | No |
| direct io support | Yes | Writes yes. Reads No - Planned |
| POSIX compliant concurrent writes (single writer locks) | Yes |
No |
| Extended attributes |
Yes | Yes |
| Quotas | Yes |
Yes |
| Favorite Quote from lead developer |
"When
I take on a new problem is that I'm not interested in how it's been
done before. I only want to know, of all the constraints people tend to
assume, which ones are actually fundamental and which ones are just
habit?" Jeff Bonwick |
"something lame that gets us 85% of the way there is fine" Chris Mason |
| **Warning some opinion** RAID/volume management |
Inside ZFS |
Managed
outside the filesystem Is lvm really good at managing raid? Does it make the /problem/ more simple or add layers to the administration which are a pita |
Christopher Bergström © 2009 - Please don't reproduce without asking first.
TrackBack
TrackBack URL for this entry:
http://www.typepad.com/services/trackback/6a00e5518184188833011168c60556970c
Listed below are links to weblogs that reference zfs vs btrfs comparison:
Comments
The comments to this entry are closed.
you should've taken DragonFlyBSD's Hammer FS into the comparison as well, imho.
Posted by: felix | March 08, 2009 at 09:25 PM
While Hammer may be interesting and a good FS.. afaik it's lacking any real corporate support, the growth of DFBSD isn't that great, and it's still missing quite a bit in comparison to zfs. IOS it's not in the races.. Now of course it's not hard for me to add another column if someone is willing to email me that data. :)
Posted by: codestr0m | March 08, 2009 at 09:35 PM
Online resizing in ZFS - actually you can dynamically (online) grow a pool, you can't shrink it yet.
Posted by: Robert Milkowski | April 23, 2009 at 01:14 PM
Since Oracle is buying Sun, one has to wonder/hope that these projects might merge and provide the best of both worlds to both solaris and linux communities.
Posted by: LX | April 24, 2009 at 07:43 PM
Oracle bought Sun and all it's related technology. By doing so I'm sure they will do the same thing that Sun has been doing. Protect their investment and try to leverage good technology to increase their customer base. Remember it's all about money and not open source or the community for these large companies. So how would you compete against Redhat and others? Would you give them the edge and relicense or make your core product (middleware/database) run really fast on a UNIX certified platform and offer support?
Posted by: codestr0m | April 24, 2009 at 08:21 PM