前面我们 backup 了 voluem,今天我们将讨论如何 restore volume。

restore 的过程其实很简单,两步走:

  1. 在存储节点上创建一个空白 volume。

  2. 将 backup 的数据 copy 到空白 voluem 上。

下面我们来看 restore 操作的详细流程:

  1. 向 cinder-api 发送 restore 请求

  2. cinder-api 发送消息

  3. cinder-scheduler 挑选最合适的 cinder-volume

  4. cinder-volume 创建空白 volume

  5. cinder-backup 将 backup 数据 copy 到空白 volume 上

我们先来看第 1 步。

向 cinder-api 发送 restore 请求

客户(可以是 OpenStack 最终用户,也可以是其他程序)向 cinder-api 发送请求:“请 restore 指定的 backup。这里我们将 restore 之前创建的 backup。

目前 restore 只能在 CLI 中执行。

cinder-api 接收到 restore 请求。日志文件在 /opt/stack/logs/c-api.log。

这里看到 cinder-api 转发请求,为 restore 创建 volume。 之后 cinder-scheduler 和 cinder-volume 将创建空白 volume,这个过程与 create volume 一样,不再赘述。

接下来分析数据恢复的过程。 首先,在 cinder-api 日志中可以看到相关信息。

这里注意日志中的 volume_id 和 backup_id 与前面 backup-restore 命令的输出是一致的。

下面来看 cinder-backup 是如何恢复数据的。

cinder-backup 执行 restore 操作

日志为 /opt/stack/logs/c-vol.log。

  1. 启动 restore 操作,mount NFS。

  2. 读取 container 目录中的 metadata。

  3. 将数据解压并写到 volume 中。

  4. 恢复 volume 的 metadata,完成 restore 操作。

此时,在 GUI 中已经可以看到 restore 创建的 volume。

以上就是 volume restore 的分析,下一节我们讨论如何将 volume 作为 instance 的启动盘。

Restore Volume 操作 - 每天5分钟玩转 OpenStack(60)相关推荐

  1. Detach Volume 操作 - 每天5分钟玩转 OpenStack(55)

    上一节我们成功地通过 attach 操作为 instance 添加了 volume,而与之相对的操作是 detach,就是将 volume 从 instance 上卸载下来. 下图是 Detach 操 ...

  2. Backup Volume 操作 - 每天5分钟玩转 OpenStack(59)

    本节我们讨论 volume 的 Backup 操作. Backup 是将 volume 备份到别的地方(备份设备),将来可以通过 restore 操作恢复. Backup VS Snapshot 初看 ...

  3. Snapshot Volume 操作 - 每天5分钟玩转 OpenStack(58)

    Snapshot 可以为 volume 创建快照,快照中保存了 volume 当前的状态,以后可以通过 snapshot 回溯.snapshot 操作实现比较简单,流程图如下: 向 cinder-ap ...

  4. Delete Volume 操作 - 每天5分钟玩转 OpenStack(57)

    2019独角兽企业重金招聘Python工程师标准>>> 今天讨论 cinder 如何删除 volume . 状态为 Available 的 volume 才能够被 delete.如果 ...

  5. 准备 LVM Volume Provider - 每天5分钟玩转 OpenStack(49)

    Cinder 真正负责 Volume 管理的组件是 volume provider. Cinder 支持多种 volume provider,LVM 是默认的 volume provider. Dev ...

  6. 1 张图秒懂 Nova 16 种操作 - 每天5分钟玩转 OpenStack(44)

    前面我们讨论了 Instance 的若干操作,有的操作功能比较类似,也有各自的适用场景,现在是时候系统地总结一下了. 如上图所示,我们把对 Instance 的管理按运维工作的场景分为两类:常规操作和 ...

  7. Live Migrate 操作 - 每天5分钟玩转 OpenStack(42)

    Migrate 操作会先将 instance 停掉,也就是所谓的"冷迁移".而 Live Migrate 是"热迁移",也叫"在线迁移",i ...

  8. Pause/Resume Instance 操作详解 - 每天5分钟玩转 OpenStack(34)

    Pause/Resume Instance 操作详解 - 每天5分钟玩转 OpenStack(34) 本节通过日志详细分析 Nova Pause/Resume 操作. 有时需要短时间暂停 instan ...

  9. Cinder 组件详解 - 每天5分钟玩转 OpenStack(47)

    Cinder 组件详解 - 每天5分钟玩转 OpenStack(47) 本节我们将详细讲解 Cinder 的各个子服务. cinder-api cinder-api 是整个 Cinder 组件的门户, ...

最新文章

  1. 使用nginx进行负载均衡
  2. 套接字有哪些类型?socket有哪些类型?
  3. OpenCASCADE绘制测试线束:数据交换命令之XDE 通用命令
  4. Python学习入门基础教程(learning Python)--3.3.4 Python的if-elif-else语句
  5. PHPcms框架的Webshell
  6. python有什么用途-Python是什么 Python的用处
  7. HDU2612---(两次BFS)
  8. android 动态 添加删除 控件 图片
  9. 阿里云边缘计算又要放大招了,7月24开发者大会现场揭秘,邀你参加!
  10. 2018_09_21_生活记录_参加人工智能大会
  11. fclk if总线_技嘉B550手把手超频指南,光威血影为例
  12. sspanel v3 配置的完整教程(转)
  13. 网工解惑?什么是路由器、交换机与防火墙,他们的区别与联系是什么?
  14. java内存泄露 垃圾回收_Java中内存泄露及垃圾回收机制
  15. 监控系统存储服务器和磁盘阵列,浅谈磁盘阵列如何应用于监控储存领域
  16. 【微信小程序】创建自己的小程序
  17. kali liunx使用心得之命令行模式下如何配置连接无线网络
  18. centos镜像中Everything, GnomeLive ,KdeLive ,livecd ,NetInstall的意思
  19. Png文件可横向拉伸html布局,png透明格式 以cad2010操作为例:
  20. Windows API 常量定义

热门文章

  1. MATLAB【九】————ICP算法实现
  2. 浅析.Net下的AppDomain编程
  3. Asp.Net中查询域名的Whois信息
  4. Nginx源码分析--数据对齐posix_memalign和memalign函数
  5. Nginx源码分析--基本数据类型的别名
  6. 朴素、Select、Poll和Epoll网络编程模型实现和分析——模型比较
  7. huggingface实操_盘点2018年度GtiHub开源项目TOP 25
  8. 动态引入js只能生效一次_干货丨动态插入的script脚本执行时间
  9. app.vue 跳转页面_独立站如何提高产品页面转化呢?
  10. oracle非归档模式下如何备份,Oracle之RMAN数据库在非归档模式下的备份和恢复