Observing QEMU QMP events via `virsh` (one example) --------------------------------------------------- On shell #1: Invoke these, and wait for Observe QEMU events: $ virsh qemu-monitor-event cvm1 --pretty --loop event BLOCK_JOB_READY at 1443712935.742142 for domain cvm1: { "device": "drive-virtio-disk0", "len": 41126912, "offset": 41126912, "speed": 0, "type": "mirror" } event BLOCK_JOB_COMPLETED at 1443712935.746500 for domain cvm1: { "device": "drive-virtio-disk0", "len": 41126912, "offset": 41126912, "speed": 0, "type": "mirror" } # On shell #2: Perform live block copy (and observe on shell #1 $ virsh start cvm1 $ virsh dumpxml --inactive cvm1 > /var/tmp/cvm1.xml # Make it transient $ virsh undefine cvm1 $ virsh blockcopy --domain cvm1 vda \ /var/lib/libvirt/images/copy1-cvm1.qcow2 \ --wait --verbose --finish Block Copy: [100 %] Successfully copied $ virsh define /var/tmp/cvm1.xml Tested with versions -------------------- qemu-system-x86-2.3.1-7.fc22.x86_64 libvirt-daemon-kvm-1.2.13.1-2.fc22.x86_64 Additional info --------------- # From QEMU log $ less From /var/log/libvirt/qemu/cvm1.log [. . .] LC_ALL=C PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin QEMU_AUDIO_DRV=none /usr/bin/qemu-kvm -name cvm1 -S -machine pc-i440fx-2.3,accel=kvm,usb=off -cpu Nehalem -m 1024 -realtime mlock=off -smp 1,sockets=1,cores=1,threads=1 -uuid 07387dc7-835c-487e-9746-d9e8ea5e2ece -nographic -no-user-config -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/cvm1.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc,driftfix=slew -global kvm-pit.lost_tick_policy=discard -no-hpet -no-shutdown -global PIIX4_PM.disable_s3=1 -global PIIX4_PM.disable_s4=1 -boot strict=on -device ich9-usb-ehci1,id=usb,bus=pci.0,addr=0x4.0x7 -device ich9-usb-uhci1,masterbus=usb.0,firstport=0,bus=pci.0,multifunction=on,addr=0x4 -device ich9-usb-uhci2,masterbus=usb.0,firstport=2,bus=pci.0,addr=0x4.0x1 -device ich9-usb-uhci3,masterbus=usb.0,firstport=4,bus=pci.0,addr=0x4.0x2 -device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x3 -drive file=/var/lib/libvirt/images/cirros-disk.img,if=none,id=drive-virtio-disk0,format=qcow2 -device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x5,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 -netdev tap,fd=25,id=hostnet0,vhost=on,vhostfd=26 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:b7:16:ae,bus=pci.0,addr=0x2 -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 -chardev socket,id=charchannel0,path=/var/lib/libvirt/qemu/channel/target/cvm1.org.qemu.guest_agent.0,server,nowait -device virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,id=channel0,name=org.qemu.guest_agent.0 -device usb-tablet,id=input0 -incoming tcp:[::]:49152 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x6 -msg timestamp=on char device redirected to /dev/pts/6 (label charserial0) Formatting '/var/lib/libvirt/images/cop1-cvm1.qcow2', fmt=qcow2 size=41126912 encryption=off cluster_size=65536 lazy_refcounts=off refcount_bits=16 (END)