[CRIU] p.haul: migrating process with TCP connection established

Pavel Emelyanov xemul at parallels.com
Wed Apr 9 22:41:59 PDT 2014


On 04/09/2014 08:17 PM, Oscar Fernández wrote:
> Hello, responses inline.
> 
> 2014-04-09 17:44 GMT+02:00 Pavel Emelyanov <xemul at parallels.com <mailto:xemul at parallels.com>>:
> 
>     On 04/09/2014 07:26 PM, Oscar Fernández wrote:
>     > Hi all,
>     > I'm trying to migrate a process which has a TCP connection established. This process is the server side of a simple server-client TCP program.
>     >
>     > First of all I tried to dump and restore it using CRIU and it worked fine thanks to --tcp-established option.
>     >
>     > Now I want to move that process to another machine, so I'm using p.haul this time, but it fails on process restoration.
> 
>     Can you show the command you're doing it with?
> 
>  
> I'm using this command: p.haul/p.haul pid 3916 192.168.56.201 -v4

OK, then this is pid driver. As Andrey pointed out live-migrating of a single process
is tricky, since it's not clear what to do with the IP address. If you can take an
IP address with the process, then live-migraiton is possible, but this should be
properly coded in pid driver.

> 
>     > The content of criu_restore.log is:
>     >
>     > 3741: Error (sk-inet.c:514): Connected TCP socket in image
>     > Error (cr-restore.c:1036): 3741 exited, status=255
>     > Error (cr-restore.c:1579): Restoring FAILED.
> 
>     There's a -v<N> option to the p.haul that increases verbosity,
>     it will give us more info :)
> 
> 
> Please, find attached the criu_restore.log file.

Hm... Why did dump succeeded? It should have noticed that there was TCP socket alive
and abort the dump. Can you show the dump.log?

Thanks,
Pavel


More information about the CRIU mailing list