From Fedora Project Wiki
No edit summary
Line 16: Line 16:
== Current status ==
== Current status ==
* Targeted release: [[Releases/19 | Fedora 19 ]]  
* Targeted release: [[Releases/19 | Fedora 19 ]]  
* Last updated: 2012-10-24
* Last updated: 2013-01-22
* Percentage of completion: 0%
* Percentage of completion: 50%


== Detailed Description ==
== Detailed Description ==
Checkpointing/restore, as mentioned above, can be used for fault tolerance and load distribution.
Checkpointing/restore, as mentioned above, can be used for fault tolerance and load distribution.


Fedora can offer checkpoint/restore by using CRIU (Checkpoint/Restore In Userspace). [http://criu.org/ CRIU] has been developed with the goal to be accepted by upstream and most patches necessary have already been accepted (as of 2012-10-24) in the kernel. The current release (0.2) of the userspace tools (crtools) offers the ability to checkpoint/restore containers and thus offering the ability to migrate containers.
Fedora can offer checkpoint/restore by using CRIU (Checkpoint/Restore In Userspace). [http://criu.org/ CRIU] has been developed with the goal to be accepted by upstream and most patches necessary have already been accepted (as of 2012-10-24) in the kernel. The current release (0.3) of the userspace tools (crtools) offers the ability to checkpoint/restore containers and thus offering the ability to migrate containers.


To offer the checkpoint/restore functionality the package crtools has to be imported into Fedora and following changes are necessary to the kernel RPM:
To offer the checkpoint/restore functionality the package crtools has been imported into Fedora and following changes are still necessary to the kernel RPM:


<pre>
<pre>
Line 46: Line 46:


== Scope ==
== Scope ==
* add the crtools package to Fedora: https://bugzilla.redhat.com/show_bug.cgi?id=869618
* add the crtools package to Fedora: https://bugzilla.redhat.com/show_bug.cgi?id=869618 (done)
* activate the three kernel options mentioned above (CONFIG_EXPERT, CONFIG_NAMESPACES, CONFIG_CHECKPOINT_RESTORE)
* activate the three kernel options mentioned above (CONFIG_EXPERT, CONFIG_NAMESPACES, CONFIG_CHECKPOINT_RESTORE)


Line 66: Line 66:


== Dependencies ==
== Dependencies ==
* add the crtools package to Fedora
* add the crtools package to Fedora (done)
* activate the three kernel options mentioned above (CONFIG_EXPERT, CONFIG_NAMESPACES, CONFIG_CHECKPOINT_RESTORE)
* activate the three kernel options mentioned above (CONFIG_EXPERT, CONFIG_NAMESPACES, CONFIG_CHECKPOINT_RESTORE), if the kernel maintainers agree to enable those options


== Contingency Plan ==
== Contingency Plan ==
Line 90: Line 90:




[[Category:FeaturePageIncomplete]]
[[Category:FeatureReadyForWrangler]]
<!-- When your feature page is completed and ready for review -->
<!-- When your feature page is completed and ready for review -->
<!-- remove Category:FeaturePageIncomplete and change it to Category:FeatureReadyForWrangler -->
<!-- remove Category:FeaturePageIncomplete and change it to Category:FeatureReadyForWrangler -->
<!-- After review, the feature wrangler will move your page to Category:FeatureReadyForFesco... if it still needs more work it will move back to Category:FeaturePageIncomplete-->
<!-- After review, the feature wrangler will move your page to Category:FeatureReadyForFesco... if it still needs more work it will move back to Category:FeaturePageIncomplete-->
<!-- A pretty picture of the page category usage is at: https://fedoraproject.org/wiki/Features/Policy/Process -->
<!-- A pretty picture of the page category usage is at: https://fedoraproject.org/wiki/Features/Policy/Process -->

Revision as of 16:29, 22 January 2013

Checkpoint/Restore

Summary

Add support to checkpoint and restore processes. Checkpointing processes can be used for fault tolerance and/or load balancing.

Checkpointing a process in regular intervals can help to restart a process if it might crash to resume/restart/restore the calculation without too much data lost. Providing this ability transparent at the OS level removes the need to implement this functionality for all processes manually.

Checkpointing and restoring a process to another system can be used to migrate a process, process tree or container to another system to distribute the load during the runtime and also for maintenance without service interruption like it is possible with virtual machines.

Owner

  • Email: <adrian@lisas.de>

Current status

  • Targeted release: Fedora 19
  • Last updated: 2013-01-22
  • Percentage of completion: 50%

Detailed Description

Checkpointing/restore, as mentioned above, can be used for fault tolerance and load distribution.

Fedora can offer checkpoint/restore by using CRIU (Checkpoint/Restore In Userspace). CRIU has been developed with the goal to be accepted by upstream and most patches necessary have already been accepted (as of 2012-10-24) in the kernel. The current release (0.3) of the userspace tools (crtools) offers the ability to checkpoint/restore containers and thus offering the ability to migrate containers.

To offer the checkpoint/restore functionality the package crtools has been imported into Fedora and following changes are still necessary to the kernel RPM:

diff --git a/config-x86_64-generic b/config-x86_64-generic
index 342b862..c5f8cf9 100644
--- a/config-x86_64-generic
+++ b/config-x86_64-generic
@@ -1,5 +1,8 @@
 CONFIG_64BIT=y
 
+CONFIG_EXPERT=y
+CONFIG_CHECKPOINT_RESTORE=y
+CONFIG_NAMESPACES=y
 # CONFIG_X86_X32 is not set
 # CONFIG_MK8 is not set
 # CONFIG_MPSC is not set

Benefit to Fedora

Fedora offers the possibility to checkpoint/restore processes.

Scope

How To Test

A process should be able to be dumped with following command:

crtools dump -D <destination-directory> -t <PID>

and restored with following command:

crtools restore -D <destination-directory> -t <PID>

User Experience

Users can easily checkpoint and restore processes with the crtools package:

crtools dump -D <destination-directory> -t <PID>
crtools restore -D <destination-directory> -t <PID>

Dependencies

  • add the crtools package to Fedora (done)
  • activate the three kernel options mentioned above (CONFIG_EXPERT, CONFIG_NAMESPACES, CONFIG_CHECKPOINT_RESTORE), if the kernel maintainers agree to enable those options

Contingency Plan

  • disable kernel options

Documentation

Users can easily checkpoint and restore processes with the crtools package:

crtools dump -D <destination-directory> -t <PID>
crtools restore -D <destination-directory> -t <PID>

http://criu.org/

Release Notes

Comments and Discussion