deciding UFS vs ZFS

Paul Kraus paul at
Mon Jul 21 18:44:57 UTC 2014

On Jul 13, 2014, at 15:03, Michael W. Lucas <mwlucas at> wrote:

> My virtualization system runs KVM, so I use UFS on VMs. Restoring
> ZFS disk images via dd can be problematic.

I use ZFS for the host and (generally) UFS on the guests. By using one ZFS dataset per VM and taking frequent (hourly) snapshots I have an easy way to roll a VM back to a stable state.

> For larger boxes running on real iron, I use ZFS.
> But there's a whole range of conditions between these two. And the way
> to fill in the gray spaces is to ask.
> So, how do you decide to use which filesystem?

I think this decision tree breaks in a number of ways :-) 

Desktop vs. Server is the first…

In my world physical servers get ZFS for all of the various reasons others have points out, but the biggest is the ensured data integrity. While not perfect (nothing is), it is much closer than any other open source solution at this point.

I generally do not run FreeBSD as a Desktop (nor OmniOS or SmartOS), so I don’t have a strong answer for the Desktop case.

Once you go down the Server branch there are more branches…

Physical vs. Virtual

I already stated that I like ZFS on physical hardware. ZFS gives me many handles to tune (almost too many), between:

basic vdev layout and configuration: mirrors, raidz<n>, how many vdevs, etc.

compression: I have seen compression make a 5 fold increase in performance, I have also seen it reduce performance, it all depends on your work load, CPU horsepower, and memory bandwidth.

dedupe: for certain very specific workloads it can make a huge improvement, for all the others it generally causes more trouble than it is worth

default block size: this one generates more debate than all of the others combined, suffice it wo say, test with *your* data and choose wisely

L2ARC and ZIL devices: lots more misinformation out there; mirroring L2ARC is only occasionally of benefit, ZIL *must* be mirrored, but only benefits SYNC writes. Know your workload and adjust accordingly.

For Virtual systems I have used both (ZFS and UFS) and have had no real negative (or positive) experiences.

Then you get into the Type of Server (be it physical or virtual):

End User Mail servers (IMAP, etc.) represent a very different workload than traditional DB servers, but I still like ZFS for the ease of management and tune-ability.

NOTE: I spent over 10 years managing Solaris systems and storage and ZFS was a welcome change that greatly simplified storage management … at a cost. I had many more ways to recover a SLVM/UFS filesystem than I do a ZFS dataset. Part of that is maturity, when ZFS is as old as UFS I’m sure it’ll be there too :-=)

Paul Kraus
paul at

More information about the freebsd-questions mailing list