Changes

Jump to navigation Jump to search
542 bytes added ,  12:54, 13 January 2019
m
→‎Limitations: Support for DNS name resolution was added with commit a7c384f6eebcebc8b49655601956c18c51735672
Line 21: Line 21:  
[[Image:Memory_migration_with_page_server.png|thumb|500px|right|Memory migration with page server]]
 
[[Image:Memory_migration_with_page_server.png|thumb|500px|right|Memory migration with page server]]
 
When using page server, the memory is dumped not to disk, but directly to network, thus eliminating any disk reads/writes on the source. On the destination system, a page server runs, receiving the data from network and writing it to files on disk or tmpfs.
 
When using page server, the memory is dumped not to disk, but directly to network, thus eliminating any disk reads/writes on the source. On the destination system, a page server runs, receiving the data from network and writing it to files on disk or tmpfs.
 +
 +
Note that page server is only used to migrate user memory, i.e. ''pagemap.img'' and ''pages.img'' files (see [[memory dumps]] if you don't know what that means). Everything else, including, say, process mappings (''mm.img'') is dumped in a traditional manner and should be moved over when doing migration.
    
=== Pages deduplication ===
 
=== Pages deduplication ===
 +
 +
''Main article: [[Memory images deduplication]].''
    
When iterative memory dumping feature (<code>criu pre-dump</code>) is used, memory is sent to page server a few times. The page server can automatically deduplicate pages, by punching holes in parent images where the child image is replacing an existing page. This functionality is turned on by <code>--auto-dedup</code> option of <code>criu page-server</code> command.
 
When iterative memory dumping feature (<code>criu pre-dump</code>) is used, memory is sent to page server a few times. The page server can automatically deduplicate pages, by punching holes in parent images where the child image is replacing an existing page. This functionality is turned on by <code>--auto-dedup</code> option of <code>criu page-server</code> command.
Line 36: Line 40:     
  [dst]# criu page-server --images-dir $DIR --port $PORT [--auto-dedup] [...]
 
  [dst]# criu page-server --images-dir $DIR --port $PORT [--auto-dedup] [...]
 +
 +
Note that <code>criu page-server</code> is "one shot" service, meaning you need to run it for every migration, and it exits as soon as all pages are transferred (or on an error). It also makes sense to check its exit code, to make sure there was no error.
    
The options are:
 
The options are:
Line 49: Line 55:     
Some other options might also be useful, such as:
 
Some other options might also be useful, such as:
 +
 +
; --ps-socket $FD
 +
: Use provided file descriptor as socket for incoming connection. In this case <code>--address</code> and <code>--port</code> are ignored. Useful for intercepting page-server traffic e.g. to add encryption or authentication.
    
; -o|--logfile $FILE
 
; -o|--logfile $FILE
Line 55: Line 64:  
; -v$N|-vvv[..]
 
; -v$N|-vvv[..]
 
: Set logging level (verbosity). For example, <code>-v4</code> (or <code>-vvvv</code>, which means the same) enables tons of debug info.
 
: Set logging level (verbosity). For example, <code>-v4</code> (or <code>-vvvv</code>, which means the same) enables tons of debug info.
  −
{{Note|<code>criu page-server</code> is "one shot" service, meaning you need to run it for every migration, and it exits as soon as all pages are transferred (or on an error). It also makes sense to check its exit code, to make sure there was no error.}}
      
=== criu pre-dump/dump ===
 
=== criu pre-dump/dump ===
Line 79: Line 86:     
* Currently it only works via TCP
 
* Currently it only works via TCP
* DNS names are not resolved for <code>--address</code> argument, only IP addresses are allowed
   
* No encryption, no compression, data is passed over network as is
 
* No encryption, no compression, data is passed over network as is
   Line 89: Line 95:  
* [[Iterative migration]]
 
* [[Iterative migration]]
 
* [[Incremental dumps]]
 
* [[Incremental dumps]]
 +
* [[Memory images deduplication]]
 
* [[Lazy migration]]
 
* [[Lazy migration]]
  
277

edits

Navigation menu