mayastor icon indicating copy to clipboard operation
mayastor copied to clipboard

Snapshot support in Mayastor

Open andyjeffries opened this issue 3 years ago • 37 comments

Description

Provide some method of snapshotting a volume (without requiring the workload to be shutdown) as well as creating a new volume from the snapshot and rolling back the volume to the snapshot.

Context

We require this for entire cluster backups without stopping customer workloads as well as features for our users.

andyjeffries avatar Sep 22 '21 08:09 andyjeffries

@kmova here's the issue you requested. This is super important for us.

andyjeffries avatar Oct 04 '21 11:10 andyjeffries

Thank you @andyjeffries got it. Added to the upcoming release.

kmova avatar Oct 04 '21 13:10 kmova

Hey @kmova just checking in on this one, as it doesn't seem to have moved status and it's likely our biggest feature needed for our full migration.

andyjeffries avatar Nov 02 '21 11:11 andyjeffries

Hi @andyjeffries snapshot support in mayastor is currently in the roadmap. For now, you can use velero-restic to backup/restore mayastor volumes.

We have verified the backup/restore of mayastor volumes with the new mayastor-control-plane using velero v1.7. Restore in the same cluster(in a different namespace) and the different cluster is working fine.

We will keep you updated on the mayastor snapshot feature.

mynktl avatar Nov 25 '21 07:11 mynktl

The problem as I understand it is that Velero requires suspending of writes in order to perform the backups if there is no snapshot support. This causes our Kubevirt VMs to pause and requires manual intervention to restart the VMs. Obviously we can't do that across thousands of customer VMs in an automated fashion ;-)

I look forward to updates and hope it's released soon.

andyjeffries avatar Nov 25 '21 07:11 andyjeffries

hi, @mynktl @kmova I saw in the dataplane of Mayastor, snapshot has already been implemented. But in mayastor csi, snapshot related operations still tagged "Not implemented". Are there any issues blocked this feature? or do you have a recent schedule on snapshot feature?

dong-liuliu avatar Apr 22 '22 14:04 dong-liuliu

Tentatively targeting an alpha version of this functionality for Q4 2022

GlennBullingham avatar Jun 23 '22 21:06 GlennBullingham

Any news on this?

sillock1 avatar Mar 15 '23 15:03 sillock1

Also curious if there's been any progress on this feature.

cbc02009 avatar Jun 27 '23 23:06 cbc02009

It's still under known limitations... https://mayastor.gitbook.io/introduction/known-limitations

Why was this issue closed?

onedr0p avatar Jun 27 '23 23:06 onedr0p

Not sure why this one was closed tbh.. We've recently started working on snapshots and will have the first stage of snapshots release soon allowing snapshot creation via CSI. Consumption of snapshot as read-only is only available as testing for the moment. Creating volumes with snapshots as source will be available also soon but a little later as that part has only just began being developed. Rolling back a volume to the snapshot (rather than creating a new volume from the snapshot) is not on the plans at the moment, AIUI it's not on CSI? would this something worth pursuing?

tiagolobocastro avatar Jun 28 '23 20:06 tiagolobocastro

Mostly I'm looking for snapshots to use for "point in time" backups via volsync/restic. Rollback isn't something I would need.

cbc02009 avatar Jun 29 '23 01:06 cbc02009

Same here. We want to use point-in-time snapshots with Kasten (K10) backups. Hopefully, this feature is soon available! Is there a release date already scheduled?

pieveee avatar Jul 07 '23 09:07 pieveee

Hi folks, I run Product Mgmt for Datacore and the OpenEBS product. I wanted to make a more official statement on OpenEBS Snapshots. - Yes, we're adding Volume snapshots to OpenEBS Mayastor product stack. The code is actually complete and we've been doing internal testing for the past few months now. We're currently shaking down 2 small issues (that may/may-not be snapshot related... so we're being thorough in our testing of this new enterprise feature). We are preparing to drop the code soon (could be in the next 2 weeks if things go well).

  • There will be a few small conservative caveats for this initial release of Snapshots, but over-all we're super excited to be releasing this major feature to the community.
  • Please fee free to reach out to me at my Datacore email ( [email protected] ) if you'd like to discuss this feature more; or you can post comments here. The Datacore email is preferred & will get a much quicker response.

orville-wright avatar Jul 12 '23 22:07 orville-wright

close? Looks like its in 2.3 ?

axlroden avatar Jul 28 '23 10:07 axlroden

Not quite, we're missing create volume from snapshot via CSI, so you can create snapshot but can't use it via CSI yet. This should be released soon. I'll update this ticket when it is released.

tiagolobocastro avatar Jul 28 '23 10:07 tiagolobocastro

@tiagolobocastro eagerly awaiting being able to use the snapshots 😁

0dragosh avatar Jul 28 '23 10:07 0dragosh

Out of interest is there any kind of timeline on multi replica snapshots?

jrote1 avatar Aug 18 '23 13:08 jrote1

Sorry folks was on PTO when the release happened so forgot to ping, Single-replica volume snapshots and restores (snapshot clone) are out on 2.4. Stay tuned for multi-replica volume snapshots.

tiagolobocastro avatar Sep 27 '23 14:09 tiagolobocastro

Any updates on multi-replica snapshots? Is there another issue to track it?

cbc02009 avatar Oct 31 '23 14:10 cbc02009

For ref, here's the 2.4 documentation on creating snapshots: https://mayastor.gitbook.io/introduction/advanced-operations/snapshot

Restoring: https://mayastor.gitbook.io/introduction/advanced-operations/snapshot-restore

I have not found a separate issue tracking multi-replica snapshot restores. I guess it's this one?

dooafus avatar Dec 01 '23 18:12 dooafus

Mayastor docs states:

When a snapshot is created on a thick-provisioned volume, the storage system automatically converts it into a thin-provisioned volume.

But trying to use volsync I get the error

SvcError :: ClonedSnapshotVolumeThin: Cloned snapshot volumes must be thin provisioned


Edit: Managed to get it working by adding the parameter thin:true to the storage class

MrMarble avatar Dec 09 '23 01:12 MrMarble

For ref, here's the 2.4 documentation on creating snapshots: https://mayastor.gitbook.io/introduction/advanced-operations/snapshot

Restoring: https://mayastor.gitbook.io/introduction/advanced-operations/snapshot-restore

I have not found a separate issue tracking multi-replica snapshot restores. I guess it's this one?

Probably makes sense to keep this one I guess, but happy if anyone wants to close and reopen a new one!

tiagolobocastro avatar Dec 10 '23 12:12 tiagolobocastro

Mayastor docs states:

When a snapshot is created on a thick-provisioned volume, the storage system automatically converts it into a thin-provisioned volume.

But trying to use volsync I get the error

SvcError :: ClonedSnapshotVolumeThin: Cloned snapshot volumes must be thin provisioned

Edit: Managed to get it working by adding the parameter thin:true to the storage class

Yes for clones you need an explicit thin storage class. We've considered users may want a thick clone so in the future it might be possible to inflate as part of the clone, so it becomes a thick volume again.

tiagolobocastro avatar Dec 10 '23 12:12 tiagolobocastro

Is there any info about this? Would be nice to have replicas with snapshots

Currently, Mayastor only supports snapshots for volumes with a single replica. Snapshot support for volumes with more than one replica will be available in the future versions.

MrMarble avatar Dec 12 '23 12:12 MrMarble

Hi @MrMarble, soon after we launch the next version (soon, finishing testing now) we'll be writing and publishing a roadmap, for mayastor and openebs. And multi-replica snapshots would appear in that roadmap.

tiagolobocastro avatar Dec 13 '23 10:12 tiagolobocastro

Hi @MrMarble, soon after we launch the next version (soon, finishing testing now) we'll be writing and publishing a roadmap, for mayastor and openebs. And multi-replica snapshots would appear in that roadmap.

Hi, @tiagolobocastro

Do we have any updates on this? I saw in the roadmap something about Q1 2024.

mircea-pavel-anton avatar Apr 21 '24 10:04 mircea-pavel-anton

Since there is a snapshot/restore feature, can we say that it's velero compatible (without restic)?

reddec avatar May 02 '24 15:05 reddec

Hi @reddec - We recently tested an E2E working proof for Snapshot integration with VEEAM K10 Backup.

  • It worked very well and we'll be productizing that Data Protection solution very soon.

We have not yet tested Velero, but... since VEEAM snapshot integration works... its very likely that Velero will also work.

If you are able to test Velero with the latest version of OpenEBS Mayastor v2.6.1... then there's a very high chance of success. I'm looping in Ranajith on our team - @r1jt

  • @r1jt ran the project to test/validate Snapshot integration with VEEAM K10 a couple of weeks ago.

Also cc: @avishnu @Abhinandan-Purkait @niladrih @tiagolobocastro

Cheers, ~Dave

orville-wright avatar May 02 '24 17:05 orville-wright

Hey !

I'm currently running Mayastor v2.6.1, and for 5 months I've been running velero-plugin-for-csi to backup Mayastor volumes to S3. I can confirm that everything works just fine using VolumeSnapshotClass and Velero integration.

synthe102 avatar May 17 '24 23:05 synthe102