Create Volume(Part III)
第三部分 cinder-volume 的处理过程
cinder-volume 通过 driver 创建 volume
与 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 结束。
-------------------------------------------引用来自------------------------------------------------
https://mp.weixin.qq.com/s?__biz=MzIwMTM5MjUwMg==&mid=2653587747&idx=1&sn=eef8144ed8b7fa806da09296bb2f7123&chksm=8d30813aba47082cbd3c283654ae92937df4b5033059875fb8e4808bdbb2b410e33f42104809&scene=21#wechat_redirect