summaryrefslogtreecommitdiffstats
path: root/health/guides/btrfs/btrfs_data.md
diff options
context:
space:
mode:
Diffstat (limited to 'health/guides/btrfs/btrfs_data.md')
-rw-r--r--health/guides/btrfs/btrfs_data.md30
1 files changed, 30 insertions, 0 deletions
diff --git a/health/guides/btrfs/btrfs_data.md b/health/guides/btrfs/btrfs_data.md
new file mode 100644
index 00000000..7782b2d8
--- /dev/null
+++ b/health/guides/btrfs/btrfs_data.md
@@ -0,0 +1,30 @@
+### Understand the alert
+
+This alert is triggered when the percentage of used Btrfs data space exceeds the configured threshold. Btrfs (B-tree file system) is a modern copy-on-write (CoW) filesystem for Linux which focuses on fault tolerance, repair, and easy administration. This filesystem also provides advanced features like snapshots, checksums, and multi-device spanning.
+
+### What does high Btrfs data usage mean?
+
+High Btrfs data usage indicates that a significant amount of the allocated space for data blocks in the filesystem is being used. This could be a result of many factors, such as large files, numerous smaller files, or multiple snapshots.
+
+### Troubleshoot the alert
+
+Before you attempt any troubleshooting, make sure you have backed up your data to prevent potential data loss or corruption.
+
+1. **Add more physical space**: You can add a new disk to the filesystem, depending on your infrastructure and disk RAID configuration. Remember to unmount the drive if it's already mounted, then use the `btrfs device add` command to add the new disk and balance the system.
+
+2. **Delete snapshots**: Review the snapshots in your Btrfs filesystem and delete any unnecessary snapshots. Use the `btrfs subvolume list` command to find snapshots and `btrfs subvolume delete` to remove them.
+
+3. **Enable compression**: By enabling compression, you can save disk space without deleting files or snapshots. Add the `compress=alg` mount option in your `fstab` configuration file or during the mount procedure, where `alg` is the compression algorithm you want to use (e.g., `zlib`, `lzo`, `zstd`). You can apply compression to existing files using the `btrfs filesystem defragment` command.
+
+4. **Enable deduplication**: Implement deduplication to identify and merge blocks of data with common sequences using copy-on-write semantics. You can use third-party tools dedicated to Btrfs deduplication, such as duperemove, bees, and dduper. However, research their stability and reliability before employing them.
+
+5. **Perform a balance**: If the data and metadata are unevenly allocated among disks, especially in Btrfs filesystems with multiple disks, you can perform a balance operation to reallocate space between data and metadata. Use the `btrfs balance` command with appropriate usage parameters to start the balance process.
+
+### Useful resources
+
+1. [Btrfs Wiki](https://btrfs.wiki.kernel.org)
+2. [The Btrfs filesystem on the Arch Linux website](https://wiki.archlinux.org/title/btrfs)
+3. [Ubuntu man pages for Btrfs commands](https://manpages.ubuntu.com/manpages/bionic/man8)
+4. [duperemove](https://github.com/markfasheh/duperemove)
+5. [bees](https://github.com/Zygo/bees)
+6. [dduper](https://github.com/lakshmipathi/dduper) \ No newline at end of file