zoukankan      html  css  js  c++  java
  • 第 6 章 Cinder

    Backup Volume 操作

     

    Backup 是将 volume 备份到别的地方(备份设备),将来可以通过 restore 操作恢复。

     

    Backup VS Snapshot

    初看 backup 功能好像与 snapshot 很相似,都可以保存 volume 的当前状态,以备以后恢复。

    但二者在用途和实现上还是有区别的,具体表现在:

    1、Snapshot 依赖于源 volume,不能独立存在;而 backup 不依赖源 volume,即便源 volume 不存在了,也可以 restore。

    2、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/

    在实验环境中以 NFS 为 backend 来研究 backup 操作,存放 volume backup 的 NFS 远程目录为 10.12.28.8:/home/backup cinder-backup 服务节点上 mount point 为 /backup_mount。

    需要在 /etc/cinder/cinder.conf 中相应配置。

    [DEFAULT]

    backup_driver = cinder.backup.drivers.nfs

    backup_mount_point_base = /backup_mount

    backup_share = 10.12.28.8:/home/backup

     

    然后手工启动 cinder-backup 服务。

    /usr/bin/python /usr/local/bin/cinder-backup --config-file /etc/cinder/cinder.conf

     

    backup 操作的流程如下:

    1、向 cinder-api 发送 backup 请求

    2、cinder-api 发送消息

    3、cinder-backup 执行 backup 操作

     

    详细分析:

    1、向 cinder-api 发送 backup 请求

    客户(可以是 OpenStack 最终用户,也可以是其他程序)向 cinder-api 发送请求:“请 backup 指定的 volume。

    ” 这里将 backup volume “vol-1”,目前 backup 只能在 CLI 中执行。

    cinder backup-create vol-1 --force

    这里因为 vol-1 已经 attach 到 instance,需要使用 --force 选项。

    cinder-api 接收到 backup volume 的请求。

     

     

    2、cinder-api 发送消息

    cinder-api 发送 backup 消息。

    cinder-api 没有打印发送消息的日志,只能通过源代码查看 /opt/stack/cinder/cinder/backup/api.py,方法为 create。

     

    3、cinder-backup 执行 backup 操作

    cinder-backup 收到消息后,通过如下步骤完成 backup 操作。

    • 启动 backup 操作,mount NFS。
    • 创建 volume 的临时快照。
    • 创建存放 backup 的 container 目录。
    • 对临时快照数据进行压缩,并保存到 container 目录。
    • 创建并保存 sha256(加密)文件和 metadata 文件。
    • 删除临时快照。

     

    Backup 完成后,查看一下 container 目录的内容,里面有三个文件:

    • *-00001,压缩后的 backup 文件。
    • *_metadata,metadata 文件。
    • *_sha256file,加密文件。

     

    可以通过 cinder backup-list 查看当前存在的 backup。

    另外查看一下 cinder backup-create 的用法。

     

    这里有 --incremental 选项,表示可以执行增量备份。

    如果之前做过普通(全量)备份,之后可以通过增量备份大大减少需要备份的数据量,是个很不错的功能。

     

    ------------------------------------------------引用来自---------------------------------------------------

    https://www.cnblogs.com/CloudMan6/p/5662236.html

    https://mp.weixin.qq.com/s?__biz=MzIwMTM5MjUwMg==&mid=2653587722&idx=1&sn=7a4fcd874d6276b8d43db3e8a4fea672&chksm=8d308113ba470805993c55fbaa03a66581f7c78af260add26b7097c6a7725a7104c7c7a07300&scene=21#wechat_redirect

  • 相关阅读:
    jquery笔记(常用技术)
    AutoUpgraderPro 4.X美化版 源码及Demo程序
    读写Unicode和UTF8格式文件
    AutoUpgraderPro 4.X美化版 源码及Demo程序
    买了两套无线键鼠套装
    今天做了一回黑客
    AutoUpgraderPro Ver 4.1.1带源码美化版
    Delphi虚拟键码对照表
    Delphi虚拟键码对照表
    读写Unicode和UTF8格式文件
  • 原文地址:https://www.cnblogs.com/gsophy/p/11078259.html
Copyright © 2011-2022 走看看