目标:
弄清楚nova架构及其主要场景的实现原理
1 引言
nova的作用是管理虚机,提供计算资源抽象。
2 nova架构
api-------------------------------
| |
| |
V |
conductor------>scheduler |
| |
| |
V |
compute<--------------------------
3 子服务作用及其交互
3.1 api服务
作用: 将长时任务()发送到conductor服务,将短时任务发送给compute服务。
3.2 conductor服务
作用: 对任务进行跟踪和调度。
典型场景: 新建虚机或迁移时,会向scheduler请求符合要求的计算节点,然后将请求发送到最终的计算节点。
3.3 scheduler服务
1)作用: 筛选出最符合要求的计算节点返回给conductor服务。
2)调度器
FilterScheduler:默认的过滤调度器,根据过滤条件以及权重挑选最佳节点。
CachingScheduler: 将主机资源信息还存在本地,通过定时任务从数据库获取最新信息。
......
3)调度器缓存更新
nova-compute服务对主机数据更新到数据库,nova-scheduler从数据库获取主机数据。
选择最佳主机需要在内存中保存先前决策情况,