[CRIU] Migrating docker container between two hosts - CGroup: device busy
Pavel Emelyanov
xemul at virtuozzo.com
Fri Jun 2 13:10:24 MSK 2017
On 06/01/2017 10:39 PM, Andrei Vagin wrote:
> On Sun, May 28, 2017 at 11:30:04AM +0200, SreeKrishna wrote:
>> Hi Guys,
>>
>> I'm a CRIU noob and attempting to migrate a docker container between two hosts.
>> however, I get an error stating:
>>
>>
>> Error (criu/cgroup.c:1642): cg: Can't mount controller dir
>> .criu.cgyard.g3irYd/cpu,cpuacct: Device or resource busy
>
> Could you show /proc/self/cgroup and /proc/self/mountinfo from both
> hosts?
https://github.com/xemul/criu/issues/318
> Thanks,
> Andrei
>
>>
>>
>>
>> Here are my specs:
>>
>> Host 1:
>>
>>
>>
>> ➜ ~ uname -a
>> Linux ip-172-31-16-41 4.4.0-77-generic #98-Ubuntu SMP Wed Apr 26 08:34:02
>> UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
>> ➜ ~
>> ➜ ~ docker -v
>> Docker version 17.03.1-ce, build c6d412e
>> ➜ ~
>> ➜ ~
>> ➜ ~ sudo criu check
>> Warn (criu/autofs.c:77): Failed to find pipe_ino option (old kernel?)
>> Looks good.
>>
>>
>> Host 2:
>>
>>
>>
>> ➜ ~ uname -a
>> Linux mininet-vm 4.2.0-27-generic #32~14.04.1-Ubuntu SMP Fri Jan 22
>> 15:32:26 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
>> ➜ ~
>> ➜ ~ docker -v
>> Docker version 17.03.1-ce, build c6d412e
>> ➜ ~
>> ➜ ~ sudo criu check
>> Looks good.
>>
>>
>>
>> Here's how to reproduce it:
>>
>> Host 1:
>>
>>
>>
>> ➜ ~ docker run -d --name looper --security-opt seccomp:unconfined busybox
>> \
>> /bin/sh -c 'i=0; while true; do echo $i; i=$(expr $i + 1); sleep
>> 1; done'
>> d830494e8bca353861c734a12854145fd9399b31f173a931e6cfdb529988dd06
>> ➜ ~ docker checkpoint create --checkpoint-dir=/tmp looper cp1
>>
>>
>>
>> Then I copy the /tmp/cp1 to the host 2.
>>
>>
>> Host 2:
>>
>>
>> ➜ ~ docker create --name looper2 --security-opt seccomp:unconfined busybox
>> \
>> /bin/sh -c 'i=0; while true; do echo $i; i=$(expr $i + 1); sleep
>> 1; done'
>> 50d41c5580e4800b17b753c1ca8ecb011c142842002e467eb79111c4324e737e
>> ➜ ~ docker start --checkpoint-dir=/tmp --checkpoint=cp1 looper2
>>
>> Error response from daemon: oci runtime error: criu failed: type RESTORE
>> errno 0
>> log file: /tmp/cp1/criu.work/restore-2017-05-26T13:15:21-07:00/restore.log
>>
>>
>>
>> Here's the error log
>>
>>
>> ➜ ~ sudo tail /tmp/cp1/criu.work/restore-2017-05-26T13:15:21-07:00/
>> restore.log
>> (00.000427) cg: rewriting docker/d830494e8bca353861c734a1285414
>> 5fd9399b31f173a931e6cfdb529988dd06 to /docker/
>> 50d41c5580e4800b17b753c1ca8ecb011c142842002e467eb79111c4324e737e
>> (00.000430) cg: rewriting docker/d830494e8bca353861c734a1285414
>> 5fd9399b31f173a931e6cfdb529988dd06 to /docker/
>> 50d41c5580e4800b17b753c1ca8ecb011c142842002e467eb79111c4324e737e
>> (00.000433) cg: rewriting docker/d830494e8bca353861c734a1285414
>> 5fd9399b31f173a931e6cfdb529988dd06 to /docker/
>> 50d41c5580e4800b17b753c1ca8ecb011c142842002e467eb79111c4324e737e
>> (00.000436) cg: rewriting docker/d830494e8bca353861c734a1285414
>> 5fd9399b31f173a931e6cfdb529988dd06 to /docker/
>> 50d41c5580e4800b17b753c1ca8ecb011c142842002e467eb79111c4324e737e
>> (00.000438) cg: rewriting docker/d830494e8bca353861c734a1285414
>> 5fd9399b31f173a931e6cfdb529988dd06 to /docker/
>> 50d41c5580e4800b17b753c1ca8ecb011c142842002e467eb79111c4324e737e
>> (00.000442) cg: rewriting docker/d830494e8bca353861c734a1285414
>> 5fd9399b31f173a931e6cfdb529988dd06 to /docker/
>> 50d41c5580e4800b17b753c1ca8ecb011c142842002e467eb79111c4324e737e
>> (00.000446) cg: Preparing cgroups yard (cgroups restore mode 0x4)
>> (00.000489) cg: Opening .criu.cgyard.g3irYd as cg yard
>> (00.000517) cg: Making controller dir .criu.cgyard.g3irYd/cpu,cpuacct
>> (cpu,cpuacct)
>> (00.000555) Error (criu/cgroup.c:1642): cg: Can't mount controller dir
>> .criu.cgyard.g3irYd/cpu,cpuacct: Device or resource busy
>>
>>
>>
>> TIA,
>> Krishna.
>
>> _______________________________________________
>> CRIU mailing list
>> CRIU at openvz.org
>> https://lists.openvz.org/mailman/listinfo/criu
>
> _______________________________________________
> CRIU mailing list
> CRIU at openvz.org
> https://lists.openvz.org/mailman/listinfo/criu
>
More information about the CRIU
mailing list