一张图看懂volume backup流程

来源:互联网 发布:看韩国电影软件 编辑:程序博客网 时间:2024/05/29 19:07

    openstack环境下用cinder组件来管理云硬盘,包括云硬盘的创建,删除,为虚机attach和detach等,今天和大家分享下volume backup的流程。
    cinder API接收到请求后转发到cinder-backup,由cinder-backup服务负责监听请求并转发,中间的一些检查包括volume类型,所在存储节点是否运行cinder-backup服务等,此处不多做介绍,感兴趣可以跟代码走读一下。
    cinder-backup接收到请求后首先调用后端driver进行备份,备份成功后update数据库,流程结束。重点看一下driver部分做backup时的流程,如下图所示:
backup流程图
    backup的后端driver在cinder.conf中配置,可配置的选项如下:
这里写图片描述
    以ceph为例:

backup_driver = cinder.backup.drivers.ceph

    首先检查是否为rbd的volume,如果是则进行增量备份,如果不是则进行全量的拷贝备份,即新创建同等大小的卷后将源volume所有数据拷贝到新创建的volume,拷贝完成即为backup卷。
    对于rbd的volume,增量备份过程为比较当前volume数据状态与上一次备份的数据状态做比较,将差异部分存入新卷中作为本次的backup volume;如果没有检测到上一次备份的快照文件,则说明是第一次做backup,比较当前volume与新创建的空volume之间的数据差异,将差异数据存入backup,此时相当于全量备份。