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!

  • Yote.zip@pawb.social
    link
    fedilink
    English
    arrow-up
    19
    ·
    edit-2
    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
      link
      fedilink
      English
      arrow-up
      4
      ·
      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.

  • lloram239@feddit.de
    link
    fedilink
    arrow-up
    19
    ·
    edit-2
    1 year ago

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

    That benefit is more theoretical, than practical. The majority of content you have on your drive will be content that is already heavily compressed at the file format level (e.g. images, movies, music) and where additional compression has no effect. So don’t expect any big savings out of the box, you get about 5-15% saving on a regular install.

    The real benefit are in the additional functionality it provides, e.g. you can use copy-on-write to make backups of large games before trying to mod them, backups that you might have previously avoided due to 100GB copies taking so long, with BTRFS it is done in a second.

    As for BTRFS snapshots you seem to have the wrong idea what they are for. With them you can create backups of your whole filesystem within a second, so you can have full backup in case something goes wrong. With the snapper daemon you can easily automate that make new snapshots every hour and expire them when no longer needed. That’s a really useful thing to have and with BTRFS it’s basically free.

    Another big advantage is the ease of partitioning, or the lack of a need for it, with BTRFS subvolumes all your volumes can share the same free space, while still being addressable as separate file systems, e.g. you can have subvolumes for / and /home, without having to guestimate how much space you might need in the future. Can also be abused to install multiple distributions on the same filesystem.

    Also checksums, BTRFS will tell you when your data goes bad.

    • Dreadful6644@lemmy.world
      link
      fedilink
      arrow-up
      5
      ·
      1 year ago

      I thought compression would not help much with disk space as well. I believe it depends on the use case. After switching to btrfs and enabling zstd compression, my Arch install reduced from 100GB to 60 GB in terms of used disk space. Most of the savings are from documentations of development packages.

      • pressanykeynow@iusearchlinux.fyi
        link
        fedilink
        arrow-up
        2
        ·
        1 year ago

        Just for reference

        spoiler

        ~> compsize -x / Processed 699693 files, 766975 regular extents (791577 refs), 360356 inline. Type Perc Disk Usage Uncompressed Referenced
        TOTAL 57% 39G 68G 69G
        none 100% 23G 23G 23G
        zstd 35% 15G 44G 45G
        prealloc 100% 69M 69M 104M
        ~> compsize -x /var/lib/flatpak Processed 340412 files, 115619 regular extents (256345 refs), 209687 inline. Type Perc Disk Usage Uncompressed Referenced
        TOTAL 55% 6.7G 12G 24G
        none 100% 3.6G 3.6G 6.6G
        zstd 36% 3.1G 8.5G 18G
        ~> compsize -x /home/user/.local/share/Steam Processed 219633 files, 1097250 regular extents (1111566 refs), 57457 inline. Type Perc Disk Usage Uncompressed Referenced
        TOTAL 84% 249G 295G 296G
        none 100% 203G 203G 203G
        zstd 50% 46G 91G 92G
        prealloc 100% 36M 36M 36M
        ~> compsize -x /home/user/.local/share/bottles Processed 18582 files, 33406 regular extents (33406 refs), 2366 inline. Type Perc Disk Usage Uncompressed Referenced
        TOTAL 53% 1.8G 3.3G 3.3G
        none 100% 959M 959M 959M
        zstd 36% 907M 2.4G 2.4G

        So it’s 29G(43%) from / + /home, 5.3G(45%) from flatpak packages, 46G(16%) from Steam, 1.5G(47%) from Bottles, ~82G total out of 380G(22%) which is nice

  • 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.

  • BCsven@lemmy.ca
    link
    fedilink
    arrow-up
    6
    ·
    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. .

  • taaz@biglemmowski.win
    link
    fedilink
    English
    arrow-up
    6
    ·
    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

  • wolf@lemmy.zip
    link
    fedilink
    English
    arrow-up
    6
    ·
    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.

  • HousePanther@lemmy.goblackcat.com
    link
    fedilink
    English
    arrow-up
    5
    ·
    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.

  • argv_minus_one@beehaw.org
    link
    fedilink
    arrow-up
    3
    ·
    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
    link
    fedilink
    arrow-up
    3
    ·
    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.

  • mrvictory1@lemmy.world
    link
    fedilink
    arrow-up
    2
    ·
    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.

  • cmnybo@discuss.tchncs.de
    link
    fedilink
    English
    arrow-up
    2
    ·
    1 year ago

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

  • tiny@midwest.social
    link
    fedilink
    English
    arrow-up
    2
    ·
    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

  • donut4ever@lemm.ee
    link
    fedilink
    arrow-up
    1
    ·
    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.

        • BCsven@lemmy.ca
          link
          fedilink
          arrow-up
          1
          ·
          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
            link
            fedilink
            arrow-up
            1
            ·
            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
              link
              fedilink
              arrow-up
              1
              ·
              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
                link
                fedilink
                arrow-up
                1
                ·
                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
                  link
                  fedilink
                  arrow-up
                  3
                  ·
                  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.