Difference between revisions of "CR tools"

From OpenVZ Virtuozzo Containers Wiki
Jump to: navigation, search
Line 11: Line 11:
 
== Basic design ==
 
== Basic design ==
  
 +
=== Checkpoint ===
  
=== Checkpoint ===
+
The checkpoint procedure relies heavily on '''/proc''' file system (it's a general place where crtools takes all the information it needs).
 +
 
 +
This includes:
 +
* Files descriptors information (via '''/proc/$pid/fd''' and '''/proc/$pid/fdinfo''')
 +
* Pipes parameters
 +
* Memory maps (via '''/proc/$pid/maps''')
  
The checkpoint procedure relies heavily on '''/proc''' file system, since it's a general place where crtools takes all info it needs.
+
Though not all parameters can be observed this way, say the current '''brk()''' value of a process is not exported at all.

Revision as of 21:04, 14 October 2011

What CRtools is

CRtools is an utility to checkpoint/restore process tree. Unlike checkpoint/restore implemented completely in kernel space, it tries to achieve the same target mostly in user space.

Agenda

  1. Basic design (checkpoint == proc + SEIZE, restore == syscalls + execve)
  2. What's required from kernel

Basic design

Checkpoint

The checkpoint procedure relies heavily on /proc file system (it's a general place where crtools takes all the information it needs).

This includes:

  • Files descriptors information (via /proc/$pid/fd and /proc/$pid/fdinfo)
  • Pipes parameters
  • Memory maps (via /proc/$pid/maps)

Though not all parameters can be observed this way, say the current brk() value of a process is not exported at all.