Hi,
I believe I have found an issue with LVM storage using snapshot-as-volume-chain=1.
I can reproduce it consistently on a fully updated Proxmox VE 9.2 installation on multiple cluster nodes.
qemu-server 9.2.5
pve-qemu-kvm 11.0.3-2
lvm2 2.03.31
Storage configuration:
lvm: rtnsan03_vdisk01_thick
vgname vg_rtnsan03_vdisk01
content images
saferemove 0
shared 1
snapshot-as-volume-chain 1
The storage is a shared Fibre Channel LUN from an IBM FlashSystem 5600 presented as a normal LVM volume group.
No installer is shown.
The complete previous operating system is still present.
shows a newly created LV.
reports:
file format: qcow2
compat: 1.1
returns:
No errors were found.
qemu-img map --output=json \
/dev/vg_rtnsan03_vdisk01/vm-100-disk-0.qcow2
shows the entire virtual disk allocated (present=true) instead of mostly sparse.
qemu-img convert \
-O raw \
/dev/vg_rtnsan03_vdisk01/vm-100-disk-0.qcow2 \
test.raw
Inspecting the resulting raw image with fdisk shows the previous partition table:
GPT
Partition 1 BIOS boot
Partition 2 ext4
Partition 3 LVM
I then mounted the LVM from inside the Ubuntu installer environment:
mount /dev/mapper/ubuntu--vg-ubuntu--lv /mnt/test
and verified:
cat /mnt/test/etc/hostname
which returned:
ubuntu01
This is the hostname from the VM that had already been deleted.
This is not just leftover filesystem signatures (wipefs-style metadata). The previous guest is completely readable:
Has anyone seen this before with snapshot-as-volume-chain?
Is this expected behaviour, or does this look like a bug?
I believe I have found an issue with LVM storage using snapshot-as-volume-chain=1.
I can reproduce it consistently on a fully updated Proxmox VE 9.2 installation on multiple cluster nodes.
Environment
Proxmox VE 9.2.10qemu-server 9.2.5
pve-qemu-kvm 11.0.3-2
lvm2 2.03.31
Storage configuration:
lvm: rtnsan03_vdisk01_thick
vgname vg_rtnsan03_vdisk01
content images
saferemove 0
shared 1
snapshot-as-volume-chain 1
The storage is a shared Fibre Channel LUN from an IBM FlashSystem 5600 presented as a normal LVM volume group.
Steps to reproduce
- Create a VM with a qcow2 disk on this storage.
- Install Ubuntu Server.
- Shut down the VM.
- Delete the VM using Remove → Purge.
- Create a new VM using the same VMID and storage.
- Boot the new VM.
Expected result
The newly created qcow2 image should be empty and boot directly into the Ubuntu installer.Actual result
The VM boots directly into the previous Ubuntu installation.No installer is shown.
The complete previous operating system is still present.
What I have verified
The logical volume is recreated
lvs -o lv_name,devicesshows a newly created LV.
The qcow2 image is valid
qemu-img inforeports:
file format: qcow2
compat: 1.1
No corruption is detected
qemu-img checkreturns:
No errors were found.
The qcow2 image is not empty
Runningqemu-img map --output=json \
/dev/vg_rtnsan03_vdisk01/vm-100-disk-0.qcow2
shows the entire virtual disk allocated (present=true) instead of mostly sparse.
Converting the qcow2 image to RAW
I converted the qcow2 image to a raw image:qemu-img convert \
-O raw \
/dev/vg_rtnsan03_vdisk01/vm-100-disk-0.qcow2 \
test.raw
Inspecting the resulting raw image with fdisk shows the previous partition table:
GPT
Partition 1 BIOS boot
Partition 2 ext4
Partition 3 LVM
I then mounted the LVM from inside the Ubuntu installer environment:
mount /dev/mapper/ubuntu--vg-ubuntu--lv /mnt/test
and verified:
cat /mnt/test/etc/hostname
which returned:
ubuntu01
This is the hostname from the VM that had already been deleted.
Summary
The recreated qcow2 image appears to reference the complete contents of the previously deleted guest instead of starting as a new empty image.This is not just leftover filesystem signatures (wipefs-style metadata). The previous guest is completely readable:
- GPT partition table
- ext4 filesystem
- LVM metadata
- Complete Ubuntu installation
- Previous hostname
- VM boots successfully into the old operating system
Has anyone seen this before with snapshot-as-volume-chain?
Is this expected behaviour, or does this look like a bug?
Last edited: