githubEdit

Checkpoint/restore streamer

The Cedana daemon supports checkpoint/restore via high-performance low-overhead streaming. It's powered by the streamer pluginarrow-up-right, which is a fork of CRIU's image streamerarrow-up-right.

circle-info

Real benefits of streaming are realized only when checkpointing and restoring to/from a remote location. See remote storage.

Prerequisites

  1. Create an account with Cedana, to get access to the streamer plugin. See authentication.

  2. Set the Cedana URL & authentication token in the configuration.

  3. Install the streamer plugin with sudo cedana plugin install streamer.

  4. Ensure the daemon is running, see installation.

  5. Do a health check to ensure the plugin is ready, see health checks.

Checkpoint

The cedana dump subcommand supports a --streams <n> flag, where n is the number of parallel streams to use. For example:

cedana dump process <pid> --streams 4

This will directly stream the checkpoint to a directory, using 4 parallel streams. You will notice that the checkpoint directory contains 4 separate image files:

-rw-r--r-- 1 root root 145K Feb 19 15:13 img-0
-rw-r--r-- 1 root root  17K Feb 19 15:13 img-1
-rw-r--r-- 1 root root 209K Feb 19 15:13 img-2
-rw-r--r-- 1 root root 188K Feb 19 15:13 img-3

Restore

The cedana restore will automatically detect if the checkpoint was taken with streaming, and will use the same number of streams to restore. For example:

Compression

All compression algorithms supported for basic checkpoint/restore are supported. See compression for more information.

Remote storage

Cedana supports streaming to/from remote storage, through storage plugins. Check out the following guides for specific remote storage:

circle-info

The daemon simply reads/writes from the filesystem. This is also the case for streaming, with the additional requirement that the underlying filesystem must be POSIX-compliantarrow-up-right. To checkpoint/restore to/from a remote directory, you can also use a FUSE-based filesystem mount backed by your network storage. For Amazon's S3, check out s3fs-fusearrow-up-right.

Enable by default

To enable streaming by default, set the Checkpoint.Stream field in the configuration to the desired number of parallel streams. Zero means no streaming.

circle-info

For all available CLI options, see CLI reference. Directly interacting with daemon is also possible through gRPC, see API reference.

Last updated