返回总目录

背景:

描述 详细
  1. 向 cinder-api 发送 backup 请求

    1. 客户(可以是 OpenStack 最终用户,也可以是其他程序)向 cinder-api 发送请求:“请 backup 指定的 volume。” 这里我们将 backup volume “vol-1”。
    2. 这里我们将 backup volume “vol-1”。进入 GUI 操作菜单 Project -> Volumes -> Volumes。
    3. 选择“vol-1”,点击 “Create Backup”。为 Backup和Container命名。

  1. cinder-api 将接收到 backup volume 的请求

    1. 查看日志文件c-api
1
2
3
4

Jun 22 18:46:22 controller devstack@c-api.service[8283]: INFO cinder.api.openstack.wsgi
[None req-6ccc7d02-2350-4a73-82d8-1aed7fdf570f admin admin]  http://172.16.1.17/volume/v3/2256dfc087b3452dad55ba5de03ecc10/backups

1
2
3
4
5
6
7

Jun 22 18:46:22 controller devstack@c-api.service[8283]: DEBUG cinder.api.openstack.wsgi
[None req-6ccc7d02-2350-4a73-82d8-1aed7fdf570f admin admin] Action: , calling method: <bound method BackupsController.create of <cinder.api.v3.backups...body: {: {, "description": "", "snapshot_id": null, "incremental": false,, ,
{{(pid=8285) process_stack /opt/stack/cinder/cinder/api/openstack/wsgi.py:868

这里因为 vol-1 已经 attach 到 instance,需要使用 --force 选项(使用命令行时:)

1
2
3
4
5
6
7

Jun 22 18:46:22 controller devstack@c-api.service[8283]: DEBUG cinder.api.contrib.backups
[None req-6ccc7d02-2350-4a73-82d8-1aed7fdf570f admin admin]  {u'backup': {u'container': u'conta-1', u'description': u'', u'snapshot_id': None,
u'incremental': False, u'volume_id': u'be755f52-76ba-44bf-bf87-14ccd580336b', u'force': True,
u'name': u'back-1'
{{(pid=8285) create /opt/stack/cinder/cinder/api/contrib/backups.py:150

1
2
3
4

Jun 22 18:46:22 controller devstack@c-api.service[8283]: INFO cinder.api.contrib.backups
[None req-6ccc7d02-2350-4a73-82d8-1aed7fdf570f admin admin]

  1. cinder-api 发送消息

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

    1. 启动 backup 操作,mount NFS。

      1. 我没找到
      2. 在配置cinder-backup时,已经将 172:16.1.55/backup 目录计算节点挂载到 
        1
        2

        /opt/stack/data/cinder/backup_mount
        /815381051c57f439493e8c2d80e70715/

        控制节点(存储节点)  参考见08.存储Cinder→5.场景学习→8.Backup Volume→1.概述与配置

cloudman:

我的:

1
2
3
4
5

Jun 22 18:46:23 controller cinder-volume[9747]: DEBUG cinder.volume.driver
[None req-6ccc7d02-2350-4a73-82d8-1aed7fdf570f admin None] Creating a new backup for volume volume-be755f52-76ba-44bf-bf87-14ccd580336b.
{{(pid=9891) get_backup_volume_temp_volume /opt/stack/cinder/cinder/volume/driver.py:1162

  1. 创建 volume 的临时快照。
1
2
3
4
5
6
7

Jun 22 18:46:24 controller cinder-volume[9747]: DEBUG oslo_concurrency.processutils
[None req-6ccc7d02-2350-4a73-82d8-1aed7fdf570f admin None] Running cmd (subprocess): sudo cinder-rootwrap /etc/cinder/rootwrap.conf env LC_ALL=C  

{{(pid=9891) execute /usr/local/lib/python2.7/dist-packages/oslo_concurrency/processutils.py:372

  1. 创建存放 backup 的 container 目录

    1. 我没找到
    2. 容器conta-1可以根据backup_mount_point_base的设置找到  参考见08.存储Cinder→5.场景学习→8.Backup Volume→1.概述与配置
cloudman:

我:
  1. 对临时快照数据进行压缩,并保存到 container 目录。

    1. 我没找到
cloudman:

chunk (N-COUNT) 厚块;大块 [tʃʌŋk]
chunkeddriver.py
Generic base class to implement metadata, compression and chunked data operations
  1. 创建并保存 sha256(加密)文件和 metadata 文件。

    1. 我没找到
cloudman:
  1. 删除临时快照
1
2
3
4
5
6

Jun 22 18:47:01 controller cinder-volume[9747]: DEBUG oslo_concurrency.processutils
[None req-6ccc7d02-2350-4a73-82d8-1aed7fdf570f admin None] CMD "sudo cinder-rootwrap /etc/cinder/rootwrap.conf  --config activation { retry_deactivation = 1} -f " returned: 0 in 0.788s
{{(pid=9891) execute /usr/local/lib/python2.7/dist-packages/oslo_concurrency/processutils.py:409

  1. Backup 完成后,我们可以查看一下 container 目录的内容

    1. volum..._backup...-00001,压缩后的 backup 文件
    2. volum_..._backup_..._metadata,metadata 文件。
    3. volum_..._backup_..._sha256file,加密文件。

另外,可以查看计算节点的共享目录:(在该目录的任何操作都会在

1
2

/opt/stack/data/cinder/backup_mount
/815381051c57f439493e8c2d80e70715/

同步观察到,实际上备份是存在该目录,nfs客户端将该共享目录挂载到了本地)

  1. 可以通过 cinder backup-list 查看当前存在的 backup
  1. 另外cinder backup-create的--incremental选项,表示可以执行增量备份。如果之前做过普通(全量)备份,之后可以通过增量备份大大减少需要备份的数据量,是个很不错的功能。

转载于:https://www.cnblogs.com/LeisureZhao/p/11185575.html

08.存储Cinder→5.场景学习→08.Backup Volume→2.实操相关推荐

  1. 08.存储Cinder→5.场景学习→10.Bootable Volume

    返回总目录 背景: 描述 详细 Volume 除了可以用作 instance 的数据盘,也可以作为启动盘(Bootable Volume).创建Volume,此时选择Volume Source为ima ...

  2. 08.存储Cinder→4.Cinder组件详解→3.cinder-volume

    返回总目录 cinder-volume 在存储节点上运行,OpenStack 对 Volume 的操作,最后都是交给 cinder-volume 来完成的.cinder-volume 自身并不管理真正 ...

  3. NVIDIA可编程推理加速器TensorRT学习笔记(二)——实操

    NVIDIA可编程推理加速器TensorRT学习笔记(二)--实操 ​ TensorRT 是 NVIDIA 自家的高性能推理库,其 Getting Started 列出了各资料入口,如下: 本文基于博 ...

  4. 巨杉数据库学习笔记+巨杉数据库实操项目实践

    @TOC巨杉数据库学习笔记+项目实践心得 SequoialDB简介 SequoiaDB 巨杉数据库是一款金融级分布式数据库,主要面对高并发实时处理型场景提供高性能.可靠稳定以及无限水平扩展的数据库服务 ...

  5. 可编程CDN – EdgeScript应用场景、语言速览和实操演示

    5月8日下午15:00,CDN云课堂的第二期,阿里云CDN团队技术专家拓山为大家带来了<可编程CDN – EdgeScript实践>主题技术分享.本次分享通过对阿里云CDN成长到当前体量的 ...

  6. LInux学习笔记(四)-----实操排雷

    参考书籍:linux就该这么学 4 Vim 编辑器与 Shell 命令脚本 4.1 Vim 文本编辑器(在 Vim 中,无法直接从输入模式切换到末行模式) 4.1.1 配置 Yum 软件仓库 注:书中 ...

  7. 医生再添新助手!深度学习诊断传染病 | 完整代码+实操

    作者 | Dipanjan (DJ) Sarkar 译者 | Monanfei 编辑 | Rachel.Jane 出品 | AI科技大本营(id:rgznai100) [导读]文本基于深度学习和迁移学 ...

  8. 20210515web渗透学习之域渗透简单实操

    欢迎大家一起来Hacking水友攻防实验室学习,渗透测试,代码审计,免杀逆向,实战分享,靶场靶机,求关注 这是总结前面几种域渗透的综合文章.工欲善其事必先利其器,今晚我的憨逼班长又帮我报错了加班地点, ...

  9. 【Redis二三事】一套超详细的Redis学习教程(步骤图片+实操)---第二集

    ⭐️写在前面 这里是温文艾尔の学习之路

  10. 如何快速学习abaqus复合材料--【理论+实操】

    复合材料是一种具有优异性能的材料,广泛应用于航空.汽车.船舶.体育器材等领域.在复合材料的力学行为研究中,有限元分析技术是一种重要的手段.ABAQUS作为现阶段应用最广泛的有限元仿真模拟软件,优秀的分 ...

最新文章

  1. Flume-0.9.4数据插入HBase-0.96
  2. trunk中继链路,以太网通道
  3. Vue指令之v-on的缩写和事件修饰符||.stop 和 .self 的区别
  4. complex--创建复数
  5. oracle 11gr2 bbed 安装,oracle11gR2 装配bbed工具
  6. Huffman树学习
  7. 第5章-css选择器初级和背景
  8. [jQuery] jQuery函数
  9. UE4异步编程专题 - 多线程
  10. Hibernate VS Mybatis 的SQL不灵活通病如何解决?
  11. CCF201803-2 碰撞的小球
  12. 【转】75个最佳Web设计资源
  13. php呼叫平台,什么是PHP运算符“?和“:”呼叫和他们做什么?
  14. WPF版的Dock控件第二版完成
  15. 全网首发:LINUX编译JNA:编译产生libjnidispatch.so
  16. sqlserver express版PRIMARY 大小不能超过4G
  17. Unity3D常用API
  18. 手机测试耳机音质的软件,10首曲目,测试出你耳机的真实水平!——教你简单快速测出你的耳机音质究竟怎么样?...
  19. 《微积分:一元函数微分学》——导数公式
  20. python编译器哪个最好用_python编写器哪个好用?

热门文章

  1. python——进程、线程、协程
  2. thinkphp5两种分页方法
  3. HTML之组件margin、padding
  4. POJ读书笔记2.1 —— 鸡兔笼带
  5. Spring事务-1
  6. 【干货】12场比赛实战经验分享给你!
  7. COLING2018计算语言学进展
  8. 深度学习框架如何优雅的做算子对齐任务?
  9. leetcode—14.链表反转类题目python解答
  10. python,numpy中np.random.choice()的用法详解及其参考代码