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
>>>
WARNING: multiple messages have this Message-ID (diff)
From: Anthony Liguori <anthony@codemonkey.ws>
To: Ayal Baron <abaron@redhat.com>
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 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
>>>
next prev parent reply other threads:[~2010-10-19 17:09 UTC|newest]
Thread overview: 37+ 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 16:54 ` Ayal Baron
2010-10-19 17:09 ` Anthony Liguori [this message]
2010-10-19 17:09 ` Anthony Liguori
2010-10-20 9:18 ` Kevin Wolf
2010-10-20 9:18 ` Kevin Wolf
2010-10-20 9:41 ` Ayal Baron
2010-10-20 9:41 ` Ayal Baron
2010-10-20 13:05 ` Anthony Liguori
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 20:57 ` Ayal Baron
2010-10-19 21:19 ` Anthony Liguori
2010-10-19 21:19 ` Anthony Liguori
2010-10-18 15:43 Juan Quintela
2010-10-19 2:11 ` [Qemu-devel] " Chris Wright
2010-10-19 12:48 ` Dor Laor
2010-10-19 12:48 ` Dor Laor
2010-10-19 12:55 ` Avi Kivity
2010-10-19 12:55 ` Avi Kivity
2010-10-19 12:58 ` Dor Laor
2010-10-19 12:58 ` Dor Laor
2010-10-19 13:03 ` Avi Kivity
2010-10-19 13:03 ` Avi Kivity
2010-10-19 13:18 ` Anthony Liguori
2010-10-19 13:18 ` Anthony Liguori
2010-10-19 13:22 ` Anthony Liguori
2010-10-19 13:22 ` Anthony Liguori
2010-10-19 13:27 ` Avi Kivity
2010-10-19 13:27 ` Avi Kivity
2010-10-19 13:33 ` Anthony Liguori
2010-10-19 13:33 ` Anthony Liguori
2010-10-19 13:38 ` Stefan Hajnoczi
2010-10-19 13:38 ` Stefan Hajnoczi
2010-10-19 13:55 ` Avi Kivity
2010-10-19 13:55 ` Avi Kivity
2010-10-19 13:28 ` Anthony Liguori
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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.