Openstack环境下,使用ceph作为cinder后端存储如何实现cinder-backup?

公司已经部署一套OpenStack环境,计算虚拟化采用的是KVM,存储采用cinder对接Ceph分布式存储(10个OSD节点,240T总容量,2副本),网络使用的是OvS。控制节点3台,计算节点10台,网络节点和控制节点合一。cinder支持快照/备份这两种存储数据保护技术,如何在现有的OpenStack环境中实现cinder-backup?

参与11

4同行回答

chinesezzqiangchinesezzqiang课题专家组信息技术经理M
可以通过快照和备份的功能,也是最常用的。当然如果您说的是数据级别的,可以借助第三方的备份设备来做。显示全部

可以通过快照和备份的功能,也是最常用的。当然如果您说的是数据级别的,可以借助第三方的备份设备来做。

收起
IT其它 · 2018-09-20
GaryyGaryy系统工程师某保险
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_bac...显示全部

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 = 134217728
backup_ceph_pool = backups
backup_ceph_stripe_unit = 0
backup_ceph_stripe_count = 0

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

收起
保险 · 2018-09-20
浏览4721
Henry2017Henry2017研发工程师金融行业
ceph中划出一个backup的pool,然后在cinder中配置backup的driver配置为ceph即可backup_driver = cinder.backup.drivers.cephbackup_ceph_conf = /etc/ceph/ceph.confbackup_ceph_user = cinder-backupbackup_ceph_chunk_size = 134217728backup_ceph_pool = backups创建备...显示全部

ceph中划出一个backup的pool,然后在cinder中配置backup的driver配置为ceph即可
backup_driver = cinder.backup.drivers.ceph
backup_ceph_conf = /etc/ceph/ceph.conf
backup_ceph_user = cinder-backup
backup_ceph_chunk_size = 134217728
backup_ceph_pool = backups

创建备份时候回将volume备份到backup的pool中,第一次为全量备份,之后的每次都会在前一次快照上做增量备份。

收起
金融其它 · 2018-09-21
浏览4344
大天使之剑大天使之剑售前技术支持杭州才云科技
不太明白题主的意思,直接在cinder配置文件里设置rbd驱动就好了或者使用ceph的快照和cow特性来实现增量备份和全量备份显示全部

不太明白题主的意思,直接在cinder配置文件里设置rbd驱动就好了
或者使用ceph的快照和cow特性来实现增量备份和全量备份

收起
互联网服务 · 2018-09-18
浏览4398

提问者

Garyy
Garyy0410
系统工程师某保险
擅长领域: 云计算存储容器

问题来自

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2018-09-18
  • 关注会员:4 人
  • 问题浏览:6658
  • 最近回答:2018-09-21
  • X社区推广