Skip to content
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
8 changes: 6 additions & 2 deletions docs/datastore/backup_restore.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,9 +52,13 @@ rke2 server \
systemctl start rke2-server
```

4. Remove the rke2 db directory on the other server nodes as follows:
4. Move the rke2 db directory on the other server nodes as follows (you want to keep a copy to avoid ending up with only an old or corrupt backup to chose for):
Copy link
Member

Choose a reason for hiding this comment

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

Having the old DB dir around on the secondary servers doesn't really help with anything. If you run into problems, restoring a snapshot is a better resolution than moving an old db dir back into place.

Choose a reason for hiding this comment

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

The issue is that we currently run rm -rf /var/lib/rancher/rke2/server/db/, which deletes both the etcd data and the snapshots directory. This means we erase the live data along with its backups.

We've encountered cases where customers, not paying close attention, have accidentally executed this command on all three master/etcd nodes, leading to complete data loss.

This change ensures that snapshots are not deleted until the cluster has been fully restored, allowing customers to perform the cleanup on their own afterward.

Copy link
Member

@brandond brandond Feb 19, 2025

Choose a reason for hiding this comment

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

Hmm, then how about we leave this as-is and just delete the etcd directory?

Choose a reason for hiding this comment

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

@brandond @Tejeev

I agree with the proposed change to use rm -rf /var/lib/rancher/rke2/server/db/etcd instead of the broader directory removal.

The more targeted approach addresses the core issue while providing several important benefits:

  • It removes only the etcd database files that need to be replaced during restoration
  • Preserves the snapshots directory, preventing potential complete data loss scenarios
  • Eliminates the risk we've seen with customers accidentally executing the broader command across all master/etcd nodes simultaneously
  • Requires no additional cleanup steps later in the process

```
rm -rf /var/lib/rancher/rke2/server/db
mv /var/lib/rancher/rke2/server/db /var/lib/rancher/rke2/server/backups
```
Clean them out after this operation:
```
rm -rf /var/lib/rancher/rke2/server/backups
Comment on lines +57 to +61
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
mv /var/lib/rancher/rke2/server/db /var/lib/rancher/rke2/server/backups
```
Clean them out after this operation:
```
rm -rf /var/lib/rancher/rke2/server/backups
rm -rf /var/lib/rancher/rke2/server/db/etcd

This should remove the etcd files but leave the snapshots, without requiring any additional cleanup later.

Copy link
Contributor Author

@Tejeev Tejeev Feb 22, 2025

Choose a reason for hiding this comment

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

I think this is good, unless I'm missing anything; @mattmattox?

```

5. Start the rke2-server service on other server nodes with the following command:
Expand Down
Loading