« 9 reasons to port btrfs *now* | Main | zfs root »

March 06, 2009

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

felix

you should've taken DragonFlyBSD's Hammer FS into the comparison as well, imho.

codestr0m

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. :)

Robert Milkowski

Online resizing in ZFS - actually you can dynamically (online) grow a pool, you can't shrink it yet.

LX

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.

codestr0m

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?

The comments to this entry are closed.

The postings on this site are my own and don't necessarily represent NetSyncro.com Inc's positions, strategies or opinions.

OpenSolaris is a trademark of Sun Microsystems, Inc.