Process Migration coming to Fedora 19 (probably)
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
.