Btrfs

Btrfs is a new copy on write (CoW) filesystem for Linux aimed at implementing advanced features while focusing on fault tolerance, repair and easy administration. Jointly developed at Oracle, Red Hat, Fujitsu, Intel, SUSE, STRATO and many others, Btrfs is licensed under the GPL and open for contribution from anyone.

Features
Ext4 is safe and stable and can handle large filesystems with extents, but why switch? While it is true that Btrfs is still considered experimental and unstable, the time is nearing when Btrfs will become the default filesystem for Linux systems. Some Linux distributions have already begun to switch to it with their current releases. Btrfs has a number of advanced features in common with zfs, which is what made the zfs filesystem popular with BSD distributions and NAS devices.


 * Copy on Write (CoW) and snapshotting - Make incremental backups painless even from a "hot" filesystem or virtual machine (VM).
 * File level checksums - Metadata for each file includes a checksum that can be used to detect and repair errors.
 * Transparent compression - Files may be compressed and decompressed on the fly, which speeds up read performance.
 * Autodefrag - The filesystems may be tuned by a background thread while they are being used.
 * Sub-volumes - Filesystems can share a single pool of space instead of being put into their own partitions.
 * RAID - Btrfs does its own RAID implementations so LVM or mdadm are not required in order to have RAID. Currently RAID 0 and 1 are support; RAID 5 and 6 are upcoming.
 * Partitions are optional - While it can be given partitions to work with, Btrfs has the potential to use raw devices (/dev/ ).
 * Data Deduplication (upcoming) - There is limited data deduplication support, however deduplication will eventually become a standard feature in Btrfs. This enables Btrfs to save space by comparing files via binary diffs.

Down the road, new clustered filesystems will readily take advantage of Btrfs with its copy on write and other advanced features for their object stores. ceph is one example of a clustered filesystem that looks very promising, and it knows how to take advantage of Btrfs.

Kernel
Activate the following kernel option to enable Btrfs support:

Emerge
The package contains the utilities necessary to work with the Btrfs filesystem.

Creation
To create an Btrfs filesystem on the partition:

In the example above, replace  with the partition number and   with the disk letter that is to be formatted. For example, if the third partition of the first drive in the system was to be formatted to Btrfs, run:

requires 280 megs or more.

Mount
After creation, filesystems can be mounted in several ways:


 * mount - Manual mount.
 * - Defining mount points in enables automatic mounts on system boot.
 * Removable media - Automatic mounts on demand (useful for USB drives).
 * AutoFS - Automatic mount on filesystem access.
 * Btrfs system root - Use the filesystem as a collection of volumes including one as a system root

Compression
Btrfs supports transparent compression using the zlib and lzo algorithms.

Is possible to compress specific files using the file system attributes.

The  mount option set the default behavior to compress all the newly created files. In order to re-compress the whole file system, run the following command:

Depending on the CPU and Disk capabilities, using lzo compression could improve the overall throughput.