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


----- "Anthony Liguori" <anthony@codemonkey.ws> wrote:

> 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.

No can do.  In our setup, lvm is running in a clustered env in a single writer multiple readers configuration.  Vm may be running on a reader which is not allowed to lvrename (would corrupt the entire VG).

> 
> 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.

So keeping it optional is good.

> 
> > 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

qemu should call the freeze as part of the process (for all of the relevant devices) then take the snapshots then thaw.

> 
> > 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 20:57 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <512838278.79671287521779658.JavaMail.root@zmail07.collab.prod.int.phx2.redhat.com>
2010-10-19 20:57 ` Ayal Baron [this message]
2010-10-19 21:19   ` [Qemu-devel] Re: KVM call agenda for Oct 19 Anthony Liguori
     [not found] <314565543.45891287507100965.JavaMail.root@zmail07.collab.prod.int.phx2.redhat.com>
2010-10-19 16:54 ` Ayal Baron
2010-10-19 17:09   ` Anthony Liguori
2010-10-20  9:18     ` Kevin Wolf
2010-10-20  9:41       ` Ayal Baron
2010-10-20 13:05       ` Anthony Liguori
2010-10-18 15:43 [Qemu-devel] " Juan Quintela
2010-10-19  2:11 ` [Qemu-devel] " Chris Wright
2010-10-19 12:48   ` 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=1642827860.79861287521845369.JavaMail.root@zmail07.collab.prod.int.phx2.redhat.com \
    --to=abaron@redhat.com \
    --cc=anthony@codemonkey.ws \
    --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;
as well as URLs for NNTP newsgroup(s).