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
73M

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

@marmulak
link
23M

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.

@Echedenyan
link
33M

not useful anymore

I use normal hard drives for running virtual machines and programming in both System Administration and Web Developing.

poVoq
link
3
edit-2
3M

OpenZFS2.x has a new “special” mode that lets you turn old hard-drives into hybrid devices with the addition of a small SSD. Really neat. Basically all the file-directory metadata and small files are put onto the SSD, while the large files remain on the magnetic disks. This makes interacting with these hybrid devices nearly as fast as an all SSD zpool.

@KLISHDFSDF
link
13M

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
3M

Bcache is AFAIK what ZFS had since years already (called L2Arc there) and it is something completely different from the new “special” pool in OpenZFS2.x. Regular caching on a SSD doesn’t do much in regards to speed as everything is already cached in the much faster system RAM anyways.

@marmulak
link
13M

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.

@SudoDnfDashY
link
73M

Join us, install OpenSUSE

@Ripuli
link
23M

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

poVoq
link
53M

IMHO the only reason to use BTRFS over ZFS seems to be licensing issues with the Linux kernel, otherwise I have yet to come across something ZFS doesn’t do better. But I admit I am biased as a happy ZFS user.

@marmulak
link
13M

Which OS?

poVoq
link
2
edit-2
3M

Ubuntu & FreeBSD, although apparently Manjaro now also supports ZFS. Need to try that sometimes.

@strimbup
link
13M

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

@marmulak
link
13M

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

@deschutron
link
23M

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

GadgeteerZA
creator
link
23M

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.

@Jojonintendo
link
10
edit-2
2M

deleted by creator

@joojmachine
link
33M

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

@Jojonintendo
link
4
edit-2
2M

deleted by creator

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.

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

  • 0 users online
  • 4 users / day
  • 40 users / week
  • 154 users / month
  • 422 users / 6 months
  • 4.44K subscribers
  • 1.58K Posts
  • 4.81K Comments
  • Modlog