On 07/01/2015 11:09 AM, Michael R. Hines wrote: > On 03/25/2015 04:36 AM, Wen Congyang wrote: >> Block replication is a very important feature which is used for >> continuous checkpoints(for example: COLO). >> >> Usage: >> Please refer to docs/block-replication.txt >> >> You can get the patch here: >> https://github.com/wencongyang/qemu-colo/commits/block-replication-v2 >> >> Changs Log: >> V2: >> 1. Redesign the secondary qemu(use image-fleecing) >> 2. Use Error objects to return error message >> 3. Address the comments from Max Reitz and Eric Blake >> >> Wen Congyang (13): >> docs: block replication's description >> quorum: allow ignoring child errors >> NBD client: connect to nbd server later >> Add new block driver interfaces to control block replication >> quorum: implement block driver interfaces for block replication >> NBD client: implement block driver interfaces for block replication >> allow writing to the backing file >> Allow creating backup jobs when opening BDS >> block: Parse "backing_reference" option to reference existing BDS >> Backup: clear all bitmap when doing block checkpoint >> qcow2: support colo >> skip nbd_target when starting block replication >> Don't allow a disk use backing reference target >> >> block.c | 242 +++++++++++++++++++++++- >> block/Makefile.objs | 2 +- >> block/backup.c | 12 ++ >> block/nbd.c | 171 +++++++++++++++-- >> block/qcow2.c | 447 >> ++++++++++++++++++++++++++++++++++++++++++++- >> block/qcow2.h | 6 + >> block/quorum.c | 143 ++++++++++++++- >> docs/block-replication.txt | 147 +++++++++++++++ >> include/block/block.h | 5 + >> include/block/block_int.h | 13 ++ >> include/qemu/hbitmap.h | 8 + >> qapi/block.json | 16 ++ >> tests/qemu-iotests/051 | 13 ++ >> tests/qemu-iotests/051.out | 13 ++ >> util/hbitmap.c | 19 ++ >> 15 files changed, 1230 insertions(+), 27 deletions(-) >> create mode 100644 docs/block-replication.txt >> > > When I try this patch with the MicroCheckpointing codebase, I'm having > trouble starting up the secondary/backup VM > using the branch "block-replication-v7" > > $ qemu-system-x86_64 -drive if=none,driver=raw,file=file.raw,id=nbd_target1 > -drive > if=virtio,driver=replication,mode=secondary,export=foo,file.file.filename=active_disk.qcow2,file.driver=qcow2,file.backing_reference.drive_id=nbd_target1,file.backing_reference.hidden-disk.file.filename=hidden_disk.qcow2,file.backing_reference.hidden-disk.driver=qcow2,file.backing_reference.hidden-disk.allow-write-backing-file=on > > Block format 'qcow2' used by device '' doesn't support the option > 'backing_reference.hidden-disk.allow-write-backing-file' > > What am I doing wrong here?
The command is wrong. If you use the branch block-replication-v7, the command line should like: -drive if=none,driver=raw,file=/data/images/kvm/suse/suse11_3.img,id=colo1,cache=none,aio=native -drive if=virtio,driver=replication,mode=secondary,throttling.bps-total-max=70000000,file.file.filename=/mnt/ramfs/active_disk.img,file.driver=qcow2,file.backing.file.filename=/mnt/ramfs/hidden_disk.img,file.backing.driver=qcow2,file.backing.allow-write-backing-file=on,file.backing.backing.backing_reference=colo1 Thanks Wen Congyang > > - Michael > > . >