Create Volume 操作(Part III) - 每天5分鍾玩轉 OpenStack(52)


本節是創建 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 操作。

 



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM