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

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介:

前面我们 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 中执行。

image454.png

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

 


本文转自CloudMan6 51CTO博客,原文链接:
http://blog.51cto.com/cloudman/1826560


相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
6月前
|
Ubuntu Linux 网络安全
云计算|OpenStack|社区版OpenStack(实务操作---cloud-init的使用)
云计算|OpenStack|社区版OpenStack(实务操作---cloud-init的使用)
413 0
|
消息中间件 存储 JSON
金鱼哥RHCA回忆录:CL210OpenStack操作的故障排除--诊断OpenStack问题
第九章 OpenStack操作的故障排除--诊断OpenStack问题
860 0
金鱼哥RHCA回忆录:CL210OpenStack操作的故障排除--诊断OpenStack问题
|
API Apache 开发工具
LibCloud操作OpenStack
LibCloud操作OpenStack
238 0
|
网络协议 Linux 网络安全
openstack 云平台一体化部署(超详细)
openstack 云平台一体化部署(超详细)
1244 0
openstack 云平台一体化部署(超详细)
|
3月前
|
消息中间件 缓存 Shell
跟我一起来学OpenStack部署
跟我一起来学OpenStack部署
255 0
|
4月前
|
存储 数据安全/隐私保护 Docker
Kolla-ansible部署openStack
Kolla-ansible部署openStack
344 11