本节是创建 Volume 的第三部分,也是最后一部分:cinder-volume 的处理过程。

第一部分和第二部分可以参考前面两个小节。
cinder-volume 通过 driver 创建 volume,日志为 /opt/stack/logs/c-vol.log。

与 cinder-api 和 cinder-scheduler 执行方式类似,cinder-volume 也启动了一个 Flow 来完成 volume 创建工作,Flow 的名称为 volume_create_manager。

volume_create_manager 首先执行 ExtractVolumeRefTask, OnFailureRescheduleTask, ExtractVolumeSpecTask, NotifyVolumeActionTask 为 volume 创建做准备。

接下来 CreateVolumeFromSpecTask 执行 volume 创建任务。

因为 volume provider 为 LVM, CreateVolumeFromSpecTask 通过 lvcreate 命令在 VG stack-volumes-lvmdriver-1 中创建了一个 1G 的 LV,cinder-volume 将这个 LV 作为volume。
新创建的 LV 命名为“volume-1e7f6bd7-ce11-4a73-b95e-aabd65a5b188”,其格式为“volume-<volume ID>”。

最后,CreateVolumeOnFinishTask 完成扫尾工作。

至此,volume 成功创建,Flow volume_create_manager 结束。

下一节我们讨论如何将新建的 volume 挂到 instance 上,即 attach 操作。

最新文章

  1. IntelliJ IDEA 15,16 win 7 64位安装包以及注册码 百度云盘
  2. mongo副本集搭建及服务器复用方案
  3. MVC中return File(byte[],&quot;image/jpeg&quot;)输入图片不清晰
  4. (二)Protobuf的C#使用
  5. jQuery无缝滚动插件
  6. Java循环语句 for
  7. Python自动化运维之4、格式化输出、文件对象
  8. C语言获取键盘按键
  9. 从汇编看c++的虚拟继承以及其内存布局(一)
  10. Android利用Fiddler进行网络数据抓包,手机抓包工具汇总
  11. 通过spring 中的@Scheduled来执行定时任务
  12. 设计一下类似SpringIoC的注入工具~Lind.DI
  13. Java解析XML之Dom4j
  14. JSP表达式语音EF--2
  15. quartz的job怎么获取Spring上下文
  16. Mysql数据库单表查询
  17. ASP.NET Core 防止跨站请求伪造(XSRF/CSRF)攻击 (转载)
  18. Conjugate Function
  19. day28(ajax之js原生代码实现)
  20. 第二个Spring冲刺周期团队进展报告

热门文章

  1. Win 通过修改注册表把CapsLock映射为Rshift
  2. IDEA+Tomcat+JRebel热部署1
  3. iOS tableview自定义cell上添加按钮实现删除功能
  4. js中几种常用的输出方式
  5. effectiveC++ 内存管理 学习笔记
  6. 太极旋转-JS实现
  7. 借助cookie实现子网页修改父网页内容遇到的问题:同一个浏览器访问相同页面,会互相影响。 (已解决)
  8. 测试函数用Return 返回值和用函数名返回值的区别
  9. HTML Help WorkShop 创作、调用方法和技巧
  10. IOS网络第七天WebView-03js中调用webView中的代码