public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
From: Anthony Liguori <anthony@codemonkey.ws>
To: Ayal Baron <abaron@redhat.com>
Cc: Chris Wright <chrisw@sous-sol.org>,
	Juan Quintela <quintela@redhat.com>,
	chrisw@redhat.com,
	"Venkateswararao Jujjuri (JV)" <jvrao@linux.vnet.ibm.com>,
	qemu-devel@nongnu.org, kvm@vger.kernel.org, dlaor@redhat.com
Subject: Re: [Qemu-devel] Re: KVM call agenda for Oct 19
Date: Tue, 19 Oct 2010 12:09:36 -0500	[thread overview]
Message-ID: <4CBDD0D0.6050101@codemonkey.ws> (raw)
In-Reply-To: <394180839.46171287507268868.JavaMail.root@zmail07.collab.prod.int.phx2.redhat.com>

On 10/19/2010 11:54 AM, Ayal Baron wrote:
> ----- "Anthony Liguori"<anthony@codemonkey.ws>  wrote:
>
>    
>> On 10/19/2010 07:48 AM, Dor Laor wrote:
>>      
>>> On 10/19/2010 04:11 AM, Chris Wright wrote:
>>>        
>>>> * Juan Quintela (quintela@redhat.com) wrote:
>>>>          
>>>>> Please send in any agenda items you are interested in covering.
>>>>>            
>>>> - 0.13.X -stable handoff
>>>> - 0.14 planning
>>>> - threadlet work
>>>> - virtfs proposals
>>>>
>>>>          
>>> - Live snapshots
>>>    - We were asked to add this feature for external qcow2
>>>      images. Will simple approach of fsync + tracking each requested
>>>      backing file (it can be per vDisk) and re-open the new image
>>>        
>> would
>>      
>>>      be accepted?
>>>        
>> I had assumed that this would involve:
>>
>> qemu -hda windows.img
>>
>> (qemu) snapshot ide0-disk0 snap0.img
>>
>> 1) create snap0.img internally by doing the equivalent of `qemu-img
>> create -f qcow2 -b windows.img snap0.img'
>> 2) bdrv_flush('ide0-disk0')
>> 3) bdrv_open(snap0.img)
>> 4) bdrv_close(windows.img)
>> 5) rename('windows.img', 'windows.img.tmp')
>> 6) rename('snap0.img', 'windows.img')
>> 7) rename('windows.img.tmp', 'snap0.img')
>>      
> All the rename logic assumes files, need to take into account devices as well (namely LVs)
>    

Sure, just s/rename/lvrename/g.

The renaming step can be optional and a management tool can take care of 
that.  It's really just there for convenience since the user expectation 
is that when you give a name of a snapshot, that the snapshot is 
reflected in that name not that the new in-use image is that name.

> Also, just to make sure, this should support multiple images (concurrent snapshot of all of them or a subset).
>    

Yeah, concurrent is a little trickier.  Simple solution is for a 
management tool to just do a stop + multiple snapshots + cont.  It's 
equivalent to what we'd do if we don't do it aio which is probably how 
we'd do the first implementation.

But in the long term, I think the most elegant solution would be to 
expose the freeze api via QMP and let a management tool freeze multiple 
devices, then start taking snapshots, then unfreeze them when all 
snapshots are complete.

Regards,

Anthony Liguori

> Otherwise looks good.
>
>    
>> Regards,
>>
>> Anthony Liguori
>>
>>      
>>>    - Integration with FS freeze for consistent guest app snapshot
>>>      Many apps do not sync their ram state to disk correctly or
>>>        
>> frequent
>>      
>>>      enough. Physical world backup software calls fs freeze on xfs
>>>        
>> and
>>      
>>>      VSS for windows to make the backup consistent.
>>>      In order to integrated this with live snapshots we need a guest
>>>      agent to trigger the guest fs freeze.
>>>      We can either have qemu communicate with the agent directly
>>>        
>> through
>>      
>>>      virtio-serial or have a mgmt daemon use virtio-serial to
>>>      communicate with the guest in addition to QMP messages about
>>>        
>> the
>>      
>>>      live snapshot state.
>>>      Preferences? The first solution complicates qemu while the
>>>        
>> second
>>      
>>>      complicates mgmt.
>>> -- 
>>> To unsubscribe from this list: send the line "unsubscribe kvm" in
>>> the body of a message to majordomo@vger.kernel.org
>>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>>        


  reply	other threads:[~2010-10-19 17:09 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <314565543.45891287507100965.JavaMail.root@zmail07.collab.prod.int.phx2.redhat.com>
2010-10-19 16:54 ` [Qemu-devel] Re: KVM call agenda for Oct 19 Ayal Baron
2010-10-19 17:09   ` Anthony Liguori [this message]
2010-10-20  9:18     ` Kevin Wolf
2010-10-20  9:41       ` Ayal Baron
2010-10-20 13:05       ` Anthony Liguori
     [not found] <512838278.79671287521779658.JavaMail.root@zmail07.collab.prod.int.phx2.redhat.com>
2010-10-19 20:57 ` Ayal Baron
2010-10-19 21:19   ` Anthony Liguori
2010-10-18 15:43 Juan Quintela
2010-10-19  2:11 ` Chris Wright
2010-10-19 12:48   ` [Qemu-devel] " Dor Laor
2010-10-19 12:55     ` Avi Kivity
2010-10-19 12:58       ` Dor Laor
2010-10-19 13:03         ` Avi Kivity
2010-10-19 13:18           ` Anthony Liguori
2010-10-19 13:22     ` Anthony Liguori
2010-10-19 13:27       ` Avi Kivity
2010-10-19 13:33         ` Anthony Liguori
2010-10-19 13:38           ` Stefan Hajnoczi
2010-10-19 13:55             ` Avi Kivity
2010-10-19 13:28     ` Anthony Liguori

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4CBDD0D0.6050101@codemonkey.ws \
    --to=anthony@codemonkey.ws \
    --cc=abaron@redhat.com \
    --cc=chrisw@redhat.com \
    --cc=chrisw@sous-sol.org \
    --cc=dlaor@redhat.com \
    --cc=jvrao@linux.vnet.ibm.com \
    --cc=kvm@vger.kernel.org \
    --cc=qemu-devel@nongnu.org \
    --cc=quintela@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox