Feature changed by: Jiri Srain (jsrain)
Feature #320834, revision 24
Title: [BETA 1 / 2] Create a /var/cache subvolume
Requested by: Thorsten Kukuk (kukuk)
Developer: YaST Maintainers mailing-list (yast2-maintainers)
Partner organization: openSUSE.org
Description:
On the openSUSE Factory list, somebody found a valid bug in our current
setup for snapshots: /var/cache is part of the snapshot.
This means: all RPMs used for an update are part of the snapshot as
they will be only deleted after creating the snapshot. This is a big
problem if you regular update online, it will eat up your diskspace
very fast. The same is true for all other cached data, there is no real
sense in having them included into a snapshot, since they change very
fast, they will only eat up disk space.
We need to add /var/cache to the list of directories, for which we
create a subvolume with btrfs.
And (that's why I created a FATE and no bug) we need to add something
to the release notes, so that customers are aware of this and can
create the subvolume at their own for existing installations.
Documentation Impact:
snapper.xml
Business case (Partner benefit):
openSUSE.org: Save disk space by excluding irrelvant/outdated cached
data from snapshots.
Discussion:
#1: Hannes Kühnemund (hkuehnemund) (2016-05-04 13:33:56)
Just read the conversation on research and passed on to PrjMgr.
#2: Jiri Srain (jsrain) (2016-05-05 13:28:59)
Updated yast2-storage is on its way to SP2:GA
(https://build.suse.de/request/show/114103).
Keeping open for now, since the release notes entry to document how to
create such subvolume in an installed system (without having any side
effects) is missing.
#3: Thorsten Kukuk (kukuk) (2016-05-10 13:42:43)
I added some first, rough text for the release-notes.
#4: Stefan Brüns (stefanbruens) (2016-05-18 03:07:18)
on openSUSE, / is not created as subvolume @ (at least it was not with
13.2).
Documentation how to mv /var/cache in this case would be nice
#5: Stefan Hundhammer (shundhammer) (2016-05-18 17:18:48) (reply to
#4)
Thanks for the hint, added that case to the release notes section.
#7: Jiri Srain (jsrain) (2016-05-19 08:13:32) (reply to #5)
The RN entry (as well as this Fate) is for SLES - we should IMO leave
openSUSE out of the release notes completely and possibly create a
separate RN entry (separate Fate?) for openSUSE.
Alternatively, would it make sense to leave out the specific version
completely? After all, I would not be surprised if upgrades from latest
SLE11 SPs (direct or indirect) would behave the same as 13.2...
#8: Thorsten Kukuk (kukuk) (2016-05-19 09:06:25) (reply to #7)
Differentiating this between openSUSE and SLES is a good idea, since no
openSUSE user will read the SLES release notes.
Removing the version numbers is bad, since this are the important
information. And snapshot/rollback does not work if you are coming from
SLES11, since SLES11 has /boot on an extra partition. So SLES12 only is
correct.
#9: Jiri Srain (jsrain) (2016-05-19 10:11:11) (reply to #8)
Not sure I got yoru comment right, my main point was: This feature is
for SLES only (Fate-wise); how will the text end up in openSUSE RN? And
how is openSUSE-specific part relevant for SLES customers if it appears
in their RN? Wouldn't it make more sense to have two separate RN
texts?
#6: Stefan Hundhammer (shundhammer) (2016-05-18 17:22:21)
Doc team please note that the release notes snippet is available in
prettier format here:
https://w3.suse.de/~shundhammer/release-notes-var-cache-subvol.txt
+ #10: Jiri Srain (jsrain) (2016-05-30 13:35:41)
+ The feature is basically done, closing this feature, RNs can still be
+ adjusted if necessary.
+ According to Ludwig, the RNs for openSUSE are not built of Fate, but
+ need to be adjusted in it, therefore I would suggest to remove openSUSE
+ from this text and create an openSUSE-specific version.
Release Notes: Move /var/cache into an own subvolume for snapshots and
rollback
Challenge:
/var/cache contains a lot of very volatile data, like the zypper cache
with RPM packages in a lot of different versions for each update. Due
to this volatility, the size a snapshot needs increases very fast for
data that are mostly redundant.
Solution:
To solve this, /var/cache should be moved into a separate subvolume. If
you install with SLES12 SP2 or newer, this is done automatically during
installation. For existing root file systems, do these steps manually:
- Find out the device name (/dev/sda2, /dev/sda3 etc.) of the root file
system: df /
- Identify the parent subvolume of all the other subvolumes. For SLE 12
and recent Tumbleweed installations, this is a subvolume named "@". For
openSUSE 13.2 and older Tumbleweed installations, this it the unnamed
toplevel subvolume with ID 5. Check if you have a '@' subvolume:
btrfs subvolume list / | grep '@'
If the output of this command is empty, you don't have a subvolume
named '@'. In that case, use the subvolume with ID 5.
- If you have a '@' subvolume, mount that subvolume to a temporary
mount point (using /mnt in this description):
mount