Just noticed this really useful GUI tool that was not around a year ago or so when I switched my Home folder partition to Btrfs. It seems to cover all the generally used type of Btrfs features you’d use including running and monitoring scrubs or balance operations, and even viewing and browsing snapshots, with options to restore individual files.
See https://gitlab.com/btrfs-assistant/btrfs-assistant
#technology #opensource #Linux #btrfs #BtrfsAssistant
Admittedly I don’t really know what I’m doing, but I came at a set of options after reading articles online and looking at the documentation. I ended up with this set of options:
noatime,nodatacow,autodefrag
noatime and nodatacow should obviously increase speed because it’s just doing less. I have not yet determined if autodefrag is worth it, but in theory it helps the mechanical disk in the long run by having it seek less. You lose some performance I think especially when a lot of data is being written, but my expectation is that it does more good than harm.
I tried alternative approaches like disabling autodefrag and enabling datacow but with compression to see if compression would significantlly boost performance (by taking some load off of the disk and putting it onto the CPU/RAM, which are faster on my system), but that didn’t help at all and I just went back to nodatacow.
I guess the smartest thing would be to just replace the disk with a fast SSD and this problem would probably just go away, but even today computers are still shipping with very slow hard drives, which doesn’t agree with Linux anymore.
Note: Also even before btrfs when I was running ext4 I still had to tweak it like disable atime and turn off journaling. For my use case the best FS is probably FreeBSD’s file system, which doesn’t need journaling or cow, but can just do soft updates which keeps the FS healthy and doesn’t cost anything. A power failure could only result in unwritten data but never file system corruption.
Thanks 👍 I need to try
noatime
if that would help. The CPU on my home server is crappy enough that I’ve just skipped even trying the compression out. Might still work with zstd, let’s see at some point in the future…