- Launchpad Entry: NovaSpec:efficient-volumes-from-images
- Created: 03 April 2012
- Contributors: Josh Durgin, Tommi Virtanen
Make volume (and instance) creation fast if Nova volumes and Glance use the same storage backend, and the storage backend supports it.
Instance and volume creation can take advantage of underlying storage to be more efficient in space and time.
Storage systems offer a number of features that can save space and time when storing both images and volumes:
- features like copy-on-write can be used to make volume (and instance creation) near-instantaneous and save space
- deduplication can happen on images and volumes together, reducing hardware requirements
- administrators only have to maintain one storage system
User creates a bunch of new instances that have no ephemeral disks, but are all based on the same image. This happens very quickly due to a shared underlying storage system, and requires very little extra space.
Depends on create-volume-from-image and a way to query Glance about the backing store of an image.
There are two parts that are volume backend dependent:
- determining whether a given image is stored on the same backend as volumes
- efficiently creating a volume based on the image
These can both be optional volume driver methods - something like `def cloneable(image_info)` and `def clone(image_info, volume_name)` - if they aren't implemented, or cloneable returns false, fallback to the open/write/close api from create-volume-from-image.
No database or core API changes.
This need not be added or completed until the specification is nearing beta.
BoF agenda and discussion
Use this section to take notes during the BoF; if you keep it in the approved spec, use it for summarising what was discussed and note any options that were rejected.