OpenStack快照分析:(三)从磁盘启动云主机离线(在线)快照分析 (14)

 

OpenStack快照分析:(三)从磁盘启动云主机离线(在线)快照分析

  

OpenStack快照分析:(三)从磁盘启动云主机离线(在线)快照分析

  

OpenStack快照分析:(三)从磁盘启动云主机离线(在线)快照分析

比如,我们使用ceph作为后端存储,这时候就会使用RBD的驱动,快照调用的方法为:

def create_snapshot(self, snapshot):
   
"""Creates an rbd snapshot."""
   
with RBDVolumeProxy(self, snapshot.volume_name) as volume:
        snap = utils.convert_str(snapshot.name)
        volume.create_snap(snap)
        volume.protect_snap(snap)

其过程也就是创建一个Image对象,然后直接调用librbd相关的方法执行秒级快照,不做具体分析了。

小结:cinder-volume快照功能很简单:调用后端存储执行快照,然后更新glance数据库快照记录

阅读完上面的分析,相信读者会发现上面的快照过程中cinder执行的就是卷的快照,nova实现的是云主机信息及其镜像记录的处理。事实确实也如此:快照执行完成后,会在Dashboard的镜像面板显示一条镜像记录,在卷快照面板显示一条或者多条(如果有多个卷的话)卷快照记录。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpxggp.html