Retype of cinder volume when it is in-use state.

Registered by Nataraj

The cinder Volume backend needs to be migrated(from one frame to another frame) when the volume is in-use state. Currently the volume retype is allowing when only the volume is in available state. This BP is for re-typing volumes from one storage back end to another when the volume is attached and being used by the server .

Blueprint information

Status:
Not started
Approver:
Sean McGinnis
Priority:
Low
Drafter:
Nataraj
Direction:
Needs approval
Assignee:
None
Definition:
Discussion
Series goal:
None
Implementation:
Unknown
Milestone target:
None

Related branches

Sprints

Whiteboard

Can you add more detail as to what is being proposed or submit a spec with more detail?

This BP is for retype of the cinder volume backend.

Explaination: This BP is for retyping of cinder backend when volume is in-use state. For example lets suppose Openstack is configured with two backends namely LVM and Ceph . Now we have a server which is using the volume carved out of LVM and now volume needs to be migrated from LVM to Ceph with out interruption to the IOs.For this when we issue the retype command , a new volume needs to be created on Ceph and data needs to be migrated from LVM volume to Ceph volume .

Steps:
1) Two backends are configured namely LVM and Ceph.
2) Now when re-type command is issued a new volume of same size as existing volume needs to be created on Ceph .
3) Write Operation will be taken place on both the volumes(LVM and Ceph) from the point re-type is initiated.
4) Copy process : Unused blocks will be copied from Source(LVM) volume to Target(Ceph) volume.
5) Used blocks will be copied when there are no IOs on the particular block, Suppose when IO comes to the block which is getting copied , then migration will be freezed and IOs is served first , After completion of IO, migration will take place.
6) Read Operations will be taken place on the source volume until all the date is copied.
7) Once all the data is copied then link between source volume and target volume needs to be split.
8) Then the reads will be redirected to the target(Ceph) volume , and writes will be only on Ceph. Then retype operation is completed.

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.