Closed DallelKh closed 1 year ago
Another precision: criu-image-streamer emits the image on UNIX pipes, not just TCP. That means that you can do compression, encryption, and upload to a location of your choice (e.g., AWS S3) by plugging UNIX commands in. That's something the page server does not do.
Hi @DallelKh, this is a good question.
Short answer
Long answer
CRIU is using a protocol buffer format to encode serialized data representation of a process tree (checkpoint). This data (by default) is stored as image files, where each file contains information such as open file descriptors, memory pages, sockets, etc. In most cases, memory pages are the largest component of a checkpoint, and in the context of live migration it takes significant amount of time to be migrated to a destination host.
The page server was introduced to enable the transfer of memory pages directly from source to destination host and it can be used for pre-copy and post-copy migration. However, all other images are stored as files in the path provided with
--images-dir
.The image streamer replaced a prototype of the --remote option in CRIU. It allows to transfer all images (not only memory pages) directly from source to destination host.
I hope this answers your question.