dell / csm

Dell Container Storage Modules (CSM)
Apache License 2.0
66 stars 15 forks source link

[FEATURE]: New data migration component #889

Open seanzhan2014 opened 1 year ago

seanzhan2014 commented 1 year ago

Describe the solution you'd like When user bought our storage to replace their existing storage (such as ODF), we need to provide a tool for them to migrate the pv/pvc and data. Without this tool, users have to do a lot of manual work. Take PowerScale as an example:

  1. Copy all data from existing storage to new PowerScale.
  2. Create one or multple PowerScale storageclass in Kubernetes.
  3. Create NFS exports one by one.
  4. Create static PV/PVC one by one. Such process is time consuming. During this phase, applications will be affected.

I expect we can have a tool to automate this migration:

  1. Users can create PowerScale storageclass, and defined existing PV/PVCs to be migrate, (can be namespace based, i.e. I'd like to migrate all PV/PVCs under this namespace. Or can be storageclass based. The condition should be flexible enough for users to select the existing PV/PVCs.)
  2. Users also need to define how the PV/PVC need to be migrate. It can be migrate all PV/PVCs in parallel in one time. Or they can migrate certain amount of PV/PVCs in one batch.
  3. Users can stop their applications accordingly, The new tool will then create new PV/PVCs accordingly, and deploy CSM function (Kubernetes deployment) which can mount old and new PV/PVCs.
  4. The new CSM function start to copy the data from existing PV/PVCs to new PV/PVCs.
  5. Users change the PV/PVCs in the application yaml to PowerScale PV/PVCs and relauch the application.

Describe alternatives you've considered A clear and concise description of any alternative solutions or features you've considered.

Additional context Add any other context or screenshots about the feature request here.

csmbot commented 1 year ago

@seanzhan2014: Thank you for submitting this issue!

The issue is currently awaiting triage. Please make sure you have given us as much context as possible.

If the maintainers determine this is a relevant issue, they will remove the needs-triage label and assign an appropriate priority label.


We want your feedback! If you have any questions or suggestions regarding our contributing process/workflow, please reach out to us at container.storage.modules@dell.com.