According to the lead author the calling it Butter-FS originated because it comes from CoW which stands for copy-on-write, but many call it Better-FS, and it actually stands for B-tree file system. It’s been around since 2007, so is relatively new versus other file systems, but the feeling seems to be now that it is finally quite stable. The exception being for new features still being developed. I’m a novice still at BTRFS but these are some of my reasons for wanting to fully move across to it.

Potential downsides (yes it is no magic bullet) are that it can be slightly slower due to compression and validations, and this supposedly is especially not best for large databases. The noatime option can be used to disable the Linux ‘access time’ write to every file read. Also it will use a bit more space as it copies updated data to new sectors instead of overwriting data like ext4 and others do. Although there is RAID functionality, BTRFS is not actually doing backups (it mirrors). You still need to backup off-site and to other media. There is no in-built filesystem encryption (it is planned though), but you can use other standards, but these could potentially affect some advantages of BTRFS eg. using raw block devices.

But the advantages may well outweigh the disadvantages:

Copy-on-Write: Any existing data being edited or updated, is left untouched on the drive, which means potentially less loss, and way easier and quicker to reliably roll back to a previous state.

Snapshots: Manual or automated, are extremely quick as they do not recopy all previously existing data. It is essentially a snapshot of the metadata of the status of files. Where this is done for the boot drive, such snapshots can be configured to appear automatically in the GRUB boot menu, for quickly reverting back to a previous version. No manual booting from LiveCD, chrooting, Clonezilla restores needed. Suse produced an excellent Snapper app for managing snapshots, but Timeshift also supports them.

Software RAID: What stands out is that drives need not be matched sizes at all. You can also add to a running system, and just rebalance BTRFS. BTRFS rebuilds involve only the blocks actively used by the file system, so rebuilds are much quicker than most other systems.

Self-healing: Checksums for data and metadata, automatic detection of silent data corruptions. Checksums are verified each time a data block is read from disk.

Three different compression options: ZLIB, LZO, and ZSTD differ in terms of speed and amount of compression. You can compress only new files, or process the whole file system, or just do specific individual files if you wish. Compression is supported on a per mount basis. If compression makes the file size any bigger than the original, then the Btrfs filesystem will, by default, not compress that file.

Utilities: Scrub for validating checksums, defragmenting while subvolumes are mounted. Check (unmounted drives) is similar to fsck. Balancing for adding new drives to a RAID or other changes made to BTRFS.

Send/Receive of subvolume changes: Very efficient way of mirroring to a remote system via various options over a LAN or the Internet.

Disk Partitioning: In theory you could use no partitions at all, but it is recommended you create at least one (GRUB prefers it). Rest of the drive though can be BTRFS subvolumes that you can resize on the fly without unmounting or using a LiveCD.

Very large VM files: You can add them to separate subvolumes you create, and have them act as independent files without copy (remember you are still backing up aren’t you).

Conversion from other filesystems (ext2, ext3, ext4, reiserfs) to btrfs: Copy on write algorithms allow BTRFS to preserve an unmodified copy of the original FS, and allow administrator to undo the conversion, even after making changes in the resulting BTRFS filesystem.

Linux kernel includes BTRFS support so no need to install drivers, just the software utility apps to manage it.

So doing my /home partition was quite easy to just do a conversion. I’ve not yet quite decided how to do my boot drive as I need to think about what I want to do with subvolume creation and what best practices I need to consider with inclusion of GRUB etc. A Clonezilla copy of my boot drive means I can experiment and quickly restore without worries, though.

See https://gadgeteer.co.za/why-im-interested-btrfs-filesystem-instead-ext4-linux

#BTRFS #Linux #filesystem #opensource

    • @joojmachine
      link
      33 years ago

      Specially with zstd compression (and even more with lower compression levels) you really can’t note the difference (outside of really specific workloads).

  • @joojmachine
    link
    73 years ago

    Been using BTRFS for months and months now, and goddamn is it good

    • @marmulak
      link
      23 years ago

      For some reason it is very slow on my machine, and I even ave CoW turn off. I guess magnetic disks are not useful anymore with the current state of software.

      • @poVoq
        link
        3
        edit-2
        1 year ago

        deleted by creator

        • ᗪᗩᗰᑎ
          link
          13 years ago

          For anyone who wants this with BTRFS - or any other filesystem - look into Bcache. You can designate any SSD as a cache device that will speed up your read/write to whatever backend filesystem you want.

          • @poVoq
            link
            1
            edit-2
            1 year ago

            deleted by creator

        • @marmulak
          link
          13 years ago

          I would like to try that out some time. It wouldn’t really work for my laptop, but I’ll keep this in mind for my future desktop.

    • @Ripuli
      link
      23 years ago

      Hell yeah. Btrfs+snapper for automatic snapshots is awesome and openSUSE configures it for you.

  • @poVoq
    link
    5
    edit-2
    1 year ago

    deleted by creator

      • @poVoq
        link
        2
        edit-2
        1 year ago

        deleted by creator

        • @marmulak
          link
          13 years ago

          Oh I didn’t even know you could use it on Linux

        • @strimbup
          link
          13 years ago

          And NixOS, which makes using ZFS really easy, including on boot drives.

  • @deschutron
    link
    23 years ago

    I’ve started using it in new installs, FUD be damned. Looking forward to the benefits.

    and I’m so deep in the alphabet soup of IT, I just use IPA for new acronyms, so I say /bəˈtrəfs/.

    • GadgeteerZAOP
      link
      23 years ago

      It certainly has benefits but I’ve learnt to be careful with snapshots running as well as a big defrag. A defrag is not something you do often but keeping the snapshots running at the same time, filled my drive up. I’ve got things better under control now.