I’ll be setting up a new workstation this week and I’d like to set up a filesystem with Btrfs in a way that would allow me to roll back to a working condition in case of a failed update in the future etc. But the more I read it from various sources the more confused I am (especially subvolumes make me scratch my head). If anyone can help a dummy plz do .
First of all - do I have to use lvm as well? I’ve tried lvm partitioning scheme in the past and while in theory it has been made in a way to allow easier partition resizing etc my experience was exactly opposite (partially because of the lack of gui tools at that time, and “cumbersomeness” of the cli ones).
Secondly - are btrfs snapshots created automatically or do I have to set something up? Are there any prerequisites (that’s where subvolumes confused me a lot)?
I’d like to have system partition (/) formatted with btrfs with snapshot capability. The plan is to have /home on separate partition with ext4 (don’t need snapshot on it). Usually I have /boot on separate partition as well , but for the sake of simplicity I can skip it this time. If there are any other “folders” that are not needed for the system rollback capability (which ones) how could those be excluded from “snapshotting” as well?
Secondly - are btrfs snapshots created automatically or do I have to set something up?
If partition is large enough (I think 20GB+) installer defaults to enabling snapshots and sets up default schedule.
Are there any prerequisites (that’s where subvolumes confused me a lot)?
Size (snapshots consume space, so you should plan extra size to account for it) and /boot canot be on separate partition.
I’d like to have system partition (/) formatted with btrfs with snapshot capability
Only subvolume that is mounted as / is setup with automatic snapshot schedules and only this one is required for rollback. The exact reason to have multiple subvolumes is to exempt them from snapshots (thus from losing content during rollback).
Usually I have /boot on separate partition as well
You need to have /boot on root filesystem to have rollback possibility. You still can use snapshots with separate /boot to have previous versions, but rollback won’t be offered in this case.
If there are any other “folders” that are not needed for the system rollback capability (which ones) how could those be excluded from “snapshotting” as well?
Not that I’m aware of. It is expected that everything that is needed is part of root filesystem and only this filesystem is rolled back as well.