找回密码
 注册
查看: 746|回复: 0

openstack上cinder backup备份

[复制链接]

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
发表于 2022-7-20 13:39:53 | 显示全部楼层 |阅读模式
Cinder Backup备份: Q3 K  d* h) ~( g
cinder 备份提供了三种驱动服务: Ceph,TSM,Swift 其中默认备份驱动服务为swift
cinder 驱动服务的配置在cinder.conf文件中
backup_driver=cinder.backup.drivers.swift
& b3 d& O, R5 P  }2 j* b: v& P
Ceph的配置
backup_driver = cinder.backup.drivers.cephbackup_ceph_conf=/etc/ceph/ceph.confbackup_ceph_user = cinderbackup_ceph_chunk_size = 134217728backup_ceph_pool = backupsbackup_ceph_stripe_unit = 0backup_ceph_stripe_count = 0配置 Nova 来挂载 Ceph RBD 块设备
为了挂载 Cinder 块设备(块设备或者启动卷),必须告诉 Nova 挂载设备时使用的用户和 uuid 。libvirt会使用该用户来和 Ceph 集群进行连接和认证。
rbd_user = cinderrbd_secret_uuid = 457eb676-33da-42ec-9a8c-9293d545c3376 J6 r) C8 z& u' y! [' e1 u2 R
) V6 A1 A4 `' }$ ]& f6 n
完整版Ceph的配置:backup_driver = cinder.backup.drivers.cephbackup_ceph_conf=/etc/ceph/ceph.confbackup_ceph_user = cinderbackup_ceph_chunk_size = 134217728backup_ceph_pool = backupsbackup_ceph_stripe_unit = 0backup_ceph_stripe_count = 0" r* t7 B% J+ o- ?" ~' u+ }
rbd_user = cinder1 [! \# g5 f4 m) y% w
rbd_secret_uuid = 457eb676-33da-42ec-9a8c-9293d545c3378 S5 h; F9 K( s+ r5 Z" \
TSM的配置" @3 l* v% j: S

0 f5 W5 }6 [1 T. [$ [backup_driver = cinder.backup.drivers.tsmbackup_tsm_compression = True     (BoolOpt) 启用或禁用压缩备份backup_tsm_password = password     (StrOpt)  运行TSM用户的密码(节点密码)backup_tsm_volume_prefix = backup     (StrOpt) 当备份到TSM时备份标识id的卷前缀
" ~/ a8 L  ^* c% Z( j5 g! f- @7 B4 fSwift的配置  E( v  k. T8 g1 M9 G7 Y0 W3 H$ A/ g
backup_driver = cinder.backup.drivers.swiftbackup_swift_url = http://localhost:8080/v1/AUTHbackup_swift_auth = per_userbackup_swift_user = <None>backup_swift_key = <None>backup_swift_container = volumebackupsbackup_swift_object_size = 52428800backup_swift_retry_attempts = 3backup_swift_retry_backoff = 2backup_compression_algorithm = zlib" i) x  P. W+ I/ y, d1 P$ W
代码分析
backup(/cinder/backup/)  /cinder/backup/__init__.py:指定并导入cinder-backup的API类;  /cinder/backup/api.py:处理所有与卷备份服务相关的请求;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驱动的卷备份的备份、恢复和删除等操作;
3 f8 ^, D6 b" ^6 s& a: c9 z
具体操作
创建卷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
# |: {' }% r1 {8 Q: N( d+ o# M

- v, a7 o7 y7 _, E8 A. w, t: i

5 o  O8 C" f) O, i& f$ g
您需要登录后才可以回帖 登录 | 注册

本版积分规则

返回首页|Archiver|手机版|小黑屋|易陆发现技术论坛 ( 蜀ICP备2026014127号-1 )

GMT+8, 2026-6-12 02:21 , Processed in 0.014749 second(s), 21 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表