[libvirt-users] libvirt unavailable while a VM is in migration?]

Igor Serebryany igor47 at moomers.org
Thu Mar 24 09:51:05 UTC 2011


I recently had a chance to come back to this problem, and I'm sorry to
say that it hasn't gotten any better. I tested on debian sid with a
stock install of kvm 0.14 and libvirt 0.8.8-3 -- i'm still completely
unable to interact with libvirt while an outgoing migration is in
progress, although it seems as though actual migrations have gotten much
faster.

just an fyi.

--Igor

On Wed, Dec 29, 2010 at 05:06:12PM -0600, Igor Serebryany wrote:
> I've opened a bug to track this issue:
> https://bugzilla.redhat.com/show_bug.cgi?id=666266
> 
> I have tried to work around the issue by making my migrations non-live,
> hoping that the shorter downtime will make this less of a big deal. But
> migrating busy domains with lots of RAM still takes a surprisingly long
> time even if the domain is paused during migration -- something I did
> not expect.
> 
> For instance, a domain with 8 GB of ram migrating over a gigabit network
> takes about 20 seconds if the domain is idle and not using much ram.
> However, if I start a run of 'stress' inside the VM which uses 6 gigs of
> RAM in random malloc/free calls, the same domain might take 20 minutes
> to migrate. 
> 
> Has anyone else experienced this? Is there some kind of compression
> going on when doing tunneled migrations which breaks down when the pages
> are dirty?
> 
> --Igor
> 
> On Thu, Dec 23, 2010 at 06:13:35AM +1100, Justin Clift wrote:
> > On 23/12/2010, at 5:44 AM, Igor Serebryany wrote:
> > > On Mon, Dec 20, 2010 at 02:14:42PM +0100, Jiri Denemark wrote:
> > >> Ouch, I wonder if that could be the reason...
> > > 
> > > Just to make sure that my strange compiling/packages aren't causing the
> > > problem, I've set up two servers running fedora 14 with the official
> > > libvirt packages. i experience the same problem -- while a vm is in
> > > migration, nothing else works. my traces reveal libvirt getting stuck at
> > > the same exact spot as on my debian machines.
> > 
> > This sounded familiar, so went looking in git history.  I *think* this is
> > what was sounding familiar, from ~ libvirt 0.8.2:
> > 
> > commit 755b53f946107539ba6faf3022450b3d0bbe1d78
> > Author: Daniel P. Berrange <berrange at redhat.com>
> > Date:   Thu Jun 24 19:15:27 2010 +0100
> > 
> >     Avoid blocking all APIs during incoming migration
> >    
> >     During incoming migration the QEMU monitor is not able to be
> >     used. The incoming migration code did not keep hold of the
> >     job lock because migration is split across multiple API calls.
> >     This meant that further monitor commands on the guest would
> >     hang until migration finished with no timeout.
> >    
> >     In this change the qemuDomainMigratePrepare method sets the
> >     job flag just before it returns. The qemuDomainMigrateFinish
> >     method checks for this job flag & clears it once done. This
> >     prevents any use of the monitor between prepare+finish steps.
> >    
> >     The qemuDomainGetJobInfo method is also updated to refresh
> >     the job elapsed time. This means that virsh domjobinfo can
> >     return time data during incoming migration
> >    
> >     * src/qemu/qemu_driver.c: Keep a job active during incoming
> >       migration. Refresh job elapsed time when returning job info
> > 
> > Anyone know if this is actually relevant?
> > 
> > 
> > > i am desperate to get this bug fixed, and i don't think i have the
> > > resources to try to patch it myself. is there anything i can do to help
> > > you guys? more debugging info? foot massage?
> > 
> > Good idea.  Foot massages would definitely be an incentive I
> > could be convinced with. :)
> > 
> > (it would probably help if I was the right kind of coder for this,
> > but I'm not)



> _______________________________________________
> libvirt-users mailing list
> libvirt-users at redhat.com
> https://www.redhat.com/mailman/listinfo/libvirt-users

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://listman.redhat.com/archives/libvirt-users/attachments/20110324/36ea8e4a/attachment.sig>


More information about the libvirt-users mailing list