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
.