[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [MirageOS-devel] Xen, MirageOS, and Unikernel Migration
On Thu, May 19, 2016 at 04:46:06PM +0100, Vittorio Cozzolino wrote: > Hi, > > I'm experimenting a bit with VM migration in XEN. Right now I'm trying to > migrate a MirageOS Unikernel from one server to another without success. The > image that I'm migrating is a customized version of the simple "hello" > example that can be found in the mirage-skeleton repo. Both my server > machines run Ubuntu 14.04 and have Xen 4.6, moreover, migration works for a > normal VM image (like Alpine Linux). > > Anyway, this is the trace generated by the migrate command: > > Saving to migration stream new xl format (info 0x3/0x0/966) .... > xc: debug: hypercall buffer: cache hits:21 misses:2 toobig:6 > > I suppose the migration fails due to a problem with the shutdown command? > I'm not an expert of XEN, I just started learning, so any > remark/comment/suggestion is welcome. > Hi Vittorio, Migration of PV guests requires some cooperation from the guest. The basic idea is that the VM actively watches for a request to suspend (migration is built around suspend-resume), and it then unhooks itself from everything that it knows about the real hardware it's running on, calls a function that returns only when the VM is now running on the new hardware, and then reestablishes all the links to the real machine. MiniOS, the base Xen OS Mirage is using doesn't currently support this. However, I have a branch with some experimental code to support it on my fork. You'll need to pin both minios-xen and mirage-xen to make it work: opam pin add -n -y mirage-xen \ git://github.com/jonludlam/mirage-platform#reenable-suspend-resume2 opam pin add -n -y minios-xen \ git://github.com/jonludlam/mini-os#suspend-resume3 Additionally, you'll need to manually watch xenstore so your VM notices the request to suspend. We've got a mirage VM that uses all this that we use for testing XenServer - it's available here: https://github.com/xapi-project/xen-test-vm - the code for watching for the suspend trigger is here: https://github.com/xapi-project/xen-test-vm/blob/master/src/mirage_vm.ml#L97-L147 I've not tried it with xl directly, but it works for us on XenServer. I'd be very interested to hear if you can get it to work! Jon > Best regards, > Vittorio > > > _______________________________________________ > MirageOS-devel mailing list > MirageOS-devel@xxxxxxxxxxxxxxxxxxxx > http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel _______________________________________________ MirageOS-devel mailing list MirageOS-devel@xxxxxxxxxxxxxxxxxxxx http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |