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

来源:互联网 发布:耐克高仿淘宝店铺 编辑:程序博客网 时间:2024/06/05 16:27

上一节我们讨论了 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 的处理过程。

0 0
原创粉丝点击