From Wiki
Jump to navigation Jump to search
  • list available devices
btrfs device scan
  • list available filesystems
btrfs filesystem show
  • create volume
mkfs.btrfs /dev/sdX
  • stripe across devices (mirror metadata + stripe data)
mkfs.btrfs /dev/sda /dev/sdb /dev/sdc
  • stripe across devices (stripe metadata + stripe data)
mkfs.btrfs -m raid0 /dev/sda /dev/sdb /dev/sdc
  • mirror across devices (mirror metadata + mirror data)
mkfs.btrfs -m raid10 -d raid10 /dev/sda /dev/sdb /dev/sdc
  • create subvolume
btrfs subvolume create /mnt/nonsense

where /mnt is the mountpoint of the btrfs volume

  • list subvolumes
btrfs subvolume list /mnt 
  • create snapshot
mkdir /mnt/snapshots
btrfs subvolume snapshot /mnt/nonsense /mnt/snapshots/vrijdag
  • add a new device
btrfs device add /dev/sda8 /mnt
  • remove a device
btrfs delete /dev/sdb /mnt
  • free space:
btrfs fi df /
  • show snapshots
snapper list
  • delete all snapshots
for i in {1..20000}; do snapper delete $i; done


  • balance om ruimte vrij te maken:
btrfs balance start /tmp/bla

als geen ruimte vrij:

btrfs balance start -musage=50 -dusage=50 /tmp/bla
btrfs fi show /tmp/bla
btrfs fi df /tmp/bla


btrfs scrub is used to scrub a btrfs filesystem, which will read all data and metadata blocks from all devices and verify checksums. Automatically repair corrupted blocks if there’s a correct copy available.

btrfs scrub start -B /tmp/bla
fstrim /tmp/bla

for conventiaonal HD's:

btrfs filesystem defragment /tmp/mnt/bla

recursief een directory:

btrfs filesystem defragment -r /tmp/mnt/bla