[lxc-devel] lxc-checkpoint error

Tycho Andersen tycho.andersen at canonical.com
Tue Mar 24 15:00:00 UTC 2015


On Tue, Mar 24, 2015 at 04:40:00PM +0200, Ruslan Kuprieiev wrote:
> Hi Tycho,
> 
> On 03/24/2015 04:21 PM, Tycho Andersen wrote:
> >Hi Ruslan,
> >
> >On Tue, Mar 24, 2015 at 10:14:02AM +0200, Ruslan Kuprieiev wrote:
> >>Hi Axel,
> >>
> >>On 03/24/2015 01:17 AM, Axel Schöner wrote:
> >>>Am Montag, 23. März 2015, 15:42:47 schrieb Ruslan Kuprieiev:
> >>>>Hi!
> >>>>
> >>>>I'm trying to use lxc-checkpoint to dump/restore simple lxc container.
> >>>>
> >>>>I added:
> >>>>|# hax for criu
> >>>>
> >>>>lxc.console = none
> >>>>lxc.tty = 0
> >>>>lxc.cgroup.devices.deny = c 5:1 rwm|
> >>>>
> >>>>to container config, but when I'm trying to run
> >>>>
> >>>>|lxc-checkpoint -n $name -D $checkpoint_dir -s -v|
> >>>>
> >>>>I get:
> >>>>Error (mount.c:624): 113: ./sys/fs/cgroup/perf_event doesn't have a
> >>>>proper root mount
> >>>The problem is, that "/sys/fs/cgroup/perf_event" is in your case a bindmount
> >>>from outside (host).
> >>>CRIU can dump extern ressources which are bind mounted, you can find details
> >>>on: http://www.criu.org/External_bind_mounts.
> >>>lxc-checkpoint does not care about /sys/fs/cgroup/perf_event.
> >>Thanks for a hint.
> >>
> >>But shouldn't lxc-checkpoint just work? I mean, it should dump/restore lxc
> >>container, so it probably should handle perf_event too.
> >Unfortunately, the recent autodev patches have broken lxc-checkpoint.
> >I'm working on some patches to criu to properly resolve mount points as
> >autodev does them, but I haven't gotten anything working yet.
> >
> >Another problem is that systemd mounts propagate differently (SLAVE vs
> >PRIVATE), and that confuses criu as well. I'm now back focused more on
> >migration/criu vs LXD proper, so fixes should be rolling in in the
> >coming weeks, hopefully.
> 
> 
> Oh! So everything should be working on a bit older ubuntu, right?
> I saw your doom migration demo and your instructions in your blog,
> so looks like it clearly worked well for you =).

Yep :). For that I used utopic hosts with utopic containers with no
LXCFS. LXC hash 0080bebf3195 is probably a good one to use. You might
be able to work around the autodev stuff with:

lxc.mount.auto =
lxc.mount.auto = proc:rw sys:rw

> I might just try using a previous one, as I'm currently using the
> most recent ubuntu server for my experiments.
> 
> >That said, can you show /proc/<pid>/mountinfo for init? It looks like
> >your cgroups may be mounted in yet another configuration that we're
> >not prepared to handle that I haven't seen before.
> 
> Sure. Do you mean init like the init process of the host, right? If so, here
> it is:

Sorry, I meant the init process of the container; something like:

sudo cat /proc/$(sudo lxc-info -n $container -H -i)/mountinfo

Thanks,

Tycho

> 16 21 0:15 / /sys rw,nosuid,nodev,noexec,relatime - sysfs sysfs rw
> 17 21 0:3 / /proc rw,nosuid,nodev,noexec,relatime - proc proc rw
> 18 21 0:5 / /dev rw,relatime - devtmpfs udev
> rw,size=239064k,nr_inodes=59766,mode=755
> 19 18 0:12 / /dev/pts rw,nosuid,noexec,relatime - devpts devpts
> rw,gid=5,mode=620,ptmxmode=000
> 20 21 0:16 / /run rw,nosuid,noexec,relatime - tmpfs tmpfs
> rw,size=50132k,mode=755
> 21 0 252:0 / / rw,relatime - ext4 /dev/mapper/ubuntu--vg-root
> rw,errors=remount-ro,data=ordered
> 22 16 0:17 / /sys/fs/cgroup rw,relatime - tmpfs none rw,size=4k,mode=755
> 23 16 0:18 / /sys/fs/fuse/connections rw,relatime - fusectl none rw
> 24 16 0:6 / /sys/kernel/debug rw,relatime - debugfs none rw
> 25 16 0:10 / /sys/kernel/security rw,relatime - securityfs none rw
> 26 20 0:19 / /run/lock rw,nosuid,nodev,noexec,relatime - tmpfs none
> rw,size=5120k
> 27 20 0:20 / /run/shm rw,nosuid,nodev,relatime - tmpfs none rw
> 28 20 0:21 / /run/user rw,nosuid,nodev,noexec,relatime - tmpfs none
> rw,size=102400k,mode=755
> 29 16 0:22 / /sys/fs/pstore rw,relatime - pstore none rw
> 57 21 0:35 / /var/lib/lxcfs rw,nosuid,nodev,relatime - fuse.lxcfs lxcfs
> rw,user_id=0,group_id=0,allow_other
> 58 21 8:1 / /boot rw,relatime - ext2 /dev/sda1 rw
> 59 22 0:34 / /sys/fs/cgroup/systemd rw,nosuid,nodev,noexec,relatime - cgroup
> systemd
> rw,release_agent=/run/cgmanager/agents/cgm-release-agent.systemd,name=systemd
> 
> Thanks,
> Ruslan
> 
> >Thanks,
> >
> >Tycho
> >
> >>>
> >>>
> >>>>Could you give me a hint on what is going on?
> >>>>I also saw that other people do experience the same problem:
> >>>>http://tycho.ws/blog/2014/09/container-migration.html
> >>>>
> >>>>Thanks,
> >>>>Ruslan
> >>Thanks,
> >>Ruslan
> >>_______________________________________________
> >>lxc-devel mailing list
> >>lxc-devel at lists.linuxcontainers.org
> >>http://lists.linuxcontainers.org/listinfo/lxc-devel
> >_______________________________________________
> >lxc-devel mailing list
> >lxc-devel at lists.linuxcontainers.org
> >http://lists.linuxcontainers.org/listinfo/lxc-devel
> 


More information about the lxc-devel mailing list