From: Takeshi Sone <ts1@himeya.com>
To: Nolan <nolan@sigbus.net>
Cc: Tomasz Chmielewski <mangoo@wpkg.org>, kvm@vger.kernel.org
Subject: Re: I/O errors after migration - why?
Date: Mon, 30 Mar 2009 14:38:07 +0900 [thread overview]
Message-ID: <49D05ABF.6040106@himeya.com> (raw)
In-Reply-To: <1238264109.15350.260.camel@voxel>
Hello,
I had similar problem regarding block I/O and migration.
And it is worked around by qemu "stop" command and waiting 1 second
before starting migration (and cont after migration).
See the Ubuntu bug report I posted.
https://bugs.launchpad.net/ubuntu/+source/kvm/+bug/341682
I think Nolan description here explains why stop and wait works.
Nolan wrote:
> On Sat, 2009-03-28 at 11:21 +0100, Tomasz Chmielewski wrote:
>> Nolan schrieb:
>>> Tomasz Chmielewski <mangoo <at> wpkg.org> writes:
>>>> I'm trying to perform live migration by following the instructions on
>>>> http://www.linux-kvm.org/page/Migration.
>>>> Unfortunately, it doesn't work very well - guest is migrated, but looses
>>>> access to its disk.
>>> The LSI logic scsi device model doesn't implement device state save/restore.
>>> Any suspend/resume, snapshot or migration will fail.
>> Oh, that sucks - as not everything supports virtio (which doesn't work
>> for me as well for some reason) - like Windows (which should be
>> addressed soon with block virtio drivers), but also older installations,
>> running older kernels.
>
> It is indeed a shame. I wish I had the time to investigate and resolve
> the problems with my patch that I linked to previously.
>
> LSI in particular is important for interoperability, as that is what
> VMware uses.
>
>> Does IDE support migration?
>
> It appears to, but I am not 100% sure that it will always survive
> migration under heavy IO load. I've gotten mixed messages on whether or
> not the qemu core waits for all in flight IOs to complete or if the
> device models need to checkpoint pending IOs themselves. Experimental
> evidence suggests that it does not. Also, from ide.c's checkpoint save
> code:
> /* XXX: if a transfer is pending, we do not save it yet */
>
> I think the ideal here would be to stop the CPUs, but let the device
> models continue to run. Once all pending IOs have completed (and DMAed
> data and/or descriptors into guest memory, or raised interrupts, or
> whatever) then checkpoint all device state. When the guest resumes, it
> will see an unusual flurry of IO completions and/or interrupts, but it
> should be able to handle that OK. Shouldn't look much different from
> SMM taking over for a while during high IO load.
>
> This would save a lot of (unwritten, complex, hard to test)
> checkpointing code in the device models. Might cause a missed timer
> interrupt or two if there is a lot of slow IO, but that can be
> compensated for if needed.
>
>>> I sent a patch that partially addresses this (but is buggy in the presence of
>>> in-flight IO):
>>> http://lists.gnu.org/archive/html/qemu-devel/2009-01/msg00744.html
>
>
> --
> 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
prev parent reply other threads:[~2009-03-30 5:38 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-03-27 16:34 I/O errors after migration - why? Tomasz Chmielewski
2009-03-27 16:51 ` Tomasz Chmielewski
2009-03-27 17:01 ` Tomasz Chmielewski
2009-03-27 17:14 ` Tomasz Chmielewski
2009-03-27 17:33 ` Anthony Liguori
2009-03-27 18:43 ` Tomasz Chmielewski
2009-03-28 1:08 ` Nolan
2009-03-28 10:21 ` Tomasz Chmielewski
2009-03-28 18:15 ` Nolan
2009-03-30 5:38 ` Takeshi Sone [this message]
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=49D05ABF.6040106@himeya.com \
--to=ts1@himeya.com \
--cc=kvm@vger.kernel.org \
--cc=mangoo@wpkg.org \
--cc=nolan@sigbus.net \
/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.