From Fedora Project Wiki
No edit summary
No edit summary
Line 55: Line 55:


* By moving /var into its own subvolume, it will be excluded from snapshots and rollbacks of the "root" subvolume, which contains `/etc` and `/usr`.  
* By moving /var into its own subvolume, it will be excluded from snapshots and rollbacks of the "root" subvolume, which contains `/etc` and `/usr`.  
* Users will find it straightforward to rollback "root" while not rolling back "var": including logs, VMs, databases, and so on.
* Users will find it straightforward to rollback "root" while not rolling back "var": including logs, VMs, databases, flatpaks, etc.
* The ability to snapshot only "var" and use Btrfs send/receive to replicate only "var" permits for an efficient way of backing up the variable system data.
* The ability to snapshot only "var" and use Btrfs send/receive to replicate only "var" permits for an efficient way of backing up the variable system data.
** A clean install can restore the "root", therefore it doesn't strictly need to be backed up. Meanwhile "var" and "home" can be restored using snapshot replication via send/receive.
** A clean install can restore the "root", therefore it doesn't strictly need to be backed up. Meanwhile "var" and "home" can be restored using snapshot replication via send/receive.

Revision as of 05:42, 18 January 2022

Silverblue and Kinoite will have /var on its own Btrfs subvolume

Summary

Silverblue and Kinoite: For new clean automatic (guided) installations, create a "var" subvolume to be mounted at /var.


Owner


Current status

  • Targeted release: Fedora Linux 36
  • Last updated: 2022-01-18
  • FESCo issue: <will be assigned by the Wrangler>
  • Tracker bug: <will be assigned by the Wrangler>
  • Release notes tracker: <will be assigned by the Wrangler>


Detailed Description

Currently, Silverblue and Kinoite mimic other Fedora desktops. There is a "root" subvolume mounted at / and a "home" subvolume mounted at /home.

This proposal adds a "var" subvolume to be mounted at /var.

The "var" subvolume will be located at the top-level of the Btrfs file system, along-side the "root" and "home" subvolumes. An entry in /etc/fstab will mount it at /var during startup.


Feedback

Benefit to Fedora

Users who opt into Btrfs features like snapshots and rollbacks.

  • By moving /var into its own subvolume, it will be excluded from snapshots and rollbacks of the "root" subvolume, which contains /etc and /usr.
  • Users will find it straightforward to rollback "root" while not rolling back "var": including logs, VMs, databases, flatpaks, etc.
  • The ability to snapshot only "var" and use Btrfs send/receive to replicate only "var" permits for an efficient way of backing up the variable system data.
    • A clean install can restore the "root", therefore it doesn't strictly need to be backed up. Meanwhile "var" and "home" can be restored using snapshot replication via send/receive.


Scope

  • Proposal owners:
    • changes to lorax and anaconda as needed so that Silverblue and Kinoite variants have their own installation kickstart, such that automatic/guided installation automatically creates "var".
      • possible liability, determine whether the the addition of /var mount point for Btrfs scheme results in /var mount point for other schemes (and inhibit)


Upgrade/compatibility impact

Change will not be applied to upgrades. But we can document steps to apply the change to existing installations.


How To Test

  • Do a clean installation and check df and /etc/fstab for an explicitly listed /var mount point.


User Experience

  • The change won't generally be noticeable to users
  • Users will see an additional /var mount point in /etc/fstab, and df
  • Some utilities, notably backup programs like borg backup, and rsync with -x option, will treat Btrfs subvolumes as separate file systems and may not descend (recursively) into them.


Dependencies

  • Anaconda/blivet, lorax, and possibly kickstarts


Contingency Plan

  • Contingency deadline: beta freeze (not a System Wide Change)
  • Blocks release? No


Documentation

No significant documentation is planned other than this change proposal.

N/A (not a System Wide Change)

Release Notes