Btrfs as a home user - why?

At that point you might be looking at ZFS instead! :grin:

1 Like

This is my thinking - and the reason my Timeshift mounts it’s folder from another drive. Having a brand new 860 Evo go wiry on me, I can throw in an old SSD, do a quick fresh install from USB and then restore the ‘snapshot’.

When you duplicate a text file you’re working on, surely that’s just a snapshot (copy) and a backup would involve saving to /mnt/backup or /mnt/cloud as a defence when you spill coffee on your laptop.

This is why I just go with rsync. At the same time I’m monitoring comments about BTRFS, I’ve a 6 year old 2TB Western Digital which actually seems nicer and quieter running on BTRFS which now holds my replaceable, but replaceable media (TV series).

1 Like

That’s more in the domain of version control systems, git being a prominent example…

Or course for controlled, persistent and deliberate versioning a tool like git has to be used.

This is more a convenient layer of automated, temporary, uncontrolled versioning; it covers uncommitted sketchbook work-in-progress and local files in git-exclude. It’s a fallback that I need maybe once a month, but then it’s really nice to have.

There are some arguments floating around about ext4 being rather heavy on SSD’s… and my SanDisk certainly looks rough…
Screen (Disk: 1, SanDisk SDSSDA240G - Hard Disk Sentinel Linux 2.0.02021-01-10_17:45:01)
I replaced it with a 960 EVO which died in a couple of days, and has now been replaced.

Screen (Disk: 0, Samsung SSD 860 EVO 250GB - Hard Disk Sentinel Linux 2.0.02021-01-10_17:46:33)

So in terms of SSD life it’s an interesting topic for me.

If your SSD dies in a couple of days instead of lasting longer than your computer there is something very wrong with it and you should be able to get your money back by warranty.

When you copy a file, I think it can be loosely considered a backup because you have a second copy of the data. It isn’t a very robust backup and it doesn’t protect you from much but it is a backup for that one file.

That being said, that isn’t an analogy that applies to a filesystem snapshot. A snapshot is not a second copy of the data. It is just references to the same copy of the data so a snapshot can never be considered a backup.

3 Likes

Here is another question:
It is very difficult to find up-to-date info on these things but given that both SUSE and Fedora has switched to Btrfs as default regardless of if you use and SSD or not for / …

All of the things below have been argued in 2020, most things you find about Btrfs online unfortunately is written around 2014 or earlier which makes it irrelevant for modern SSDs.

  1. According to half the internet, having COW enabled on Btrfs is lierally murdering your SSD much quicker than any other file system for home users.

  2. At the same time having COW enabled is mandatory for snapshots. Sot as Suse and Fedora auto-sets it up of corse COW is enabled even on SSDs.

  3. What exactly DOES the “autodetect spinning disc or SSD” setting for Btrfs DO? I mean what changes does automatically get turned on / off if it detects it’s on an SSD?

  4. According to the other half of the Internet having Compression enabled in Btrfs kills your SSD. Accoring to the first half f the Internet it’s the opposite, compression literally halves the number of writes on it. Which is it?

1 Like

This is semantics again: If that snapshot is indeed a snapshot, aka I can go back to it from a later state, then it is as much a backup as manually copying a text file and change the name on it.
However, it does not become a “backup” until the data on the disc is changed. Aka when the snapshot is taken it is NOT a backup until it is sufficiently “behind” so that it’s content differs from what comes later.

1 Like

It isn’t semantics, it is not a second copy of the data. If a block becomes corrupt(which isn’t that uncommon), it corrupts both the snapshot and the current data.

The problem with this logic is it is only a “backup” for those changed blocks, not for everything else on the disk/volume. Those blocks might not even be entire files. They could be portions of files.

If you globally disable COW, there wouldn’t be much reason to run btrfs in the first place.

1 Like

There’s no point to explain further if he doesn’t even understand features that btrfs offers. Windows users seems to be more conservative in accepting new ideas, I am sure he is still thinking that snapshots are exactly the same as back up. He mentioned about Timeshift in one of the post, I remember it has 2 different methods of making back up, 1 is using btrfs/snapshots while another is othersfs/snapshots. It could have confused him for that reason.

In my experience that’s according to the half of the internet that doesn’t use btrfs. :wink: If that would be a problem we would hear about Suse installations failing left and right.

It’s optimizing low level filesystem internals like allocating memory or service work on file trees.

I only heard that it would increase the life span, because less data is written. But imho that’s a rather esoteric side effect for home users, since big home data blobs like audio and video usually aren’t compressed.

1 Like

SO there is a benefit to have Btrfs with compression on / , like Suse used to do it?

Yes.

In truth, there is almost always some benefit to enabling it. Even in the case of /home where it may choose to not compress big sections of data, it will compress what it can and not compress what isn’t worth it.

2 Likes

It’s a snapshot. :smile:

I think part of this is that i am just lazy, I am sitting here reading thru tutorials and wikis and it just feels… like a huge step backwards. Not in functionality, but in management.

It all seems extremely hands on, and that’s what i mean when I say it’s not for the average home user. (it doesn’t help that the official documentation is only aimed at servers, assuming you are a network admin at a company and working with huge data clusers etc).

And on the other end it seems everyone on /reddit etc that advocates for it are extreme user cases (while claiming to “average users”), either “paranoid” (taking 6 monthly, 12 weekly, 7 daily and 12 hourly snapshots on top of the auto-created one at very update they’ve set up ) or also having odd user cases like “Oh I just bundled 9 old discarded HDDs in an array as a home made NAS using Btrfs, it’s so easy!”

Even setting it up like Suse used to do it seems… annoying.

What I want is, if I am going to use snapshots at all:

Auto-created snapshots of my / when an update is made. Maybe… three of them? I don’t see me need more, period (1), so they need to also automatically be deleted, easy to find, and preferably everything can be set up in a GUI.

(1) because Arch already have a package cache for rollbacks of individual packages AND I take several actual backups (not snapshots) with Timeshift to an external HDD that includes both the complete / and /home partitons.

Sure. Some example directory data from my current machine (compression zstd level 1) using compsize:

# /usr/share
Type       Perc     Disk Usage   Uncompressed Referenced
TOTAL       56%      3.4G         6.1G         6.1G

# /usr/bin
Type       Perc     Disk Usage   Uncompressed Referenced
TOTAL       54%      938M         1.6G         1.6G

# My source dir in home
Type       Perc     Disk Usage   Uncompressed Referenced
TOTAL       64%      2.6G         4.1G         4.1G

# But my home music
Type       Perc     Disk Usage   Uncompressed Referenced
TOTAL       99%      8.7G         8.7G         8.7G

So overall a few gigs here and there. Is that worthwhile if you have 200 GB free anyway? Probably not. Is it nice benefit on a 256 GB laptop? Maybe.

2 Likes

(Btw I have to wonder how many of Fedora’s and Suse’s users that actually do any of this at all, and not just click “next next next” at install and then never use any features of the btrfs file systems at all. My guess 65-70% of the user base).

Must be you lucky day … :grin:
This Wiki article provides exactly what you want; check the bottom of the article or see here if you don’t want encryption.

[Edit] Btw, with a simple trick you could get Timeshift to run in btrfs-mode to create btrfs-snapshots and also create rsync backups. But you’re probably not interested, seeing that this would involve some manual intervention and scripting :wink: .

It looks interesting, but is it using timeshift? Because I need that for my Rsync backups to a second drive, and as far as I know timeshift can’t keep track of two different backup schemes?

Anyway, I appreciate all the input, but I think I have concluded that for my own user case, btrfs is not worth it on any level other than very much maybe increasing the life slightly on my / SSD compared to Ext4.

The amount of manual hands on to make it work seems far far greater than the benefits I would get out of it, and I am not in the mood to try to implement it just because I can.

(Marking this as “solution”, because it is my final conclusion: btrfs is just not worth the hassle for me, specifically as long as you can’t set it up directly in the installer, like in Suse, and Calamares simply don’t have that functionality).

Note:I have since switched to Btrfs on my / BUT it required a completely redone partition scheme to be working as intended so this would still be the “solution” to my original question.

2 Likes