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。api

cinder-scheduler 经过 Flow volume_create_scheduler 执行调度工做。spa

该 Flow 依次执行 ExtractSchedulerSpecTask 和 ScheduleCreateVolumeTask。日志

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

通过 AvailabilityZoneFilter, CapacityFilter, CapabilitiesFilter 和 CapacityWeigher 的层层筛选,最终选择了存储节点 devstack-controller@lvmdriver-1#lvmdriver-1。源码

Flow volume_create_scheduler 完成调度,状态变为 SUCCESS。it

cinder-scheduler 发送消息

cinder-scheduler 发送消息给 cinder-volume,让其建立 volume 源码 /opt/stack/cinder/cinder/scheduler/filter_scheduler.py,方法为 schedule_create_volume。方法

下一节咱们讨论 Create Volume 的最后一部分: cinder-volume 的处理过程。im

 

相关文章
相关标签/搜索