Add Local Cache feature to Oracle ZFSSA Cinder drivers
Currently everytime a bootable volume is created, image data is transferred
from a Cinder host to ZFS Storage Appliance (ZFSSA). If the same image is
being used multiple times, there is a lot of network traffic being wasted on
transferring the same data. To solve the problem, "Local Caching" is introduced
to both ZFSSA NFS and iSCSI drivers. The feature takes advantage of ZFSSA
snapshot and clone, which can be created almost instantly from an existing
volume.
Below is an outline of the implementation:
- Identify whether the volume being created is a bootable volume.
If so, verify the image ID being used:
(1) If there is no existing cache volume, create one and transfer
image data to it. Take a snapshot.
(2) If a cache volume already exists, verify if it is alternated/updated.
If so try to remove it. Raise exception if removal fails. Create a new
cache volume as in (1).
- Clone from the snapshot. Report the clone back to Cinder.
Cache volumes will be stored in a separate project. Cache volumes will be removed
it has no clone.
Custom schema will be used to store necessary properties in ZFSSA volumes.
There are also 2 new driver properties:
- zfssa_enable_
- zfssa_cache_
ZFSSA running software version 2013.1.2.0(full version string for this release
is 2013.06.
Blueprint information
- Status:
- Complete
- Approver:
- Mike Perez
- Priority:
- Low
- Drafter:
- Diem Tran
- Direction:
- Approved
- Assignee:
- Diem Tran
- Definition:
- Approved
- Series goal:
- Accepted for liberty
- Implementation:
- Implemented
- Milestone target:
- 7.0.0
- Started by
- Diem Tran
- Completed by
- John Griffith
Related branches
Related bugs
Sprints
Whiteboard
Gerrit topic: https:/
Addressed by: https:/
Local cache feature of Oracle ZFSSA drivers