Percona Everest backup from S3

We are testing DR scenarios. The one of them is accidental MongoDB deletion.
While we are delete the database there is one question "Do you want to permanently delete "

and the checkbox to “keep backup storage data”. After we are check this checkbox the data persists on s3 storage but when we are creating new database the backups are not visible in the Backups tab in the new database.

The question is: is there is a way to restore this database?

Hi @Trajanka_Milkova,
You are right. After deleting a DB from Everest, even if you check the “Keep backups storage data”, you are not able to restore from those backups.

Currently, Everest can only create a new database from a backup if that DB still exists in Everest.

The missing piece here is a feature we will be developing in one of the upcoming releases called “Restore a DB from an external backup”. The idea is that, as long as you have some backup in an S3 storage, you can restore that backup onto a DB running in Everest.

Having said this, until we release that feature, the DR scenario you described (Restore a DB that has been deleted from Everest) isn’t supported.

1 Like

Thank you very much for the fast responce :slight_smile:

I was expecting to experiance the same as Harsha explain from this post: Creating a cluster from S3 backup path. "I deleted a db with backups and created a new db with the same name as deleted db and realised that backups from deleted db are visible in new db, " I expected to see the previous database snapshoots if the newly created database is with the same name as deleted one. Is it good approach / do you recommend maybe to move the files from directory with the last good backup into the new directory created with the new database?

I expected to see the previous database snapshoots if the newly created database is with the same name as deleted one.

This was true during our alpha/beta stage but it wasn’t correct at all. Trying to use those backups to restore the new DB would most likely lead to a failed restoration. So we decided to properly clean those artifacts. Now, deleting a DB doesn’t leave any of those potentially harmful resources behind.

Is it good approach / do you recommend maybe to move the files from directory with the last good backup into the new directory created with the new database?

I can’t recommend this at all. It wouldn’t work. Everest doesn’t blindly look at the backup files in S3, it requires the backup CRs to exist in the k8s cluster. Also, these backup CRs need to be managed by the operator, you can’t just fabricate them to point to an already existing backup in S3.

I know this can be a roadblock for you but currently there isn’t a valid workaround for your use case. We will start internal discussions of the “Restore a DB from an external backup” feature to tentatively deliver it in a few releases from now.