------------------------------------------------------------------------------- Updating the OS using LVM as a snapshots. Most info from https://www.suse.com/c/rollback-sles-online-updates-lvm-snapshots/ However the images of the process is missing Setup.. /boot normal partition / & /home LVM Prepare * make a backup to tape (always a good idea) * backup /boot (no snapshot is posible, non-LVM due to boot requirments) * Add a disk to the LVM group (space for the snapshots) * extend group to have enough space * make a copy of /etc/fstab * create snapshots of / and /home to roll back to if needed * mount snapshots, and set fstab.rollback version Update * do system updates * if successful remove snapshots Reject the update * restore /boot * change root= to snapshot root * reformat LVM original volume devices * Restore /home + reformat original /home devive + mount as /mnt + copy running snapeshot /home to /mnt + unmount /mnt * Restore / (root) + reformat original / device + mount as /mnt + copy running snapshot / to /mnt + validate root restore * restore original /etc/fstab * Reboot * remove LVM snapshot volumes * rollback the boot loader ------------------------------------------------------------------------------- LVM2 Snapshots can be mounted Read-Write and changed, but remains a snapshot. Changes are also faster on the snapshot! Example... Snapshot root, and rename so snapshot is the root! https://serverfault.com/questions/128878/ lvrename lvm root root-old lvcreate -n root -s lvm/root-old -L 10G And reboot, and upgrade You can jump back to old root using... lvrename lvm root root-new lvrename lvm root-old root reboot As the root-new is the snapshot you can now junk it using... lvremove lvm/root-new Or commit using (on old system) lvconvert --merge lvm/root-new or if you did not jump back... lvrename lvm root root-new lvconvert --merge lvm/root-new lvrename lvm root-old root reboot -------------------------------------------------------------------------------