[CRIU] Docker Live migration using CRIU

Vijay Kilari vijay.kilari at gmail.com
Sun Jan 3 23:35:40 PST 2016


Hi Hui,

  I am trying to migrate on the same machine (arm64) . I am running
p.haul service and client on
the same machine.

After copying pycriu from to /usr/local/lib/python-2.7/ from criu path
and installing
missing python packages like protobuf, ipaddr I finally face below error

The p_haul_docker.py is now looking for "containers" directory inside
/var/lib/docker/.

However there is no such directory called containers. Any idea?

SRC:
-------

ubuntu at ubuntu:~/criu/p.haul$ sudo ./p.haul-wrap client 0.0.0.0 docker
02e2ad5ab840
Establish connection...
Exec p.haul: ./p.haul docker 02e2ad5ab840 --to 0.0.0.0 --fdrpc 3 --fdmem 4

07:23:10.195: Starting p.haul
07:23:10.196: Use existing connections, fdrpc=3 fdmem=4 fdfs=None
07:23:10.196: Setting up local
07:23:10.197: `- Passing (ctl:7, data:6) pair to CRIU
07:23:10.200: [Errno 2] No such file or directory: '/var/lib/docker/containers'
Traceback (most recent call last):
  File "./p.haul", line 45, in <module>
    worker = phaul.iters.phaul_iter_worker(ph_type, connection)
  File "/home/ubuntu/criu/p.haul/phaul/iters.py", line 39, in __init__
    self.htype = htype.get_src(p_type)
  File "/home/ubuntu/criu/p.haul/phaul/htype.py", line 35, in get_src
    ht.init_src()
  File "/home/ubuntu/criu/p.haul/phaul/p_haul_docker.py", line 37, in init_src
    self.full_ctid = self.get_full_ctid()
  File "/home/ubuntu/criu/p.haul/phaul/p_haul_docker.py", line 78, in
get_full_ctid
    dir_name_list = os.listdir(os.path.join(docker_dir, "containers"))
OSError: [Errno 2] No such file or directory: '/var/lib/docker/containers'
Error (cr-service.c:879): Can't recv request: Connection reset by peer
ubuntu at ubuntu:~/criu/p.haul$

ubuntu at ubuntu:~/criu/p.haul$ sudo ls /var/lib/docker/
0.0          graph  init       network              tmp    vfs
devicemapper  image  linkgraph.db  repositories-devicemapper  trust  volumes


On Mon, Jan 4, 2016 at 11:33 AM, Vijay Kilari <vijay.kilari at gmail.com> wrote:
> Hi Hiu,
>
> I am using latest docker with checkpoint and restore feature enabled.
> Using this docker version, I could do docker native checkpoint/restore
> successfully.
>
> I tried p.haul as described in the link given by you. When p.haul
> service is launched,
> p.haul could not connect. p.haul keeps waiting for connection..
> See below log
>
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> ubuntu at ubuntu:~/docker$ criu --version
> Version: 1.8
> GitID: v1.8-193-g6aede7f
>
> ubuntu at ubuntu:~/criu/p.haul$ ps -eaf | grep criu
> ubuntu   25624     1  0 05:46 ?        00:00:00 criu service -o
> _local_/log -v4 --daemon
> ubuntu   25718 25524  0 05:56 pts/2    00:00:00 grep --color=auto criu
>
> ubuntu at ubuntu:~/criu/p.haul$ ps -eaf | grep docker
> root       915     1  0  2015 ?        00:15:28 /usr/bin/docker daemon -H fd://
> ubuntu   25720 25524  0 05:56 pts/2    00:00:00 grep --color=auto docker
>
> ubuntu at ubuntu:~/criu/p.haul$ sudo docker version
> Client:
>  Version:      1.10.0-dev
>  API version:  1.22
>  Go version:   go1.5.2
>  Git commit:   66581cd-dirty
>  Built:        Thu Dec 17 09:07:33 2015
>  OS/Arch:      linux/arm64
>  Experimental: true
>
> Server:
>  Version:      1.10.0-dev
>  API version:  1.22
>  Go version:   go1.5.2
>  Git commit:   66581cd-dirty
>  Built:        Thu Dec 17 09:07:33 2015
>  OS/Arch:      linux/arm64
>  Experimental: true
>
> ubuntu at ubuntu:~/criu/p.haul$ ./p.haul-wrap service
> Waiting for connection...
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
> On Thu, Dec 31, 2015 at 12:00 PM, Hui Kang <hkang.sunysb at gmail.com> wrote:
>> Hi, Vijay,
>> Please check out this
>> https://github.com/xemul/p.haul/blob/master/test/docker/HOWTO
>> Please note that you may need a later version of docker binary.
>>
>> - Hui
>>
>> On Thu, Dec 31, 2015 at 2:20 PM, Vijay Kilari <vijay.kilari at gmail.com> wrote:
>>> Hi,
>>>
>>>    What is the current status of docker live migration using CRIU?.
>>> Is there any wiki/blog which provides steps for doing live migration of docker?
>>>
>>> Regards
>>> Vijay
>>> _______________________________________________
>>> CRIU mailing list
>>> CRIU at openvz.org
>>> https://lists.openvz.org/mailman/listinfo/criu


More information about the CRIU mailing list