Can I change the location of BTRFS snapshots. I installed CachyOS, and it automatically setup BTRFS subvols.

This is the layout 👇

ID gen parent top level path
258 1773 5 5 @root
259 1601 5 5 @srv
260 1789 5 5 @cache
261 1785 5 5 @tmp
262 1797 5 5 @log
263 26 377 377 var/lib/portables
264 26 377 377 var/lib/machines
265 1791 377 377 .snapshots
266 1427 378 378 @home/.snapshots
377 1797 5 5 @
378 1797 5 5 @home

According to Arch wiki https://wiki.archlinux.org/title/Snapper#Creating_a_new_configuration

Create a subvolume at /path/to/subvolume/.snapshots where future snapshots for this configuration will be stored. A snapshot’s path is /path/to/subvolume/.snapshots/#/snapshot, where # is the snapshot number.

From which I understand that if I created a snap of /home (@home), it will save in /home/.snapshots (@home/.snapshots).

So, CachyOS configured to save snaps to separate subvol.

But, what I want to do is, Instead of just saving it in separate subvol, i want snaps to be saved on different btrfs partition. Maybe @home/.snapshots but on different partition.

Is that possible ?

  • @seaQueue
    link
    21 month ago

    You must take snapshots on the same btrfs filesystem. You can btrfs send snapshots to another filesystem after the fact but they’ll no longer be deltas, they’ll include the full content that they reference. Setting up deltas across filesystems is complicated, do yourself a favor and use something like btrbk to simplify the process.