Devices Linux Filesystems Filesystem Hierarchy Standard
Create Partitions and Filesystems btrfs
This guide teaches how to create, manage, and optimize Btrfs volumes on Linux, covering single-device setups to multi-disk RAID configurations.
In this comprehensive guide, you’ll learn how to build, manage, and optimize Btrfs (B-tree file system) volumes on Linux. We cover everything from one-device setups to multi-disk RAID configurations, subvolumes, snapshots, and transparent compression.
Btrfs is a modern copy-on-write (COW) filesystem designed for Linux environments with large storage needs, multiple disks, or advanced snapshot requirements. Its core capabilities include:
Feature
Description
Multi-device support
RAID-like layouts: single, dup, raid0, raid1, raid5, raid6, raid10
Transparent compression
ZLIB, LZO, ZSTD algorithms for on-the-fly data reduction
SSD optimizations
TRIM support, reduced fragmentation
Snapshots & incremental backup
Create point-in-time subvolume copies for quick rollback and backup
Online defragmentation
Defragment without unmounting
Subvolumes with quotas
Isolate datasets, enforce per-subvolume space limits
Deduplication
Post-process or realtime block dedupe
When modifying data, COW filesystems write new data to free space, update metadata, then discard the old blocks. This preserves data integrity across crashes.
ls -lh /mnt/disk/snap/# -rw-rw-r-- 1 carol carol 118K Jul 11 16:36 Twitter_Down_20190711.jpg# -rw-rw-r-- 1 carol carol 324K Jul 2 15:22 Xiaomi_Mimoji.png