Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Research on CRIU for container migration #597

Open
happyaron opened this issue May 22, 2018 · 2 comments
Open

Research on CRIU for container migration #597

happyaron opened this issue May 22, 2018 · 2 comments
Assignees

Comments

@happyaron
Copy link
Contributor

CRIU is a project to implement checkpoint/restore functionality for Linux. CRIU started as a project of Virtuozzo and grew with tremendous help from the community. It is currently used by (integrated into) OpenVZ, LXC/LXD, Docker, and other software, and CRIU packages is included into many Linux distributions.

Some lxd (which uses lxc underneath) write-up about CRIU: https://stgraber.org/2016/04/25/lxd-2-0-live-migration-912/

First step is to see if we can use it with Subutai to move a container manually from one RH to another RH in the same peer. Also experiment with transferring a container from one RH in one peer to another RH in another peer.

@happyaron happyaron self-assigned this May 22, 2018
@dilshat dilshat added this to the 7.0.4 milestone May 23, 2018
@dilshat dilshat removed this from the 7.0.4 milestone Jun 5, 2018
@happyaron
Copy link
Contributor Author

@happyaron
Copy link
Contributor Author

As for implementation, suggest we take an approach including several parts:

  1. Add dump to file & restore from file functions to Agent, when dump happens the container is stopped, and restore happens the container is resumed.
  2. Make Console/Bazaar to be migration-aware, so that it can take an active part in following parts
  3. Set up tunnel between peers for transferring container dumps and configurations
  4. Resolve any conflicts happen when a mapping already exist on the destination peer
  5. Migrate TCP connections that are in ESTABLISHED status. We can support this only when migrating among peers in the same LAN as a first step, and think about how to implement it for migrating containers around the world which may involves re-routing traffic.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants