Give it the number and capacity of drives, the RAID level, and maybe some options and it'll calculate how much space your btrfs volume will have.
Duperemove is a simple tool for finding duplicated extents and submitting them for deduplication. When given a list of files it will hash their contents on an extent by extent basis and compare those hashes to each other, finding and categorizing extents that match each other. Optionally, a per-block hash can be applied for further duplication lookup. When given the -d option, duperemove will submit those extents for deduplication using the Linux kernel FIDEDUPRANGE ioctl, which only applies to btrfs and xfs.
Duperemove can store the hashes it computes in a 'hashfile'. If given an existing hashfile, duperemove will only compute hashes for those files which have changed since the last run. Thus you can run duperemove repeatedly on your data as it changes, without having to re-checksum unchanged data.
Requrires kernel v3.13 or later.
It's in the Arch extra package repository.
A cheatsheet for using btrfs.
The primary goal of this module is to be able to inspect the internals of a mounted, online, filesystem for educational purposes.
A second goal is to provide a nicer way for automating administration tasks and writing monitoring scripts by being able to just programmatically access the needed information, instead of having to spend most of the time on parsing human readable output from other btrfs tools.
The python module acts as a wrapper around the low level kernel calls and btrfs data structures, presenting them as python objects with interesting attributes and references to other objects.
This is a set of scripts supplementing the btrfs filesystem and aims to automate a few maintenance tasks. This means the scrub, balance, trim or defragmentation.
Each of the tasks can be turned on/off and configured independently. The default config values were selected to fit the default installation profile with btrfs on the root filesystem.
Overall tuning of the default values should give a good balance between effects of the tasks and low impact of other work on the system. If this does not fit your needs, please adjust the settings.
It's in the AUR, too.