cinder backup
cinder 备份提供的驱动服务有:
cinder/backup/drivers/ceph.py:def get_backup_driver(context):
cinder/backup/drivers/glusterfs.py:def get_backup_driver(context):
cinder/backup/drivers/google.py:def get_backup_driver(context):
cinder/backup/drivers/nfs.py:def get_backup_driver(context):
cinder/backup/drivers/posix.py:def get_backup_driver(context): //
"""Implementation of a backup service that uses a posix filesystem as the
backend."""
cinder/backup/drivers/swift.py:def get_backup_driver(context):
cinder/backup/drivers/tsm.py:def get_backup_driver(context):
cinder 驱动服务的配置在cinder.conf文件中
backup_driver=cinder.backup.drivers.swift
Ceph的配置
backup_driver = cinder.backup.drivers.ceph backup_ceph_conf=/etc/ceph/ceph.conf
backup_ceph_user = cinder
backup_ceph_chunk_size =
backup_ceph_pool = backups
backup_ceph_stripe_unit =
backup_ceph_stripe_count =
Swift的配置
backup_driver = cinder.backup.drivers.swift backup_swift_url = http://localhost:8080/v1/AUTH
backup_swift_auth = per_user
backup_swift_user = <None>
backup_swift_key = <None>
backup_swift_container = volumebackups
backup_swift_object_size = 52428800
backup_swift_retry_attempts = 3
backup_swift_retry_backoff = 2
backup_compression_algorithm = zlib
代码分析
backup(/cinder/backup/)
/cinder/backup/__init__.py:指定并导入cinder-backup的API类;
/cinder/backup/api.py:处理所有与卷备份服务相关的请求;
api.py调用 rpcapi.py -再到 manager.py 到 driver.py 到 具体的drivers/
class API(base.Base):卷备份管理的接口API,主要定义了卷的备份相关的三个操作的API:
create:实现卷的备份的建立;
delete:实现删除卷的备份;
restore:实现恢复备份;
这三个操作都需要通过backup_rpcapi定义的RPC框架类的远程调用来实现; /cinder/backup/driver.py:所有备份驱动类的基类; class BackupDriver(base.Base):所有备份驱动类的基类; /cinder/backup/manager.py:卷备份的管理操作的实现; class BackupManager(manager.SchedulerDependentManager):块存储设备的备份管理;继承自类 SchedulerDependentManager;
主要实现的是三个远程调用的方法:
create_backup:实现卷的备份的建立(对应api.py中的creat方法);
restore_backup:实现恢复备份(对应api.py中的restore方法);
delete_backup:实现删除卷的备份(对应api.py中的delete方法); /cinder/backup/drivers/ceph.py:ceph备份服务实现;
class CephBackupDriver(BackupDriver):Ceph对象存储的Cinder卷备份类;这个类确认备份Cinder卷到Ceph对象存储系统; /cinder/backup/drivers/swift.py:用swift作为后端的备份服务的实现;
class SwiftBackupDriver(BackupDriver):用swift作为后端的备份服务的各种管理操作实现类; /cinder/backup/drivers/tsm.py:IBM Tivoli存储管理(TSM)的备份驱动类;
class TSMBackupDriver(BackupDriver):实现了针对TSM驱动的卷备份的备份、恢复和删除等操作;
/cinder/backup/chunkeddriver.py 增量备份
具体操作
创建卷
cinder create --display-name volume1 1
备份卷
cinder backup-create --container volumes_backup --display-name backuptoswift volume1
恢复卷
cinder backup-restore --volume-id cb0fe233-f9b6-4303-8a61-c31c863ef7ce volume1
删除卷
cinder backup-delete 1b9237a4-b384-4c8e-ad05-2e2dfd0c698c
Openstack 中cinder backup三种backend的对比
http://blog.csdn.net/wytdahu/article/details/45246095
cinder backup的更多相关文章
- cinder backup ceph的配置和使用
Backup 是将 volume 备份到别的地方(备份设备),将来可以通过 restore 操作恢复. 初看 backup 功能好像与 snapshot 很相似,都可以保存 volume 的当前状态, ...
- Cinder Backup备份
cinder 备份提供了三种驱动服务: Ceph,TSM,Swift 其中默认备份驱动服务为swift cinder 驱动服务的配置在cinder.conf文件中 backup_driver=cind ...
- Backup Volume 操作 - 每天5分钟玩转 OpenStack(59)
本节我们讨论 volume 的 Backup 操作. Backup 是将 volume 备份到别的地方(备份设备),将来可以通过 restore 操作恢复. Backup VS Snapshot 初看 ...
- OpenStack Cinder源代码流程简析
版权声明:本博客欢迎转载,转载时请以超链接形式标明文章原始出处!谢谢! 博客地址:http://blog.csdn.net/i_chips 一.概况 OpenStack的各个模块都有对应的client ...
- openstack的glance、nova、cinder使用ceph做后端存储
块设备与 OPENSTACK 通过 libvirt 你可以把 Ceph 块设备用于 OpenStack ,它配置了 QEMU 到 librbd 的接口. Ceph 把块设备映像条带化为对象并分布到集群 ...
- OpenStack IceHouse版cinder模块新添加功能
感谢朋友支持本博客.欢迎共同探讨交流.因为能力和时间有限.错误之处在所难免,欢迎指正! 假设转载,请保留作者信息. 博客地址:http://blog.csdn.net/gaoxingnengjisua ...
- O059、Backup Volume 操作
参考https://www.cnblogs.com/CloudMan6/p/5662236.html BackUp是将Volume备份到别的地方(备份设备),将来可以通过restore操作恢复. ...
- Cinder 架构分析、高可用部署与核心功能解析
目录 文章目录 目录 Cinder Cinder 的软件架构 cinder-api cinder-scheduler cinder-volume Driver 框架 Plugin 框架 cinder- ...
- 理解 OpenStack Swift (1):OpenStack + 三节点Swift 集群+ HAProxy + UCARP 安装和配置
本系列文章着重学习和研究OpenStack Swift,包括环境搭建.原理.架构.监控和性能等. (1)OpenStack + 三节点Swift 集群+ HAProxy + UCARP 安装和配置 ( ...
随机推荐
- vue.js 2.0开发
创建一个工程文件: css中引用的是bootstrap的css,js中就是vue,index页面: <!DOCTYPE html> <html> <head> &l ...
- SQL Error (1130): Host '192.168.1.126' is not allowed to connect to this MySQL server
通过HeidiSQL连接MYSQL数据库报错: SQL Error (1130): Host '192.168.1.126' is not allowed to connect to this MyS ...
- nginx+tomcat+memcached-session-manager组成简单的负载均衡和集群
1.搭建环境 192.168.29.128(luxh-01.com) 安装nginx,参考 http://www.cnblogs.com/luxh/p/4067038.html 192.168.29. ...
- loadrunner 功能详解(一) - Run-time Settings
1.General / Run Logic Number of Iterations:说明的是反复循环的次数. 常境的时间中,如果时间设为5分钟,而实际上程序的运行只需要1分钟,而在这项中,选择的是 ...
- python3实现简单爬虫功能
本文参考虫师python2实现简单爬虫功能,并增加自己的感悟. #coding=utf-8 import re import urllib.request def getHtml(url): page ...
- linux 多个python版本的切换
源码安装新的python版本,我的安装路径: /usr/self/Python3.5.2 修改软链接到你所安装的python版本中: 默认python命令是在/usr/bin/目录下 1 sudo m ...
- #pragma pack(n)
#pragma pack(n) 重要规则: 1,复杂类型中各个成员按照它们被声明的顺序在内存中顺序存储,第一个成员的地址和整个类型的地址相同: 2,每个成员分别对齐,即每个成员按自己的方式对齐,并最小 ...
- [转载:]Fortran 二进制文件读写
一些朋友总是咨询关于二进制文件的读写和转化.这里就我自己的理解说一说. 一).一般问题 二进制文件与我们通常使用的文本文件储存方式有根本的不同.这样的不同很难用言语表达,自己亲自看一看,理解起来会容易 ...
- 关于xib文件和storyboard文件的那些事儿
在ios中,一般建议使用代码布局,因为使用代码布局,后期维护容易,拓展容易,并且可以实现动态加载很多数据,但是代码布局比较繁琐,不适合初学者.Xib布局或者Storyboard布局比较方便.下面介绍一 ...
- threadlocal类
1.threadlocal对象为线程提供变量的副本,该副本为线程私有的,其它线程访问不到: 2.变量的副本存储在ThreadLocalMap对象中: 3.使用threadlocal时候,最好先使用in ...