Restore Volume 操作 - 每天5分钟玩转 OpenStack(60)
前面我们 backup 了 voluem,今天我们将讨论如何 restore volume。
restore 的过程其实很简单,两步走:
在存储节点上创建一个空白 volume。
将 backup 的数据 copy 到空白 voluem 上。
下面我们来看 restore 操作的详细流程:
向 cinder-api 发送 backup 请求
cinder-api 发送消息
cinder-scheduler 挑选最合适的 cinder-volume
cinder-volume 创建空白 volume
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。
启动 restore 操作,mount NFS。
读取 container 目录中的 metadata。
将数据解压并写到 volume 中。
恢复 volume 的 metadata,完成 restore 操作。
此时,在 GUI 中已经可以看到 restore 创建的 volume。
以上就是 volume restore 的分析,下一节我们讨论如何将 volume 作为 instance 的启动盘。
最新文章
- Microsoft Dynamics AX 7 新特性探索 - Demo 部署(Part 1)
- Altium Designer PCB双面板制作打印操作步骤
- SQL数据库的基本语句
- 锋利的jQuery-5--网页换肤
- 【POJ】1113 Wall(凸包)
- 如何组织较大项目的MVC文件夹结构
- SQLServer分页存储过程
- 前端开发中的SEO
- Intellij 导入play framework 项目
- (传智博客)tp开发第一天之tp执行流程分析笔记
- JSP中使用的模式——JSP+Servlet+JavaBean
- nodejs搭建web项目
- 014-并发编程-java.util.concurrent之-CountDownLatch
- perventDefault, stopPropagation, stopImmediatePropagation 三者的区别
- 全网最详细的Sublime Text 3的插件官方网站(图文详解)
- Oracle数据库创建表是有两个约束带有默认索引
- 关于Jquery使用中遇到典型问题集锦
- ACM-百度之星资格赛之Energy Conversion——hdu4823
- C++ 输出100—999中所有的水仙花数
- Java 并发随身记(一)之 Unsafe类
热门文章
- Qt里怎么处理二进制数据
- [转]Android Studio 里搭建自动化测试框架Robotium
- Spring的三种通过XML实现DataSource注入方式
- Spring之注入的几种方式
- 基于AT89C51单片机的贪吃蛇电子游戏(仿真)
- ASP.NET Web API 接口执行时间监控
- 编译Android AOSP代码
- jws.mono脚本安装详解
- adb server is out of date. killing...
- [ASP.NET MVC 大牛之路]03 - C#高级知识点概要(2) - 线程和并发