zoukankan      html  css  js  c++  java
  • Create Volume 操作(Part III)

    本节是创建 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 操作。

     


  • 相关阅读:
    cmake使用总结
    Fatal error RC1015: cannot open include file "xxxx.h" vs2008
    可重入函数(转)
    《左耳听风》-ARTS-打卡记录-第十二周
    异常声明
    QString与const char *相互转换
    Qt中使用子线程去关闭弹出框
    什么是反向代理
    【GOJ 3002】颜色
    【GOJ 2296】毛毛虫
  • 原文地址:https://www.cnblogs.com/CloudMan6/p/5617980.html
Copyright © 2011-2022 走看看