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


 

上一節我們討論了 Cinder 創建 Volume 的第一部分,cinder-api 的操作,本節繼續第二部分,cinder-scheduler 調度工作。

cinder-scheduler 執行調度

cinder-scheduler 執行調度算法,通過 Filter 和 Weigher 挑選最優的存儲節點 日志為 /opt/stack/logs/c-sch.log。

cinder-scheduler 通過 Flow volume_create_scheduler 執行調度工作。

該 Flow 依次執行 ExtractSchedulerSpecTask 和 ScheduleCreateVolumeTask。

主要的 filter 和 weighting 工作由 ScheduleCreateVolumeTask 完成。

經過 AvailabilityZoneFilter, CapacityFilter, CapabilitiesFilter 和 CapacityWeigher 的層層篩選,最終選擇了存儲節點 devstack-controller@lvmdriver-1#lvmdriver-1。

Flow volume_create_scheduler 完成調度,狀態變為 SUCCESS。

cinder-scheduler 發送消息

cinder-scheduler 發送消息給 cinder-volume,讓其創建 volume 源碼 /opt/stack/cinder/cinder/scheduler/filter_scheduler.py,方法為 schedule_create_volume。

下一節我們討論 Create Volume 的最后一部分: cinder-volume 的處理過程。

 



免責聲明!

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



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