With the recent approved review of the package crtools in Fedora I have made a feature proposal for checkpoint/restore.
To test checkpoint/restore on Fedora you need to run the current
development version of Fedora and install crtools using yum
(yum install crtools). Until it is decided if it actually will be a
Fedora 19 feature and the necessary changes in the Fedora kernel
packages have been implemented it is necessary to install a kernel which
is not in the repository. I have built a kernel in Fedora's buildsystem
which enables the following config options:
CHECKPOINT_RESTORE, NAMESPACES, EXPERT.
A kernel with these changes enabled is available from koji as a scratch build: http://koji.fedoraproject.org/koji/taskinfo?taskID=4899525
After installing this kernel I am able to migrate a process from one
Fedora system to another. For my test case I am migrating a UDP ping
pong (udpp.c) program from one system to another while communicating
with a third system.
udpp is running in server mode on 129.143.116.10 and on
134.108.34.90 udpp is started in client mode. After a short time I
am migrating, with the help of crtools, the udpp client to
85.214.67.247. The following is part of the output on the udpp
server:
-->
Received ping packet from 134.108.34.90:38374
Data: This is ping packet 6
Sending pong packet 6
<--
-->
Received ping packet from 134.108.34.90:38374
Data: This is ping packet 7
Sending pong packet 7
<--
-->
Received ping packet from 85.214.67.247:38374
Data: This is ping packet 8
Sending pong packet 8
<--
-->
Received ping packet from 85.214.67.247:38374
Data: This is ping packet 9
Sending pong packet 9
<--
So with only little changes to the kernel configuration it is possible
to migrate a process by checkpointing and restoring a process with the
help of crtools.
