Some Testing with BTRFS
BTRFS is a new filesystem with some interesting features.
It’s still new but has been supported for a while in Fedora, but I’ve just recently decided to play with it.
It seems to be intended to be an open source replacement for ZFS. While a great filesystem, ZFS’ license has issues that keeps it from being used in Linux.
So Oracle introduced btrfs which is suppose to have similar features, but solve the licensing issues.
So I formatted a 1 TB disk and used it as my home directory for a while. While, I didn’t suffer any data loss from it, it did make somethings feel slow. So I did some performance tests. I compared ext4, ext4 on an LVM, /tmp which was is a ram disk, and my BTRFS home directory.
I used the UNIX benchmark originally from Byte. The results were a bit surprising.
As you can see, BTRFS is slow compared to the rest. I’ll admit, I was surprised that the RAM disk wasn’t faster.
Then there is the issue of management. BTRFS has all kinds of cool abilities, but alas, you have to make custom tools.
So I wrote two shell scripts that run via cron once a day. The first one makes snapshots and rotates them, and one that just checked the status and send an email ( via stdout and cron ).
They are both available in the Github Repository:
Update 3/5/2014: Due to oddities with SELINUX, I’ve decided to go back to LVM and ext4 for my home directory for the time being. Perhaps when I build my next system in a few years I’ll migrate over to BTRFS.
Update 5/16/2015: The scripts have been moved to the above referenced Github repository.
Update 2020: xfs on LVM appears to be the way of the future.
Update 2022: Yet for some reason, BTRFS is now the default in Fedora