L 的增量备份改进¶
https://blueprints.launchpad.net/cinder/+spec/cinder-incremental-backup-improvements-for-l
本规范建议通过添加 is_incremental 和 has_dependent_backups 标志来指示备份类型,并添加 parent_id 以报告信息,从而改进当前的增量备份。
问题描述¶
在 Kilo 版本中,我们支持增量备份,但仍有一些需要改进的地方。1. 从 API 角度来看,没有地方可以显示备份是增量备份还是全量备份。2. 用户也不知道增量备份是否可以删除,重要的是 Cinder 不允许删除此备份,因为“此备份存在增量备份”。目前,他们必须尝试才能知道。因此,如果有一个标志指示备份是否可以删除,这将为用户带来更多便利并减少 API 调用。3. 通过向 Ceilometer 报告,添加 parent_id 以丰富通知系统
用例¶
对于第三方计费系统来说,区分全量备份和增量备份很有用,因为使用不同大小的存储空间,全量备份和增量备份的费用可能不同。
提议的变更¶
1. 在显示单个备份详细信息时,cinder-api 需要通过检查 backup[‘parent_id’] 来判断此备份是否为全量备份。2. 如果是增量备份,则判断此备份是否有依赖备份,就像我们在删除备份过程中所做的那样。3. 然后将 ‘is_incremental=True’ 和 ‘has_dependent_backups=True/False’ 添加到响应体中。4. 将 parent_id 添加到通知系统中。
备选方案¶
无。
数据模型影响¶
无。
REST API 影响¶
显示增量备份详细信息的响应体将更改如下
- ::
- {
- “backup”: {
……, “is_incremental”: True/False, “has_dependent_backups”: True/False
}
}
如果存在全量备份,则 is_incremental 标志将为 False。如果全量备份有依赖备份,则 has_dependent_backups 将为 True。
安全影响¶
无
通知影响¶
将 parent_id 添加到备份通知中。
其他最终用户影响¶
最终用户可以获得有关增量备份的更多信息。增强用户体验。
性能影响¶
由于我们添加了对依赖备份的额外判断。我们可以通过在备份表上添加索引并计算依赖备份的数量,以 SQL 的方式进行判断,从而消除性能影响。
IPv6 影响¶
无。
其他部署者影响¶
无。
开发人员影响¶
无。
社区影响¶
无。
实现¶
负责人¶
wanghao
工作项¶
在 cinder-api 中添加查询和判断代码。
将 parent_id 添加到通知系统中。
添加单元测试。
依赖项¶
无
测试¶
需要单元测试以确保响应正常工作。
文档影响¶
1. 云管理员文档将更新以介绍更改:https://docs.openstack.org/admin-guide/blockstorage_volume_backups.html
2. 备份的 API 参考也将更新:https://developer.openstack.org/api-ref-blockstorage-v2.html
参考资料¶
无