You are not logged in.
I'm trying to set up automated LVM snapshots of / (for system rollback) on my new-ish Arch install. As a first step, I wanted to make sure I could manually create and manipulate snapshots. But I've encountered an issue: when I merge a root snapshot, it doesn't fully merge until I do two reboots. After the first reboot, it appears to merge successfully on a file system level--any newly created files are gone and the old ones are back--but lsblk still shows the snapshot. Only after a second reboot does this snapshot disappear. Why might this be, and how might I fix it?
Logs from an example run are shown below.
First boot:
# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
nvme0n1 259:0 0 3.6T 0 disk
├─nvme0n1p1 259:1 0 512M 0 part
├─nvme0n1p2 259:2 0 3.2T 0 part
│ ├─MainVolGrp-root 254:2 0 20G 0 lvm /
│ ├─MainVolGrp-swap 254:4 0 64G 0 lvm [SWAP]
│ └─MainVolGrp-home 254:5 0 3.1T 0 lvm /home
├─nvme0n1p3 259:3 0 16M 0 part
├─nvme0n1p4 259:4 0 128G 0 part
├─nvme0n1p5 259:5 0 1G 0 part
└─nvme0n1p6 259:6 0 64G 0 part
# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
home MainVolGrp -wi-ao---- <3.10t
root MainVolGrp -wi-ao---- 20.00g
swap MainVolGrp -wi-ao---- 64.00g
# lvcreate -L20G -n snap-root -s MainVolGrp/root
Logical volume "snap-root" created.
# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
nvme0n1 259:0 0 3.6T 0 disk
├─nvme0n1p1 259:1 0 512M 0 part
├─nvme0n1p2 259:2 0 3.2T 0 part
│ ├─MainVolGrp-root-real 254:0 0 20G 0 lvm
│ │ ├─MainVolGrp-root 254:2 0 20G 0 lvm /
│ │ └─MainVolGrp-snap--root 254:3 0 20G 0 lvm
│ ├─MainVolGrp-snap--root-cow 254:1 0 20G 0 lvm
│ │ └─MainVolGrp-snap--root 254:3 0 20G 0 lvm
│ ├─MainVolGrp-swap 254:4 0 64G 0 lvm [SWAP]
│ └─MainVolGrp-home 254:5 0 3.1T 0 lvm /home
├─nvme0n1p3 259:3 0 16M 0 part
├─nvme0n1p4 259:4 0 128G 0 part
├─nvme0n1p5 259:5 0 1G 0 part
└─nvme0n1p6 259:6 0 64G 0 part
# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
home MainVolGrp -wi-ao---- <3.10t
root MainVolGrp owi-aos--- 20.00g
snap-root MainVolGrp swi-a-s--- 20.00g root 0.01
swap MainVolGrp -wi-ao---- 64.00g
# ls /opt
# touch /opt/newfile
# ls /opt
newfile
# lvconvert --merge MainVolGrp/snap-root
Delaying merge since origin is open.
Merging of snapshot MainVolGrp/snap-root will occur on next activation of MainVolGrp/root.
# rebootJournalctl - https://0x0.st/Hi6f.txt
Second boot:
# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
MainVolGrp-snap--root 254:3 0 20G 0 lvm
nvme0n1 259:0 0 3.6T 0 disk
├─nvme0n1p1 259:1 0 512M 0 part
├─nvme0n1p2 259:2 0 3.2T 0 part
│ ├─MainVolGrp-root-real 254:0 0 20G 0 lvm
│ │ └─MainVolGrp-root 254:2 0 20G 0 lvm /
│ ├─MainVolGrp-snap--root-cow 254:1 0 20G 0 lvm
│ │ └─MainVolGrp-root 254:2 0 20G 0 lvm /
│ ├─MainVolGrp-swap 254:4 0 64G 0 lvm [SWAP]
│ └─MainVolGrp-home 254:5 0 3.1T 0 lvm /home
├─nvme0n1p3 259:3 0 16M 0 part
├─nvme0n1p4 259:4 0 128G 0 part
├─nvme0n1p5 259:5 0 1G 0 part
└─nvme0n1p6 259:6 0 64G 0 part
# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
home MainVolGrp -wi-ao---- <3.10t
root MainVolGrp Owi-aos--- 20.00g 0.00
swap MainVolGrp -wi-ao---- 64.00g
# ls /opt
# rebootJournalctl - https://0x0.st/Hi6O.txt
Third boot:
# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
nvme0n1 259:0 0 3.6T 0 disk
├─nvme0n1p1 259:1 0 512M 0 part
├─nvme0n1p2 259:2 0 3.2T 0 part
│ ├─MainVolGrp-root 254:2 0 20G 0 lvm /
│ ├─MainVolGrp-swap 254:4 0 64G 0 lvm [SWAP]
│ └─MainVolGrp-home 254:5 0 3.1T 0 lvm /home
├─nvme0n1p3 259:3 0 16M 0 part
├─nvme0n1p4 259:4 0 128G 0 part
├─nvme0n1p5 259:5 0 1G 0 part
└─nvme0n1p6 259:6 0 64G 0 part
# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
home MainVolGrp -wi-ao---- <3.10t
root MainVolGrp -wi-ao---- 20.00g
swap MainVolGrp -wi-ao---- 64.00g Journalctl - https://0x0.st/Hi6V.txt
Please let me know if I should include any more information. And thank you!
Last edited by CTA (2023-03-13 15:01:26)
Offline
Offline