primary vm: kvm -boot c -m 4096 -smp 2 -qmp stdio -vnc :7 -name primary -enable-kvm -cpu qemu64,+kvmclock -device piix3-usb-uhci \ -drive if=virtio,id=colo-disk0,driver=quorum,read-pattern=fifo,vote-threshold=1,children.0.file.filename=/vms/images/win7.qcow2,children.0.driver=qcow2 \ -netdev tap,id=hn0,vhost=off,script=/etc/qemu-ifup.new,downscript=/etc/qemu-ifdown.new \ -device e1000,id=e0,netdev=hn0,mac=52:a4:00:12:78:66 \ -chardev socket,id=mirror0,host=172.16.204.13,port=9003,server,nowait \ -chardev socket,id=compare1,host=172.16.204.13,port=9004,server,nowait \ -chardev socket,id=compare0,host=172.16.204.13,port=9001,server,nowait \ -chardev socket,id=compare0-0,host=172.16.204.13,port=9001 \ -chardev socket,id=compare_out,host=172.16.204.13,port=9005,server,nowait \ -chardev socket,id=compare_out0,host=172.16.204.13,port=9005 \ -object filter-mirror,id=m0,netdev=hn0,queue=tx,outdev=mirror0 \ -object filter-redirector,netdev=hn0,id=redire0,queue=rx,indev=compare_out \ -object filter-redirector,netdev=hn0,id=redire1,queue=rx,outdev=compare0 \ -object colo-compare,id=comp0,primary_in=compare0-0,secondary_in=compare1,outdev=compare_out0 secondary vm: kvm -boot c -m 4096 -smp 2 -qmp stdio -vnc :7 -name secondary -enable-kvm -cpu qemu64,+kvmclock -device piix3-usb-uhci \ -drive if=none,id=colo-disk0,file.filename=/vms/images/win7.qcow2,driver=qcow2,node-name=node0 \ -drive if=virtio,id=active-disk0,driver=replication,mode=secondary,file.driver=qcow2,top-id=active-disk0,file.file.filename=/run/shm/active_disk.img,file.backing.driver=qcow2,file.backing.file.filename=/run/shm/hidden_disk.img,file.backing.backing=colo-disk0 \ -netdev tap,id=hn0,vhost=off,script=/etc/qemu-ifup.new,downscript=/etc/qemu-ifdown.new \ -device e1000,netdev=hn0,mac=52:a4:00:12:78:66 \ -chardev socket,id=red0,host=172.16.204.13,port=9003 \ -chardev socket,id=red1,host=172.16.204.13,port=9004 \ -object filter-redirector,id=f1,netdev=hn0,queue=tx,indev=red0 \ -object filter-redirector,id=f2,netdev=hn0,queue=rx,outdev=red1 \ -object filter-rewriter,id=rew0,netdev=hn0,queue=all -incoming tcp:0:8888 on secondary vm: {'execute':'qmp_capabilities'} { 'execute': 'nbd-server-start', 'arguments': {'addr': {'type': 'inet', 'data': {'host': '172.16.204.21', 'port': '8889'} } } } {'execute': 'nbd-server-add', 'arguments': {'device': 'colo-disk0', 'writable': true } } on primary vm: {'execute':'qmp_capabilities'} { 'execute': 'human-monitor-command', 'arguments': {'command-line': 'drive_add -n buddy driver=replication,mode=primary,file.driver=nbd,file.host=172.16.204.21,file.port=8889,file.export=colo-disk0,node-name=node0'}} { 'execute':'x-blockdev-change', 'arguments':{'parent': 'colo-disk0', 'node': 'node0' } } { 'execute': 'migrate-set-capabilities', 'arguments': {'capabilities': [ {'capability': 'x-colo', 'state': true } ] } } { 'execute': 'xen-set-replication', 'arguments': {'enable': true, 'primary': true } } { 'execute': 'migrate', 'arguments': {'uri': 'tcp:172.16.204.21:8888' } }