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 的处理过程。

 


本文转自CloudMan6 51CTO博客,原文链接:http://blog.51cto.com/cloudman/1792423

相关文章
|
7月前
|
Ubuntu Linux 网络安全
云计算|OpenStack|社区版OpenStack(实务操作---cloud-init的使用)
云计算|OpenStack|社区版OpenStack(实务操作---cloud-init的使用)
494 0
|
消息中间件 存储 JSON
金鱼哥RHCA回忆录:CL210OpenStack操作的故障排除--诊断OpenStack问题
第九章 OpenStack操作的故障排除--诊断OpenStack问题
887 0
金鱼哥RHCA回忆录:CL210OpenStack操作的故障排除--诊断OpenStack问题
|
API Apache 开发工具
LibCloud操作OpenStack
LibCloud操作OpenStack
242 0