jail/vimage level virtualisation requirements.
Marko Zec
zec at icir.org
Fri Oct 19 12:07:28 PDT 2007
On Friday 19 October 2007 18:15:34 Bakul Shah wrote:
> > Marko Zec <zec at icir.org>
> >
> > On Friday 19 October 2007 08:07:00 Bakul Shah wrote:
> > > Ideally snapshotting is done in a way that allows migrating a
> > > virtual machine to a different physical machine ("hibernate"
> > > to disk, and move state to a different machine and "wake up"
> > > from disk).
> >
> > Migratig kernel level state + processes from one physical machine
> > to another would be extremely difficult to accomplish IMO, though
> > having separated kernel resources could maybe help a little bit.
> > If I'm not mistaking DragnoFly folks have set this as their primary
> > goal more than four years ago, don't know how far they have
> > progressed towards live
>
> process migration...
>
> Note that I am not talking about process migration but
> virtual machine migration.
There's no such thing as true virtual machine environment with jails or
with jail-like frameworks like vimage. I don't think it's realistic to
expect to see a functional live jail migration from one machine to
another in the forseable future.
Cheers,
Marko
> Moving processes is far more
> difficult since things are coupled too tightly in Unix.
> Sharing the same file descriptor or mmap pages across diff.
> machines is not even desirable.
>
> My thought was that if access to other machines (virtual or
> real) is via network interfaces only, it would be relatively
> easy. This would be like e.g. suspending your laptop at work
> and and resuming at home. You lose things tightly coupled to
> one environment when you move to another (such as open
> connections to machines not accessible from the new
> environment).
>
> Separating kernel resources is just one step. Even for
> snapshotting on the same machine you'd need looser coupling
> between components. If you can accomplish that then
> migrating may not be that much more difficult.
>
> With VM migration you can do a lot of interesting things.
> - You can for instance interactively set up a machine "just
> right" for a certain type of user and resume it on N
> different machines, one per user. Now each of these
> machines can evolve differently (I think this is what
> Julian was referring to by "pre-packaging a machine").
> - A new OS release can be just some machine's suspended state
> + may be a script. New users can start using the machine
> almost instantly.
> - Obvious things such as replacing physical machines for
> faster ones without "taking down" live VMs.
>
> Of course, none of this is new.
More information about the freebsd-arch
mailing list