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

Rebuilding/recovering a DiskPool from the device even if mayastor state is lost #1752

Open
michaelbeaumont opened this issue Oct 9, 2024 · 1 comment
Labels
documentation Improvements or additions to documentation Enhancement New feature or request

Comments

@michaelbeaumont
Copy link
Contributor

michaelbeaumont commented Oct 9, 2024

Is your feature request related to a problem? Please describe.
What happens if I lose my entire Kubernetes and mayastor deployment, so mayastor etcd and k8s etcd. All my PV/PVCs gone (i.e. without being deleted via the API). It seems like if I recreate the cluster and create the same diskpool, the existing data on the device is recognized in some sense, I see a non-zero amount of used space. and I'll even get an import error if the name of the pool has changed. But what can I actually recover from this disk pool?

Issue created from slack thread

Describe the solution you'd like
Somehow it should be possible to recover the data and ideally the PV/PVCs.

@michaelbeaumont michaelbeaumont changed the title Rebuilding/recovering a DiskPool even if mayastor state is lost Rebuilding/recovering a DiskPool from the device even if mayastor state is lost Oct 9, 2024
@tiagolobocastro tiagolobocastro added documentation Improvements or additions to documentation Enhancement New feature or request labels Oct 14, 2024
@tiagolobocastro
Copy link
Contributor

There's a few steps that we'd need to take to make this possible.
The biggest catch at the moment is that replica health is delegated entirely to etcd, so when recovering one would need to inspect each volume's replica and manually determine which one is the most up to date.
To help tackle this we should also write out health information to each replica, for example using the metadata partition we have on each replica, or using replica attributes.

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

No branches or pull requests

2 participants