Last week I followed a very interesting ORACLE webinar delivered by Chris Mason : The State of the BTRFS File System for Linux
BTRFS was initiated by Chris Mason who used to be responsible for Reiserfs at Suse and now works for Oracle. The first release started in 2007. BTRFS has been merged into Linux kernel in 2009. Now there are developers from REDHAT, INTEL SUSE, IBM, HP ... storage vendors. The project is very active. Ubuntu is considering to use it soon as its default filesystem. BTRFS is licensed under the GPL license. An interesting to read short summary of the life of BTRFS : A short history of BTRFS
The basic concepts of BTRFS are : copy on write, checksum, multi device management, snapshots.
The biggest single feature is the copy on write snapshotting, which is actually the basis of most of the other advanced features in the FS. Btrfs snapshots are writable and can be snapshotted again. BTRFS allow to manage many snapshots in a very efficient way.
Data and metadata checksums are also a key part of making sure we can administer the storage over time. We need to be able to detect when the disk is giving us the wrong data, and try to correct it by grabbing data from another mirror. During a RAID rebuild, Btrfs is able to only rebuild blocks that are used by the filesystem.
Managing multiple devices inside the filesystem is what gives Btrfs very flexible storage management. Devices can be mixed in size and speed, and over the long term Btrfs will do the right thing to optimize access. Raid levels can also be mixed, using different stripe sizes for data and metadata etc. The main difference between Btrfs raid and linux MD raid is that Btrfs can detect incorrect data returned by the device with checksums. Even if we don t get an IO error, Btrfs will know if a block is correct. With BTRFS you do not need A LVM or MD.
UBUNTU and FEDORA are good supporters of Btrfs.
BTRFS snapshots support in Fedora 13 is used to offer system rollbacks. A yum plug-in would create a Btrfs snapshot before every yum transaction. Users could also create their own BTRFS snapshot at anytime. Linus Torvald uses BTRFS on its laptop to have this rollback capability 🙂
One of the key missing tool is a repair tool that allow to repair a BTRFS filesystem in case anything goes wrong.
According to Chis Mason the first version of this tool will be out in 2 or 3 month.
BTRFS is considered to be the next generation file system for linux. EXT4 will just be an intermediate filesystem needed to enhance ext3 keeping full compatibility with ext3.
As we all know a filesystem adoption is a very long process. So, long live BTRFS !
Anyone has done some testing ? tried BTRFS with MySQL ?