[CRIU] criu + threaded program + TCP_REPAIR

Sowmini Varadhan sowmini.varadhan at oracle.com
Mon Oct 20 06:42:02 PDT 2014


On (10/20/14 13:55), Ruslan Kuprieiev wrote:
> 
> Well, p.haul is meant to be used with installed criu.
> You can easily install criu by running "make && make install".
> 

But the criu documentation at http://criu.org/Installation#Linux_Kernel
doesn't explicitly mention the install target :-)

anyway, that was easy enough to fix, once you pointed out the $PATH
issue.
> 
> Looks like smth happened on the remote. Could you provide
> p.haul-service log too?

I had to fix a couple of pilot-errors first- needed to make install
criu on the target-vm, and also set up a mirror image of the lxc config
there (so that the p.haul service would find the criu needed lxc config).

After that, I'm getting a bit further:

the src ("client") reports

    root at vm:~/src/p.haul# ./p.haul -v4 lxc iperfs 192.168.122.54
    Connecting to target host
    Setting up local
    `- Passing (ctl:5, data:4) pair to CRIU
    Loading config file from /var/lib/lxc/iperfs/config
    Initilized shared FS hauler
    Setting up remote
    Checking CPU compatibility
      `- Dumping CPU info
      `- Sending CPU info
      `- Checking CPU info
    Preliminary FS migration
    Starting iterations
    * Iteration 0
            Making directory /var/local/p.haul-fs/dmp-JUOEXm-14.10.20-09.34/img/1
            Issuing pre-dump command to service
    Traceback (most recent call last):
      File "./p.haul", line 39, in <module>
        worker.start_migration()
      File "/home/sowmini/src/p.haul/p_haul_iters.py", line 122, in start_migration
        raise Exception("Pre-dump failed")
    Exception: Pre-dump failed
 
The criu-service log is not very interesting:

    root at vm:~# cat /tmp/criu.log
    (00.000087) The service socket is bound to /var/run/criu_service.socket
    (00.000345) Waiting for connection...

On the p.haul-service, the error is
    root at vm2:~/src/p.haul# `pwd`/p.haul-service -v4
    Starting p.haul rpyc service
    Connected
    Data socket (datask) accepted
    Setting up service side ('lxc', 'iperfs')
    `- Passing (ctl:8, data:7) pair to CRIU
    Loading config file from /var/lib/lxc/iperfs/config
       :
       :
    Started images server
    Waiting for images to unpack
    Checking cpuinfo
       `- True
            Making directory /var/local/p.haul-fs/rst-J48TPi-14.10.20-09.34/img/1
    Starting page server for iter 1
            Sending criu rpc req
            Page server started at 5353
    Disconnected
    Error (cr-service.c:661): Can't recv request: Connection reset by peer
    Closing images
    Keeping images
    Images are kept in /var/local/p.haul-fs/rst-J48TPi-14.10.20-09.34



More information about the CRIU mailing list