Support creating consistent Snapshots
Overview
The goal of this blueprint is to implement capabilities in Reddwarf to support the concept of DbaaS snapshots, which could be used to support database capabilities (i.e. backups, cloning, etc.). This will be supported in the Reddwarf API (guest_agent) and provide the ability to support snapshots in a consistent view of DB such that it can be used for replication setup, cloning of the Master DB, and/or backup such that a point-in-time restoration can be performed.
There are many methods of implementing a snapshot design such as: mysqldump with the master-data option, Perconas's XtraBackup, Openstack's volume snapshot, etc.. Each has their advantages and disadvantages. As such the design presented herein will provide for the idea of a pluggable interface such that as capabilities are developed they can be incorporated without code changes. One entities SLA may allow for only a certain type of snapshot due to acceptable down-time, etc.. So in order to offer the most robust possible snapshot implementation this pluggable API present the best of breed.
Design Goals
The following are the design goals:
• Pluggable interface to the lower snapshot implantation layer in order to support multiple snapshot mechanisms, i.e. Xtrabackup, mysqldump, Openstack's Volume support, others. This will allow for a variety of snapshot implementation that could define different levels of service. For example:
o High availability your would use Xtrabackup
o For a lower level of service mysqldump.
• Database support for information pertaining to the snapshot ,i.e. name, time of the snapshot, status information as to the current state of the snapshot, tenant information, etc..
• Use of ACLs to support backup security and access from whom to which backup.
Blueprint information
- Status:
- Complete
- Approver:
- Vipul Sabhaya
- Priority:
- High
- Drafter:
- dkehn
- Direction:
- Approved
- Assignee:
- Nikhil Manchanda
- Definition:
- Approved
- Series goal:
- Accepted for havana
- Implementation:
- Implemented
- Milestone target:
- 2013.2
- Started by
- Michael Basnight
- Completed by
- Michael Basnight
Related branches
Related bugs
Sprints
Whiteboard
Gerrit topic: https:/
Addressed by: https:/
Add DB migration script for snapshot
Addressed by: https:/
Add snapshot feature to reddwarf
Addressed by: https:/
Backup and Restore for reddwarf instances.
Addressed by: https:/
Add feature for stopping backup process when hung or starved
Addressed by: https:/
Controller and API changes for backups.