qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [RFC PATCH COLO v2 00/13] Block replication for continu


From: Wen Congyang
Subject: Re: [Qemu-devel] [RFC PATCH COLO v2 00/13] Block replication for continuous checkpoints
Date: Thu, 2 Jul 2015 09:43:33 +0800
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.7.0

On 07/02/2015 03:37 AM, Michael R. Hines wrote:
> On 06/30/2015 11:11 PM, Wen Congyang wrote:
>> 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
>>>
>>> .
>>>
>>
> 
> Also, this command line you sent doesn't have the export option, but your 
> wiki does. What's the difference?

You can get the codes from here:
https://github.com/coloft/qemu/tree/wency/colo_huawei_v7.2
And I have updated the wiki. Please setup your environment according to the 
wiki.

Thanks
Wen Congyang

> 
> - Michael
> 
> .
> 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]