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

nydusd failover and live upgrade in fuse dev #1421

Open
imeoer opened this issue Sep 11, 2023 · 2 comments
Open

nydusd failover and live upgrade in fuse dev #1421

imeoer opened this issue Sep 11, 2023 · 2 comments
Labels
enhancement New feature or request

Comments

@imeoer
Copy link
Collaborator

imeoer commented Sep 11, 2023

  • Failover: in the event of a nydusd crash or other failures, the nydusd process can be restarted from a snapshot. This will ensure that the container filesystem served by nydusd is still available.

  • Live upgrade: nydusd can be upgraded without disrupting the container filesystem it serves. This is done by creating a snapshot of the running nydusd process, upgrading the binary, and then restoring the snapshot.

To achieve these capabilities, nydusd needs to store the following information in a persistent store:

  • The fuse file descriptor for the fuse connection;
  • The fuse state in fuse-backend-rs;

The nydus-snapshotter will be responsible for the workflow.

@imeoer
Copy link
Collaborator Author

imeoer commented Sep 11, 2023

cc @loheagn, we can sync the current implementation state here.

@loheagn
Copy link
Contributor

loheagn commented Dec 25, 2023

#1487 and #1529 may fix this issue.

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

No branches or pull requests

3 participants