CEPH filesystem development
 help / color / mirror / Atom feed
From: Josh Durgin <josh.durgin@inktank.com>
To: Yehuda Sadeh <yehuda@inktank.com>
Cc: Alexandre DERUMIER <aderumier@odiso.com>, ceph-devel@vger.kernel.org
Subject: Re: qemu-rbd : savevm monitor command don't save vmstate, is it normal ?
Date: Wed, 29 Aug 2012 10:05:03 -0700	[thread overview]
Message-ID: <503E4BBF.8060703@inktank.com> (raw)
In-Reply-To: <CAC-hyiHURKbxNcW+MNMi2onw9iar7d7RD=y3pw_EoHQB711-iA@mail.gmail.com>

On 08/29/2012 09:25 AM, Yehuda Sadeh wrote:
> On Wed, Aug 29, 2012 at 9:15 AM, Josh Durgin <josh.durgin@inktank.com> wrote:
>> On 08/29/2012 06:40 AM, Alexandre DERUMIER wrote:
>>>
>>> Hi,
>>>
>>> I'm trying to take a full vm state snapshot with savevm monitor command
>>> (qemu 0.12rc1 + rbd 0.48.1)
>>>
>>> it seem that vmstate is not saved in the snapshot. (I also don't notice
>>> any vm hang during snapshot)
>>> Snapshot of disk is correctly made.
>>
>>
>> AFAIK the only block backend that supports saving the vmstate is qcow2.
>> For rbd, the savevm/loadvm monitor commands are equivalent to
>> 'rbd snap create' and 'rbd snap rollback'. They just save/rollback the
>> disk.
>>
>>
>>> using loadvm monitor command, rollback correctly to disk snapshot but vm
>>> hang.
>>
>>
>> If you don't quiesce i/o i.e. via xfsfreeze (it works on the vfs level
>> now, so it's not xfs-specific anymore) before snapshotting a running
>> vm, the fs might require a fsck to be usable. This is only rolling back
>> the disk, and not the memory state, so doing it while the vm is running
>> is likely to cause problems.
>>
>>
>>> starting qemu with -loadvm snapshotname give
>>> kvm: Error -22 while loading VM state
>>>
>>>
>>> Is it normal ? Not implemented ?
>>
>>
>> bdrv_{save|load}_vmstate are not implemented.
>>
> How complicated would it be to implement it? Looking at the api it
> seems trivial. We can add a new block with a .vmstate prefix and keeps
> the raw data on it. We should probably add some librbd functionality
> that stores and retrieves alternative data payloads and use it for
> that.
>
> Yehuda
>

We probably wouldn't want to keep it in a single object, since it could
be very large, but it wouldn't be hard to reuse the regular I/O code to
stripe it across objects as well. It wouldn't be very complicated to
implement.

Josh

  reply	other threads:[~2012-08-29 17:05 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-08-29 10:57 Multiple concurrent async ops per IoCtx? Rutger ter Borg
2012-08-29 13:40 ` qemu-rbd : savevm monitor command don't save vmstate, is it normal ? Alexandre DERUMIER
2012-08-29 13:48   ` Smart Weblications GmbH - Florian Wiessner
2012-08-29 14:25     ` Alexandre DERUMIER
2012-08-29 16:15   ` Josh Durgin
2012-08-29 16:25     ` Yehuda Sadeh
2012-08-29 17:05       ` Josh Durgin [this message]
2012-08-29 16:29     ` Alexandre DERUMIER
2012-08-29 14:41 ` Multiple concurrent async ops per IoCtx? Josh Durgin
2012-08-30 12:16   ` Rutger ter Borg

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=503E4BBF.8060703@inktank.com \
    --to=josh.durgin@inktank.com \
    --cc=aderumier@odiso.com \
    --cc=ceph-devel@vger.kernel.org \
    --cc=yehuda@inktank.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