Cinder的cinder-scheduler源码解读

与Nova中的调度服务nova-scheduler类似,Cinder的调度服务cinder-scheduler也用于选择一个合适的节点,不过不同的是nova-scheduler选择的是计算节点来响应用户有关虚拟机生命周期的请求,而cinder-scheduler选择的是cinder-volume节点来处理用户有关Volume周期的请求。
同样,cinder-scheduler选择的方式也可以有很多种,为了便于之后的扩展,Cinder将一个调度器必须实现的接口提取出来成为cinder.scheduler.driver.Scheduler,只要继承类SchedulerDriver并实现其中的接口,就可以实现一个自己的调度器。
# cinder / scheduler / driver.py
class Scheduler(object):
     """The base class that all Scheduler classes should inherit from."""
目前,Cinder中只实现了一个调度器FilterScheduler,但是历史上曾经存在SimpleScheduler(选择剩余空间最多的Host)和ChanceFilter(随机挑选满足条件的Host)两个调度器,但是它们现在已经被利用FilterScheduler的框架重新实现。
# cinder / scheduler / filter_scheduler.py
class FilterScheduler(driver.Scheduler):
     &
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值