--- Begin Message ---
Hi Proxmox Community,

There might be a potential consistency problem with Proxmox vm deletion.

If Proxmox receives multiple concurrent VM deletion requests, where each VM has multiple disks located on shared storage.

The deletion process may fail or hang when attempting to acquire the storage lock(https://github.com/proxmox/pve-storage/blob/master/src/PVE/Storage.pm#L1196C1-L1209C7).

...
trying to acquire cfs lock 'storage-jdss-Pool-2' ...
trying to acquire cfs lock 'storage-jdss-Pool-2' ...
trying to acquire cfs lock 'storage-jdss-Pool-2' ...
trying to acquire cfs lock 'storage-jdss-Pool-2' ...
trying to acquire cfs lock 'storage-jdss-Pool-2' ...
trying to acquire cfs lock 'storage-jdss-Pool-2' ...
trying to acquire cfs lock 'storage-jdss-Pool-2' ...
cfs-lock 'storage-jdss-Pool-2' error: got lock request timeout
trying to acquire cfs lock 'storage-jdss-Pool-2' ...
trying to acquire cfs lock 'storage-jdss-Pool-2' ...
trying to acquire cfs lock 'storage-jdss-Pool-2' ...
cfs-lock 'storage-jdss-Pool-2' error: got lock request timeout
trying to acquire cfs lock 'storage-jdss-Pool-2' ...
trying to acquire cfs lock 'storage-jdss-Pool-2' ...
trying to acquire cfs lock 'storage-jdss-Pool-2' ...
trying to acquire cfs lock 'storage-jdss-Pool-2' ...
trying to acquire cfs lock 'storage-jdss-Pool-2' ...
trying to acquire cfs lock 'storage-jdss-Pool-2' ...
trying to acquire cfs lock 'storage-jdss-Pool-2' ...
cfs-lock 'storage-jdss-Pool-2' error: got lock request timeout
...

Eventually, the VM configuration files in /etc/pve are removed, but some VM disks may remain.

Additionally, the Web UI shows all deletions as successful, even though some disks were not deleted.

In my opinion, a VM should either be deleted completely—including all dependent resources—or the deletion should fail, leaving the VM configuration file with an updated state.



Im reproducing this by:

    for i in `seq 401 420` ; do  qm clone 104 $i --name "win-$i" --full --storage jdss-Pool-2 ; done;

    for i in `seq 401 410` ; do  qm destroy $i --destroy-unreferenced-disks 1 --purge 1 &  done ;


Have to notice that ssh session that I use to conduct 'qm destroy' command get terminated by Proxmox.

Ive duplicated as a bug at: https://bugzilla.proxmox.com/show_bug.cgi?id=6957


Is this a bug and will it be addressed in near future?


Best regards,

Andrei Perepiolkin



--- End Message ---
_______________________________________________
pve-devel mailing list
[email protected]
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel

Reply via email to