Does btrfs balance also defragment files?
Posted
by
pauldoo
on Server Fault
See other posts from Server Fault
or by pauldoo
Published on 2013-07-01T09:23:18Z
Indexed on
2013/07/01
10:23 UTC
Read the original article
Hit count: 303
btrfs
When I run btrfs filesystem balance
, does this implicitly defragment files? I could imagine that balance simply reallocates each file extent separately, preserving the existing fragmentation.
There is an FAQ entry, 'What does "balance" do?', which is unclear on this point:
btrfs filesystem balance is an operation which simply takes all of the data and metadata on the filesystem, and re-writes it in a different place on the disks, passing it through the allocator algorithm on the way. It was originally designed for multi-device filesystems, to spread data more evenly across the devices (i.e. to "balance" their usage). This is particularly useful when adding new devices to a nearly-full filesystem.
Due to the way that balance works, it also has some useful side-effects:
- If there is a lot of allocated but unused data or metadata chunks, a balance may reclaim some of that allocated space. This is the main reason for running a balance on a single-device filesystem.
- On a filesystem with damaged replication (e.g. a RAID-1 FS with a dead and removed disk), it will force the FS to rebuild the missing copy of the data on one of the currently active devices, restoring the RAID-1 capability of the filesystem.
© Server Fault or respective owner