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

docs: add info about etcd snapshot #129

Open
wants to merge 2 commits into
base: version/2.1
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 12 additions & 1 deletion reference/legacy-upgrade.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,18 @@

A legacy installation of Mayastor (1.0.5 and below) cannot be seamlessly upgraded and needs manual intervention.
Follow the below steps if you wish to upgrade from Mayastor 1.0.x to Mayastor 2.1.0 and above.
Mayastor uses etcd as a persistent datastore for its configuration. As a first step, take a snapshot of the etcd. The detailed steps for taking a snapshot can be found in the etcd [documentation](https://etcd.io/docs/v3.3/op-guide/recovery/).
Mayastor uses etcd as a persistent datastore for its configuration. As a first step, take a snapshot of the etcd. To do so, execute:
{% tab title="Commands" %}
```text
kubectl exec -it mayastor-etcd-0 -n mayastor -- bash
kubectl cp -n mayastor mayastor-etcd-0:/tmp/snapshot.db ./snapshot.db
ls -lrt snapshot.db
kubectl exec -it mayastor-etcd-0 -n mayastor -- bash
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are the steps repeated here?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we need to take the snapshot on every pod of etcd? or only on the master pod?
cc @datacore-tilangovan

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi Vishnu, taking snapshot from one pod is enough.

kubectl cp -n mayastor mayastor-etcd-0:/tmp/snapshot.db ./snapshot.db
ls -lrt snapshot.db
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is the user supposed to be doing with this snapshot?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we need to provide more explanation on this. Why should a user take a etcd snapshot? Where should it be stored (if needed)? How to recover from the snapshot in case of an irrecoverable failure?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@datacore-tilangovan Could you please help me with the above information

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@avishnu It can be stored in the local, let me draft some new steps for snapshot restore.

```
{% endtab %}
<i>For more information visit [etcd documentation](https://etcd.io/docs/v3.3/op-guide/recovery/).</i>


{% hint style="warning" %}
Expand Down