When the user attempts to use the Rollback function for a snapshot on a Proxmox Virtual Environment (PVE) Virtual Machine (VM) that is protected by Veeam Backup & Replication, the following error occurs:
qemu-img: Could not apply snapshot '%%': Device has active dirty bitmaps
The solution depends on the disk type:
The bitmaps are not persistent. Turn the VM off to delete the dirty bitmap, then use the snapshot Rollback function.
The bitmaps are persistent; even powering the VM off will not delete them. Manual actions are required:
<vm-ID-#>
with the VM's ID Number.
/usr/bin/kvm \
-id 638 \
-name 'AM-UbuntuonCIFS,debug-threads=on' \
-no-shutdown \
-chardev 'socket,id=qmp,path=/var/run/qemu-server/638.qmp,server=on,wait=off' \
-mon 'chardev=qmp,mode=control' \
-chardev 'socket,id=qmp-event,path=/var/run/qmeventd.sock,reconnect-ms=5000' \
-mon 'chardev=qmp-event,mode=control' \
-pidfile /var/run/qemu-server/638.pid \
-daemonize \
-smbios 'type=1,uuid=232415df-9102-404d-b77d-6c97ea15988d' \
-smp '4,sockets=1,cores=4,maxcpus=4' \
-nodefaults \
-boot 'menu=on,strict=on,reboot-timeout=1000,splash=/usr/share/qemu-server/bootsplash.jpg' \
-vnc 'unix:/var/run/qemu-server/638.vnc,password=on' \
-cpu qemu64,+aes,enforce,+kvm_pv_eoi,+kvm_pv_unhalt,+pni,+popcnt,+sse4.1,+sse4.2,+ssse3 \
-m 4096 \
-object 'iothread,id=iothread-virtioscsi0' \
-global 'PIIX4_PM.disable_s3=1' \
-global 'PIIX4_PM.disable_s4=1' \
-device 'pci-bridge,id=pci.1,chassis_nr=1,bus=pci.0,addr=0x1e' \
-device 'pci-bridge,id=pci.2,chassis_nr=2,bus=pci.0,addr=0x1f' \
-device 'pci-bridge,id=pci.3,chassis_nr=3,bus=pci.0,addr=0x5' \
-device 'vmgenid,guid=8cbbb400-0332-42dc-a1f8-ac0b49b4770d' \
-device 'piix3-usb-uhci,id=uhci,bus=pci.0,addr=0x1.0x2' \
-device 'usb-tablet,id=tablet,bus=uhci.0,port=1' \
-device 'VGA,id=vga,bus=pci.0,addr=0x2' \
-device 'virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3,free-page-reporting=on' \
-iscsi 'initiator-name=iqn.1993-08.local.amust:pdcqa420' \
-drive 'if=none,id=drive-ide2,media=cdrom,aio=io_uring' \
-device 'ide-cd,bus=ide.1,unit=0,drive=drive-ide2,id=ide2,bootindex=101' \
-device 'virtio-scsi-pci,id=virtioscsi0,bus=pci.3,addr=0x1,iothread=iothread-virtioscsi0' \
-drive 'file=/mnt/pve/cifs-truenas/images/638/vm-638-disk-0.qcow2,if=none,id=drive-scsi0,format=qcow2,cache=none,aio=native,detect-zeroes=on' \
-device 'scsi-hd,bus=virtioscsi0.0,channel=0,scsi-id=0,lun=0,drive=drive-scsi0,id=scsi0,bootindex=100' \
-netdev 'type=tap,id=net0,ifname=tap638i0,script=/usr/libexec/qemu-server/pve-bridge,downscript=/usr/libexec/qemu-server/pve-bridgedown,vhost=on' \
-device 'virtio-net-pci,mac=BC:24:11:E3:2A:F0,netdev=net0,bus=pci.0,addr=0x12,id=net0,rx_queue_size=1024,tx_queue_size=256,bootindex=102' \
-machine 'type=pc+pve1 \
Example:
qemu-img info /mnt/pve/cifs-truenas/images/638/vm-638-disk-0.qcow2 image: /mnt/pve/cifs-truenas/images/638/vm-638-disk-0.qcow2 file format: qcow2 virtual size: 64 GiB (68719476736 bytes) disk size: 11.9 GiB cluster_size: 65536 Format specific information: compat: 1.1 compression type: zlib lazy refcounts: false bitmaps: [0]: flags: [0]: in-use [1]: auto name: VeeamTmp_dddbe17a-9f73-4f02-9a25-140f54b40773_0d528621-6463-4d66-bc91-09b484f6e886 granularity: 65536 refcount bits: 16 corrupt: false extended l2: false Child node '/file': filename: /mnt/pve/cifs-truenas/images/638/vm-638-disk-0.qcow2 protocol type: file file length: 64 GiB (68730687488 bytes) disk size: 11.9 GiB
Example:
qemu-img bitmap --remove /mnt/pve/cifs-truenas/images/638/vm-638-disk-0.qcow2 VeeamTmp_dddbe17a-9f73-4f02-9a25-140f54b40773_0d528621-6463-4d66-bc91-09b484f6e886
This form is only for KB Feedback/Suggestions, if you need help with the software open a support case