External Snapshots

Leek, Jim leek2 at llnl.gov
Mon Sep 13 14:23:31 UTC 2021


I'm still trying to improve my snapshot behavior.  I was reading through the RedHat documentation and found this, "Important Red Hat recommends the use of external snapshots”  Actually external snapshots sound great.  Then on a later page I found this: “However, external snapshots are currently not fully implemented on Red Hat Enterprise Linux 7, and are not available when using virt-manager.”  Hrm.  Well, that’s for RHEL 7 and I’m using RHEL 8.  Maybe it has been fixed?  Apparently no.  When I tried to take the external snapshot it crashed with “libvirt.libvirtError: internal error: unable to execute QEMU command 'cont': Failed to get shared "write" lock.”  It created a new disk.qcow2, but the memory was not saved.  Worse, when I tried to reboot my VM it was locked to the new disk.  I changed it back to my original disk, but it says it can’t get the lock.  Even if it doesn’t work, I didn’t expect taking a snapshot to be destructive!  So, a couple of questions:


  1.  Is there any way to get external snapshots to work?
  2.  How do I clear the lock on my disk?  There aren’t any VMs alive to be using it, so I just need to clear the lock.


Below is what I was trying to do:

$ virsh snapshot-create-as centos8_1 externsnap --atomic --diskspec vda,file=$PWD/disk.qcow2,snapshot=external --memspec file=$PWD/mem.qcow2,snapshot=external
error: internal error: unable to execute QEMU command 'cont': Failed to get shared "write" lock

$ ls *.qcow2
disk.qcow2
$  #Noite there is no mem.qcow2

Then when trying to restart I first had to point virt-manager back to my original VM disk, I got this error about the disk lock:

 Error starting domain: internal error: qemu unexpectedly closed the monitor: 2021-09-13T14:12:42.409301Z qemu-kvm: -blockdev {"node-name":"libvirt-2-format","read-only":false,"driver":"qcow2","file":"libvirt-2-storage","backing":"libvirt-3-format"}: Failed to get "write" lock
Is another process using the image [/home/leek2/qemu/rhel8_1.qcow2]?

Traceback (most recent call last):
  File "/usr/share/virt-manager/virtManager/asyncjob.py", line 75, in cb_wrapper
    callback(asyncjob, *args, **kwargs)
  File "/usr/share/virt-manager/virtManager/asyncjob.py", line 111, in tmpcb
    callback(*args, **kwargs)
  File "/usr/share/virt-manager/virtManager/object/libvirtobject.py", line 66, in newfn
    ret = fn(self, *args, **kwargs)
  File "/usr/share/virt-manager/virtManager/object/domain.py", line 1280, in startup
    self._backend.create()
  File "/usr/lib64/python3.6/site-packages/libvirt.py", line 1234, in create
    if ret == -1: raise libvirtError ('virDomainCreate() failed', dom=self)
libvirt.libvirtError: internal error: qemu unexpectedly closed the monitor: 2021-09-13T14:12:42.409301Z qemu-kvm: -blockdev {"node-name":"libvirt-2-format","read-only":false,"driver":"qcow2","file":"libvirt-2-storage","backing":"libvirt-3-format"}: Failed to get "write" lock
Is another process using the image [/home/leek2/qemu/rhel8_1.qcow2]?

Thanks,
Jim
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/virt-tools-list/attachments/20210913/1c821c7a/attachment.htm>


More information about the virt-tools-list mailing list