设为首页 收藏本站
查看: 897|回复: 0

[经验分享] Backup Volume 操作

[复制链接]

尚未签到

发表于 2017-6-26 18:21:37 | 显示全部楼层 |阅读模式
   DSC0000.jpg
  本节我们讨论 volume 的 Backup 操作。
  Backup 是将 volume 备份到别的地方(备份设备),将来可以通过 restore 操作恢复。
Backup VS Snapshot
  初看 backup 功能好像与 snapshot 很相似,都可以保存 volume 的当前状态,以备以后恢复。但二者在用途和实现上还是有区别的,具体表现在:

  •    Snapshot 依赖于源 volume,不能独立存在;而 backup 不依赖源 volume,即便源 volume 不存在了,也可以 restore。
  •    Snapshot 与源 volume 通常存放在一起,都由同一个 volume provider 管理;而 backup 存放在独立的备份设备中,有自己的备份方案和实现,与 volume provider 没有关系。
  •    上面两点决定了 backup 具有容灾功能;而 snapshot 则提供 volume provider 内便捷的回溯功能。
配置 cinder-backup
  Cinder 的 backup 功能是由 cinder-backup 服务提供的,devstack 默认没有启用该服务,需要手工启用。与 cinder-volume 类似,cinder-backup 也通过 driver 架构支持多种备份 backend,包括 POSIX 文件系统、NFS、Ceph、GlusterFS、Swift 和 IBM TSM。支持的driver 源文件放在 /opt/stack/cinder/cinder/backup/drivers/
   DSC0001.jpg
  本节我们将以 NFS 为 backend 来研究 backup 操作。
  在实验环境中,存放 volume backup 的 NFS 远程目录为 192.168.104.11:/backup cinder-backup 服务节点上 mount point 为 /backup_mount。
  需要在 /etc/cinder/cinder.conf 中作相应配置。
   DSC0002.jpg
  然后手工启动 cinder-backup 服务。
  /usr/bin/python /usr/local/bin/cinder-backup --config-file /etc/cinder/cinder.conf
  一切准备就绪,下面我们来看 backup 操作的流程
   DSC0003.jpg

  •    向 cinder-api 发送 backup 请求
  •    cinder-api 发送消息
  •    cinder-backup 执行 backup 操作
  下面我们详细讨论每一个步骤。
向 cinder-api 发送 backup 请求
  客户(可以是 OpenStack 最终用户,也可以是其他程序)向 cinder-api 发送请求:“请 backup 指定的 volume。
  这里我们将 backup volume “vol-1”,目前 backup 只能在 CLI 中执行。
   DSC0004.jpg
  这里因为 vol-1 已经 attach 到 instance,需要使用 --force 选项。
  cinder-api 接收到 backup volume 的请求。日志文件在 /opt/stack/logs/c-api.log。
   DSC0005.jpg
cinder-api 发送消息
  cinder-api 发送 backup 消息。cinder-api 没有打印发送消息的日志,只能通过源代码查看 /opt/stack/cinder/cinder/backup/api.py,方法为 create。
   DSC0006.jpg
cinder-backup 执行 backup 操作
  cinder-backup 收到消息后,通过如下步骤完成 backup 操作,日志为 /opt/stack/logs/c-vol.log。

  •   启动 backup 操作,mount NFS。
    DSC0007.jpg         
  •   创建 volume 的临时快照。
    DSC0008.jpg         
  •   创建存放 backup 的 container 目录。
    DSC0009.jpg         
  •   对临时快照数据进行压缩,并保存到 container 目录。
    DSC00010.jpg         
  •   创建并保存 sha256(加密)文件和 metadata 文件。
    DSC00011.jpg         
  •   删除临时快照。
    DSC00012.jpg    
  Backup 完成后,我们可以查看一下 container 目录的内容
   DSC00013.jpg
  里面有三个文件,根据前面的日志我们可以知道:

  •   backup-00001,压缩后的 backup 文件。
  •   backup_metadata,metadata 文件。
  •   backup_sha256file,加密文件。
  可以通过 cinder backup-list 查看当前存在的 backup。
   DSC00014.jpg
  另外我们可以查看一下 cinder backup-create 的用法。
   DSC00015.jpg
  这里有 --incremental 选项,表示可以执行增量备份。如果之前做过普通(全量)备份,之后可以通过增量备份大大减少需要备份的数据量,是个很不错的功能。增量备份的操作和日志分析留给大家做练习。
以上就是 volume backup 的分析,下一节我们讨论如何通过 restore 操作恢复备份的 volume。
   DSC00016.jpg

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-388318-1-1.html 上篇帖子: OpenStack组件系列☞Keystone 下篇帖子: OpenStack:安装Glance
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

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