btrfs-balance
Redistribute data across btrfs devices
TLDR
Show status
SYNOPSIS
btrfs balance command [OPTIONS] path
DESCRIPTION
btrfs balance redistributes data and metadata across devices in a btrfs filesystem. It operates on block groups (chunks), moving their contents to achieve a more even distribution or to convert between RAID profiles.
Common use cases include rebalancing after adding or removing devices, converting from one RAID level to another, and reclaiming space by consolidating partially used chunks. Filters allow targeting specific chunk types (data, metadata, system) and usage thresholds to avoid unnecessary work.
PARAMETERS
start
Start a balance operationstatus
Show status of running or paused balancecancel
Cancel a running balancepause
Pause a running balanceresume
Resume a paused balance-d filters
Apply filters to data block groups-m filters
Apply filters to metadata block groups-s filters
Apply filters to system block groups--bg, --background
Run in backgroundusage= percent
Balance chunks with usage below percentagelimit= count
Process at most this many chunksconvert= profile
Convert to specified RAID profilesoft
Skip chunks already matching the target profile
CAVEATS
A full balance rewrites all data and is very slow. Use filters to target only necessary chunks. Balance requires free space to relocate data. Converting RAID profiles on a busy system may take a long time.
HISTORY
btrfs balance is part of the btrfs-progs package for managing btrfs filesystems on Linux.
SEE ALSO
btrfs(8), btrfs-device(8), mkfs.btrfs(8)
