--- title: "Btrfs - Helpful commands" date: 2020-09-03T00:00:00 subtitle: "Useful commands for the btrfs file system" summary: "Useful commands for the btrfs file system" --- Quick collection of useful commands for maintaining a btrfs filesystem. Btrfs allows for easy management of software raids in RAID0, RAID1 and RAID10. RAID5 and RAID6 are implemented but not suggested for use. {{% alert note %}} Btrfs (pronounced as "butter fuss", "better F S", "butter F S", "b-tree F S", or simply by spelling it out) is a file system based on the copy-on-write (COW) principle, initially designed at Oracle Corporation for use in Linux. The development of Btrfs began in 2007, and since August 2014 the file system's on-disk format has been marked as stable.[13] {{% /alert %}} ## btrfs device statistics The btrfs device commands are used to check the status of the device, such as read / write errors and disk usage. See the current statistic. ```shell sudo btrfs device stats /path/to/fs ``` To see the current usage. ```shell sudo btrfs device usage /path/to/fs ``` ## btrfs scrub 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. ```shell sudo btrfs scrub start /path/to/fs/ ``` To see the status of an ongoing (or last run) balance use ```shell sudo btrfs scrub status /path/to/fs/ ``` ## btrfs balance The primary purpose of the balance feature is to spread block groups across all devices so they match constraints defined by the respective profiles. See mkfs.btrfs(8) section PROFILES for more details. The scope of the balancing process can be further tuned by use of filters that can select the block groups to process. Balance works only on a mounted filesystem. ```shell sudo btrfs balance start /path/to/fs/ ``` To see the status of an ongoing (or last run) balance use ```shell sudo btrfs balance status /path/to/fs/ ```