109
submitted 1 year ago* (last edited 1 year ago) by Zozano@aussie.zone to c/linux@lemmy.ml

I'm having trouble understanding all the benefits of BTRFS and how they'll apply to me.

Copy on Write and auto-compression seem like they will free up a bit of space.

What other practical benefits will I see from using BTRFS? Are there any noticeable performance benefits?

I use my computer to dual-boot. I don't need snapshots because I have a custom script for a fresh install. I use my PC for gaming and work. I've got an NVMe, two SSD's and one HDD.

Thanks in advance!

all 42 comments
sorted by: hot top controversial new old
[-] yote_zip@pawb.social 58 points 1 year ago* (last edited 1 year ago)

Transparent compression, snapshots, copy-on-write, deduplication, and data checksumming (and healing via read or scrub) are the main things you might notice as an end-user. BTRFS is mostly on par or slightly slower than other simpler filesystems for speed (can be faster on HDDs due to compression), so if you're using it you probably want to be taking advantage of the features it offers, not because it's going to be faster.

[-] heftig@beehaw.org 7 points 1 year ago

Healing won't work without copies (RAID) available. However, scrubbing regularly can also allow your drive to detect and correct errors before they become irreparable.

[-] taaz@biglemmowski.win 21 points 1 year ago

As a (semi) power user I also use btrfs subvolumes to create "partitions" (single disk system, @root, @home, @docker), allows for making snapshots only for system or user data, etc.

All around, I love btrfs and I am never going back to journaling fs like ext4

[-] BCsven@lemmy.ca 18 points 1 year ago

If you don't think you want snapshotting then dont worry too much about it and use whatever fs you like. if you want a nice btrfs experience try tumbleweed or leap, it is already fully integrated with system and grub , and maintenance with cleanup etc. cobbling together btrfs on your own is fine too but if you miss sometging and mess things up it is usually user error not btrfs error. .

[-] radiofreeval@hexbear.net 17 points 1 year ago

For me, snapshots are the best part of BTRFS because you can easily roll back bad updates without doing a fresh install. It might not be worth reinstalling for, but there's no reason not to on your next install.

[-] Zozano@aussie.zone 1 points 1 year ago

I know it's all in my head, but there's something about a fresh install that gives me comfort.

I do a fresh install every few months when something starts behaving funky and it's normally faster than figuring out what's wrong.

Snapshots just don't have the same appeal to me lol

[-] lemmy_user_838586@lemmy.ml 6 points 1 year ago* (last edited 1 year ago)

You do a fresh install every couple months? Damn. I'm using the same install from like... 7 years ago? Which was also 3 laptops ago. I just keep copying the install partitions from one laptop drive to the next.

There is definitely something rewarding to figuring out an issue and fixing it, vs starting from scratch every time. Also, you realistically shouldn't be having serious issues every few months, unless you're running a rolling distro like arch and there's issues with packages. I do think a bit of that might be in your head,or you're experiencing some weird hardware issues/failure.

[-] baraan@lemmy.tanktrace.de 1 points 1 year ago

Switched hardware on my home server last week and moved to proxmox. My Ubuntu installation that was running before that was installed 2011.

[-] 20gramsWrench@lemmy.dbzer0.com 2 points 1 year ago

the main advantage of snapshots is how fast it happen, in two reboots with little to no wait time you can get your system back

[-] housepanther@lemmy.goblackcat.com 15 points 1 year ago

I use BTRFS simply because I run a rolling distro of Linux. For the average user, I don't think it is quite as necessary but the snapshots are nice. Of course, you could use timeshift to make snapshots as well.

[-] sxan@midwest.social 8 points 1 year ago

I love btrfs. Mostly, because I had a couple of instances of data loss with ext4, and because it's far more user friendly than xfs. Btrfs has sane defaults, and when you do want to use the tooling, there's a lot of good documentation, and it's mostly straightforward.

That said, unless you have some reason to be mucking around with the fs or want to play with snapshots or such, then I'd say just use your OS defaults.

[-] wolf@lemmy.zip 6 points 1 year ago

For me, BTRFS is worth it for the transparent compression and file integrity checks alone.

I am not sure what Fedora does for virtual machines via boxes (like transparently disabling COW), but one caveat with BTRFS is that you have to be aware that COW is a problem for usage patterns of virtual machines on their images. Just for this one example alone BTRFS is probably not a good fit for the average user.

Another thing which I just learned very recently, is to mount BTRFS volumes with the noatime option significantly speeds up a lot of workloads on my machine (machine has a decent SSD). Again, using the noatime option might create some problems in corner cases, so one should be aware what one is doing.

[-] cmnybo@discuss.tchncs.de 6 points 1 year ago

Yes, snapshots nice to have and compression reduces the disk usage for the operating system and software quite a bit.

[-] donut4ever@lemm.ee 5 points 1 year ago

I've had a major issue with btrfs and nvme. Not sure if you have a laptop or a desktop, but it works fine on my desktop and shit on the laptop. Snapshots still didn't save my system the other day when the system broke in the middle of a kernel upgrade. I even had snapshots in grub. I still had to reinstall to be able to access the system. I was also told that xfs is much better. Haven't tried it yet. I personally don't care for btrfs, and I'm using the tried and true ext4 and it's been serving me very well. I have the root and home partitions separated in case shit goes haywire.

[-] dino@discuss.tchncs.de 4 points 1 year ago

This is hearsay or you didn't properly configure your snapshots, no way around that.

[-] zwekihoyy@lemmy.ml 1 points 1 year ago

I found the "best of both worlds" setup is xfs for root fs and then btrfs for /home.

[-] BCsven@lemmy.ca 1 points 1 year ago
[-] donut4ever@lemm.ee 1 points 1 year ago

Almost. EndeavourOS to be exact.

[-] BCsven@lemmy.ca 3 points 1 year ago

Yeah, I assumed something similar. Arch (may be endeavor also) is very much a la carte build your own system, so coyld be some tweaks needed. I found Leap and Tumbleweed have no issues with btrfs because its integral to the whole distro. My NVME use on desktop and laptop have been going steady for 7 years.

[-] donut4ever@lemm.ee 1 points 1 year ago

I've always wanted to try opensuse. I have, but I was confused with their package manager. I was too lazy to figure it all out. I may give it a try. Also, I hated their installed for manual partitioning. It was overly complicated for me. I'll mess with it in a VM to learn more about how to manually partition and also mess with their package manager more.

[-] BCsven@lemmy.ca 1 points 1 year ago

There is a 2 page zypper cheat sheet online that is helpful for learning the commands, but they also have Yast2-GTK GUI you can launch; installing packages is just clicking the checkboxes of what you want and unchecking for what you dont want, or selecting certain package versions and click the lock icon. Then hit apply. The nice part of the GUI is you can see what files it provides and read descriptions etc all in one place. I agree, the installer is confusing because there are so many ways to configure your partitioning-either manually or with auto, or semi auto., It is a bit overwhelming at first, I was lost when first coming to linux, and reinstalled it a few times to suit as I learned what it (and myself) was doing. Now that I'm used to it it provides an amazing amount of power and flexibilty.

[-] donut4ever@lemm.ee 1 points 1 year ago

I think the package manager isn't hard to figure out. I do need to study the installer very hard so I can learn its ins and outs. I need my partitions separate. Thanks for the info. I really appreciate it

[-] BCsven@lemmy.ca 3 points 1 year ago

Also something not glaringly obvious is when you get to the summary page of the installer you can click the software title and it brings you to the package install section, you can uncheck any or all groups/patterns or click detail and choose individual packages that suit your needs.

[-] donut4ever@lemm.ee 1 points 1 year ago

I actually know about this one. I thought it was the coolest shit ever. I'm seriously gonna look into it. I have always respected suse, but just never gave it a chance

[-] tiny@midwest.social 4 points 1 year ago

It you have a functioning dual boot don't worry about it. Next install it's worth looking in into and pretty easy to setup. It has trim support for ssds and is way easier to resize on a live system than lvm with another filesystem

[-] argv_minus_one@beehaw.org 3 points 1 year ago

I'm mostly in it for the RAID1 with checksums. If a bit gets flipped, it'll get flipped right back from the other copy next time the automatic scrub happens. Normal RAID1 can't do this because, without checksums, it doesn't know which copy is good.

If you've written shell scripts, I don't think you're an average user. 😋

[-] ruination@discuss.tchncs.de 3 points 1 year ago

I use ZFS, not BTRFS, but both have snapshots, and if you're someone who likes to tinker with their system like me, it lets you do so without worrying that it will break.

[-] TCB13@lemmy.world 2 points 1 year ago

Yes, a few examples of advantages here: https://lemmy.world/post/3197228

[-] mrvictory1@lemmy.world 2 points 1 year ago

Yes. I dual-boot and need everything to be accessible from Windows so I gave Windows 400 GiB while Linux only 75 GiB. Without compression I would be out of disk space. I think I hold about 95-100 GiB of data in 70 GiB. Snapshots are to revert broken updates, not to setup fresh installations. If you use a rolling release distro, they become invaluable. You can boot into snapshots if an update goes sideways.

[-] danie10@lemmy.ml 1 points 1 year ago

Yes and no. It is good and I did one restore of some files that worked fine, but in my case it was noticeably affecting my boot up times, and I reverted to ext4 (boot ups were fast again to less than one minute). For some reason, BTRFS was resulting in quick login, but about 18 mins before my actual desktop was responsive after login. I spend many days trying to troubleshoot that. Maybe you won't have this problem. I had my SSD system drive on ext4 with Timeshift backups, and my /home partition on BTRFS.

So I'm back on my ext4 doing a daily automated backup to a second drive with rsync (LuckyBackup app). I think there are further kernel improvements coming to BTRFS later in this year. But I'll probably only retry it again end of 2023 or in2024. So if you decide to move, just benchmark your boot times, so you can judge if it affects them badly or not.

That said, BTRFS has some great features, lost no data for me, and I think has a great future.

[-] mmstick@lemmy.world 1 points 1 year ago

I use btrfs only for secondary and external drives, while keeping the main system on ext4.

[-] studcavity@discuss.tchncs.de -3 points 1 year ago

Copy on write is likely to introduce significant performance decreases in cases where large or medium size files have a couple bytes changed. It’s usually recommended to turn CoW off on those files; I found it to be more hassle than it’s worth for a root filesystem. It is still a reasonable file system for file storage that looks more like archival - files land there and seldomly or never change. If you don’t have a specific need in mind though, I wouldn’t bother - in my opinion, it’s not great as a general purpose filesystem.

[-] yote_zip@pawb.social 24 points 1 year ago

Copy on write is likely to introduce significant performance decreases in cases where large or medium size files have a couple bytes changed. It’s usually recommended to turn CoW off on those files

Do you happen to have a source or benchmark for this? My understanding of CoW is that the size of the file does not matter, as BTRFS works with blocks and not files. When a block is changed, it's written to a new location. All the old blocks that are not changed are not written again - this wouldn't even make sense in the context of how BTRFS deduplicates blocks anyway.

So:

  • 10 kB base file

  • modify 1kB of the content

  • == 11kB total "used" space, and 1kB of new written blocks.

that old 1kB that is no longer part of the file will eventually be cleaned up if needed, but there's no reason to delete it early.

[-] NanoooK@sh.itjust.works 6 points 1 year ago

Why would OpenSuse/Fedora choose it as their default filesystem if it was as bad you describe?

[-] Zozano@aussie.zone 2 points 1 year ago

Thanks for the advice!

How do you define medium or large files? What examples of these exist on root?

this post was submitted on 14 Aug 2023
109 points (99.1% liked)

Linux

48033 readers
781 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS