1.1 Btrfs

The Btrfs file system is a copy-on-write (COW) file system based on COW-friendly B-trees. It provides fault tolerance, repair, and easy management features, such as the following:

  • Writable snapshots that allow you to easily roll back your system if needed after applying updates, or to back up files.

  • Compression to efficiently use storage space.

  • Different RAID levels for metadata and user data.

  • Different checksums for metadata and user data to improve error detection.

  • Integration with Linux Logical Volume Manager (LVM) storage objects.

  • Integration with the YaST 2 Partitioner and AutoYaST on SUSE Linux.

  • Offline, in-place migration from existing Ext2, Ext3, and Ext4 file systems.

  • Btrfs quota support for subvolumes, such as the Btrfs root file system subvolumes /var/log, /var/crash, and /var/cache.

For more information, see Btrfs in the SUSE Linux Enterprise Server 11 SP3 Storage Administration Guide

Access Control

Btrfs uses the POSIX access control model.

Availability

Btrfs is a logging-style file system. Instead of journaling the block changes, it writes them in a new location, then links the change in. Until the last write, the new changes are not committed.

Btrfs provides writable snapshots with the SUSE Snapper infrastructure that allow you to easily roll back your system if needed after applying updates, or to back up files. Snapper allows you to create and delete snapshots, and to compare snapshots and revert the differences between them. For information about Snapper and its integration in ZYpp (snapper-zypp-plugin) and YaST 2 (yast2-snapper), see the Snapshots/Rollback with Snapper in the SUSE Linux Enterprise Server 11 SP3 Administration Guide.

IMPORTANT:Because Btrfs is capable of storing snapshots of the file system, it is advisable to reserve twice the amount of disk space than the standard storage proposal. This is done automatically by the YaST2 Partitioner in the Btrfs storage proposal for the root file system.

Scalability

Btrfs is designed to handle very large storage volumes, up to 16 EiB (exbibytes). Its maximum file size is 16 EiB. It provides both online and offline expand and shrink capability.

Speed

Btrfs is designed to read and write fast. It provides performance features such as fine-grained B-tree locking, running checksum operations to their own background threads, and using a cache to reduce IO requirements when cleaning up old transactions.

Btrfs Administration

The Novell Storage Services (NSS) Management Utility (NSSMU) and Novell Linux Volume Manager (NLVM) support the creation, listing, and deletion of Btrfs file systems. The btrfsprogs package is required to be installed.

Btrfs is integrated in the YaST2 Partitioner and AutoYaST. It is available during the installation to allow you to set up a solution for the root file system. You can use the YaST2 Partitioner after the install to view and manage Btrfs volumes.

Btrfs administration tools are provided in the btrfsprogs package. For information about using Btrfs commands, see the btrfs(8), btrfsck(8), mkfs.btrfs(8), and btrfsctl(8) man pages. For information about Btrfs features, see the Btrfs wiki.