[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] Live Migration of Linux Desktop



> > migrate your "desktop" between home and work, whilst maintaining a
> > cache of *most* disk state at both sites. It'd also be useful when
> > transferring a virtual machine between your desktop and your laptop,
> > for instance.
>
> there are just some "little" problems:
>
> During migration between two different platforms it can often happen,
> depending on the CPU-type and actual CPU-state that the migration fails
> and the VM on the destination-system crashes.

Yep, you'd want a combination of machines that were compatible.  I think most 
recent Pentiums share similar instruction sets, but I think maybe Pentium M 
omits a couple of P4 instructions (anybody know?).  Athlon <-> Pentium 
migrations are yet more dodgy!

A way to disable a subset of the hardware features to restrict software to use 
only the features on all your hardware platforms would be very welcome.

> Second problem is that for migration you need a shared device for the
> image. You can use the harddrive of laptop for sharing via NFS but
> actually it's not very usefull because then you can directly work on the
> laptop.

Well, all you really need is some means (e.g. rsync, or something more 
efficient) of transferring changed disk blocks at the same time as the 
migration.  For a "I'm driving to work" migration this doesn't even need to 
be very fast, just pause the VM, send its memory state and then run an rsync.  
We don't have a hook for this state transfer to occur on at the moment, but a 
simple solution could easily be added - a more complete solution would be 
more complicated but could also be done.

> And the other scenario, making snapshots in some interval is not the
> best idea too, because the saved CPU- and memory-state and the actual
> harddisc-content you have later are out of sync. With this everything
> between data-loss and machine-crash is possible!

Snapshots are fine so long as you make them coherent before you try to run 
them.  I was envisioning snapshotting periodically from the active to the 
inactive host just to keep the state *mostly* consistent.  You'd do a full 
sync on demand when the user actually wanted a migration to occur.  You 
wouldn't usually want this behaviour because it'd waste network bandwidth and 
other resources.  But if (for instance) you wanted to be able to "migrate" 
your work VM from your desktop to your laptop in a few seconds, you might run 
the sync continually as a background task to minimize the time required to 
make everything coherent when you eventually do click "sync to laptop".

For the more general case of hardware fault tolerance, you'd need a more 
sophisticated snapshot mechanism so that you could guarantee the replica 
could resume from a consistent state at any time.  Doing this (and especially 
doing this efficiently!) is a bit more tricky.  I've heard of it being done 
on a PA-RISC based hypervisor for HP-UX, but not on a mainstream x86 
hypervisor AFAIK.

Cheers,
Mark

-- 
Dave: Just a question. What use is a unicyle with no seat?  And no pedals!
Mark: To answer a question with a question: What use is a skateboard?
Dave: Skateboards have wheels.
Mark: My wheel has a wheel!

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.