[CRIU] system configuration for dumping/restoring LXC

Tycho Andersen tycho.andersen at canonical.com
Thu Sep 11 15:29:16 PDT 2014


Hi Andrew, Krystof,

On Fri, Sep 12, 2014 at 12:31:59AM +0400, Andrew Vagin wrote:
> On Thu, Sep 11, 2014 at 10:50:45AM -0700, Krystof Zmudzinski wrote:
> > 22. This time I got: bridge br0 does not exist!
> > 23. I edited network-script.sh accordingly
> > 24.  Dump doesn't work.  See attached dump1.log.
> > 25. So I went back to the way I originally created the container.  I changed
> > rootfs in test-lxc.conf to /root/test-lxc
> > 26. I created the container and started it and I was able to dump it; see
> > attached dump2.log
> > 27 However, the restore hangs.  ps a shows these processes but there is no
> > init; see attached restore.log
> 
> Welcome to the club:
> http://lists.openvz.org/pipermail/criu/2014-September/016190.html

My patch to fix this deadlock is in criu master now (1ff2500b9), so
you need to use that hash or later to work around this.

> I will write tomorrow, what we will need for investigating this problem.
> 
> Tycho, could you read the previous email from Krystof? I think you have
> more experience of dumping LXC containers.

If you can use a development version of lxc, there are is an
lxc-checkpoint command there that should invoke criu for you. You can
use it like this:

# dump
lxc-checkpoint -v -s -D /tmp/checkpoint -n $name

# wait for the monitor to die
lxc-wait -n $name -s STOPPED

# restore
lxc-checkpoint -r -v -D /tmp/checkpoint -n u1

Tycho

> Thanks,
> Andrew
> 
> > 
> >   413 pts/1    S+     0:00 /bin/bash ./run.sh test-lxc
> >   498 pts/1    S+     0:00 /root/criu-1.3/criu restore --evasive-devices
> > --tcp-e
> >   499 pts/1    t+     0:00 /root/criu-1.3/criu restore --evasive-devices
> > --tcp-e
> > 


More information about the CRIU mailing list