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

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

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

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

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

  1. 向 cinder-api 发送 backup 请求

  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 的启动盘。


最新文章

  1. Microsoft Dynamics AX 7 新特性探索 - Demo 部署(Part 1)
  2. Altium Designer PCB双面板制作打印操作步骤
  3. SQL数据库的基本语句
  4. 锋利的jQuery-5--网页换肤
  5. 【POJ】1113 Wall(凸包)
  6. 如何组织较大项目的MVC文件夹结构
  7. SQLServer分页存储过程
  8. 前端开发中的SEO
  9. Intellij 导入play framework 项目
  10. (传智博客)tp开发第一天之tp执行流程分析笔记
  11. JSP中使用的模式——JSP+Servlet+JavaBean
  12. nodejs搭建web项目
  13. 014-并发编程-java.util.concurrent之-CountDownLatch
  14. perventDefault, stopPropagation, stopImmediatePropagation 三者的区别
  15. 全网最详细的Sublime Text 3的插件官方网站(图文详解)
  16. Oracle数据库创建表是有两个约束带有默认索引
  17. 关于Jquery使用中遇到典型问题集锦
  18. ACM-百度之星资格赛之Energy Conversion——hdu4823
  19. C++ 输出100—999中所有的水仙花数
  20. Java 并发随身记(一)之 Unsafe类

热门文章

  1. Qt里怎么处理二进制数据
  2. [转]Android Studio 里搭建自动化测试框架Robotium
  3. Spring的三种通过XML实现DataSource注入方式
  4. Spring之注入的几种方式
  5. 基于AT89C51单片机的贪吃蛇电子游戏(仿真)
  6. ASP.NET Web API 接口执行时间监控
  7. 编译Android AOSP代码
  8. jws.mono脚本安装详解
  9. adb server is out of date. killing...
  10. [ASP.NET MVC 大牛之路]03 - C#高级知识点概要(2) - 线程和并发