[CRIU] Process Migration Using Sockets

Pavel Emelyanov xemul at parallels.com
Thu Jul 30 08:04:20 PDT 2015


On 07/30/2015 03:42 AM, Rodrigo Bruno wrote:
> Hi,
> 
> I am using CRIU and I extended it to support process live migration using sockets.

Have you looked at the p.haul stuff we use for the same?

> The idea is to write to a file descriptor which corresponds to a socket instead of a file.

You mean write the image files into a socket, don't you?

> The amount of code needed for this modification is very small.
> 
> So far my experiments are running smoothly. With this, I do not need a background NFS
> deployment and performance is much better. The user only needs to specify, in the command
> line args, that this migration is done using sockets. For now I am using SSH tunnels to
> redirect and cipher the data between different hosts.
> 
> I don't know if this will break any other functionality tough.

Well, if it's all about image files, then two things to keep in mind.

First, the contents of the pages.img files can already be sent to
sockets using page server (http://criu.org/Disk-less_migration).

Second, image objects are read from images in different order from the
one they were written to. So right now it's not easily possible to
pipe-line criu dump into criu restore.

> I am sending this mail to ask you if this contribution is of any interest for the project.

Of course!

> If it is, I will be glad to help, providing a patch or whatever you need.

Sure! The patch is always welcome.

-- Pavel



More information about the CRIU mailing list