Hi Changqian, see comments inline. On 02/01/14 07:38, Changqian Zuo wrote: > 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. If the you use the ceph backup driver with cinder backup (added in Havana), it is capable of doing incremental/differential backups so it only actually stores the data that is in use so e.g. if you have a 80G volume with 1G of actual data, the backup volume will only be 1G on disk (x number of replicas).
You can then do a 'restore' which, again, will only transfer the actual data. Unfortunately, there is a bug in cinder-backup (all drivers) whereby bootable volumes cannot be restored, or more specifically volumes cannot be restored as bootable. There is currently a patch in progress to resolve this which we hope will land during the I cycle - https://review.openstack.org/#/c/51900/ hope that helps, Ed. > 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. > > > > _______________________________________________ > Mailing list: http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack > Post to : [email protected] > Unsubscribe : http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack _______________________________________________ Mailing list: http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack Post to : [email protected] Unsubscribe : http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack
