no cow snapshot in liberty
目前UOS企业版,也就是Liberty OpenStack,暂时不支持COW的虚拟机快照。
在传统的OpenStack架构中,虚拟机快照的实现原理是,在nova-compute将虚拟机根磁盘文件拷贝到本地文件系统中,然后通过glance-api再上传到镜像仓库。如果使用分布式存储,拷贝到本地然后上传相当于做了两次数据拷贝,时间会非常长。
如果使用Ceph统一Nova、Cinder和Glance的后端存储,理论上并不需要数据拷贝,只要利用RBD snapshot的特性就能在存储后端实现快速创建快照的功能。这个功能OpenStack一直在开发,非常遗憾的是只有在最新的Master分支或下个稳定版Mitaka才能实现,感兴趣可以看看这段代码的提交时间 https://review.openstack.org/#/c/205282/
值得一提的是UOS CSP版曾经实现了类似的功能,客户在UOS公有云可以体验快速创建快照的功能,原理我们修改了Nova的rbd driver以实现RBD快照和上传Glance的功能。我们没有把代码反馈给社区的原因是这会引入“游离卷”的问题,也就是用户创建虚拟机后创建快照,如果基于这个快照创建虚拟机,因为使用COW技术底层文件是一样的,如果先删除原始虚拟机再删除快照,底层的这些文件即使没人使用也会永存占用Ceph存储空间,我们称之为“游离卷”。社区的实现更加优雅,我们也会将尽快集成COW虚拟机快照的功能。