BTRFS Subvolumes and snapper

Hi. I’m doing a ‘special’ test install on PC using BTRFS. I’ve been wondering why so many subvolumes are created by default (@, @var, @home, @opt etc). I am aware of the resizing features between subvolumes but I’m more interested in snapper.

By default snapper only backs up / (SUBVOLUME=“/”). Does that mean all the other subvolumes like @home and @var do NOT get backed up?

If I wanted to back up @home would I need to create a second config file for it under /etc/snapper/configs/?

Thanks.

Eh /var and /home hold stuff that you don’t want rolled back, f.e. databases. The snapshots are not backups ( and backups should never be on the same system ).

“second config”?.

The only confident backup solution is to perform a true (traditional) backup.

For example, using the trusted rsync command. Backup to an external drive.

Personally, we create a separate /home partition as XFS (and / as BTRFS) on all our machines. We back up /home once a week with rsync.

1 Like

Here is a good documentation about snapper

1 Like

Thanks @hui , good document basically answered my question here.

So in practice if I were to do something silly like create a subvolume for /etc directory it would not be snapshotted with the standard setup as defined in /etc/snapper/configs/root. That is unless I created an extra config eg /etc/snapper/configs/etc with the /etc subvolume defined.

Unclear knowledge would open a can of worms.

The reason I opened this thread is because with my 2 i386 machines I had to install Debian Bookworm as tumbleweed i386 was unreliable. But Debian’s ‘standard’ out of the box BTRFS setup only has 2 subvolumes - root and home. That would mean it’s snapshots of root would include /var, opt, /svr etc that TW doesn’t.

More reading…

Yes, my /home and another separate SSD with tonnes of data are backed up via rsyncto an external storage too.

That would be rather bad idea because it means after reverting either root subvolume or /etc/ subvolume system configuration would not match system binaries (and RPM database).