[Openstack] [OpenStack] How to add a RBD volume snapshot rollback operation to Cinder

Changqian Zuo dummyhacker85 at gmail.com
Thu Jan 2 07:38:50 UTC 2014


Hi,

First time mailing to a list.

I'm trying to add a RBD volume snapshot rollback operation to Cinder.
I've just got through WSGI part of Cinder API code and have read some
pieces of Cinder Volume. Now there is not much time for me to complete
the whole code base (with Ceph driver) very carefully, I need some
advice. 

Is adding a Extension Controller the most suitable way to do this? How
to deal with snapshot and volume state transformation, would it affect
other part of Cinder codes? What parts of Cinder codes I should pay
special attention?

Many thanks.

Some background information: 

We're planning to use Cinder bootable volume (Ceph RBD as backend) as
instance root disk in my company's OpenStack environment. Creating a
volume snapshot from image, and then use this snapshot to spawn instance
root volumes.

To backup volume state, I've thought of Cinder-Backup service (still
need to add a in-use backup for Cinder), but it takes too much space (a
80G volume would take at least 248G space for base backup image with x3
Ceph replication ratio). The other way is volume snapshot, but in this
case when restoring volume data, I have to create a new volume from
snapshot, destroy the original instance (there's no API to change a
instance's bootable volume), and create a new instance from new volume. 

The old volume can not be removed, for a snapshot is referencing to it
(the snapshot must be kept). If I do this again and again, there would
be many snapshots referencing to many different volumes, and I have to
keep these volumes (not used elsewhere), which is a mess.






More information about the Openstack mailing list