Server Migration with TCP_REPAIR

Speakers

Andrei Vagin, Mike Rapoport and Pavel Emelyanov

Label

Hands on

Session Type

Tutorial

Description

Since version 3.5 Linux kernel has support for so
called TCP connection repair. This mode was
implemented as a part of more general effort to
support checkpoint-restore for Linux containers. Yet,
TCP Repair has its own value and can be used for
advanced load balancing and migration of a service
between different containers.

We are going to start with presenting a simple example
to TCP Repair usage.  We'll walk through the example
and show how it is possible to create a two sockets
that are already connected to each other without the
need to create a server socket and to call listen().

Then we'll demonstrate the CRIU's libsoccr that allows
checkpoint and restore of an active TCP connection. We
are going to show how libsoccr[1] implements dumping
state of an active TCP connection and how it can
restore this state.

We are going to conclude with a demo the illustrates
how a container with active ssh connection is
checkpointed on one host and restored on another host
and the connection remains live after the restore.

https://criu.org/Main_Page