一:应用背景
随着时间推移,虚机的不断创建和销毁,数据中心的资源使用情况往往处于如上图所 示的不均衡的状态,各种资源得不到高效利用,而系统管理员和云计算提供商希望通过一些优化措施,如下图所示提高资源的利用效率,减少数据中心的运营成本。
二:整体架构设计
DRS 从 nova/neutron/cinder 等得到集群数据模型,利用 ceilometer 采集集群运行的性能数据, 并根据数据模型和采集的历史数据,通过特定策略动态调整工作负载或调整计算、存储、网络等资源,从而提高资源的利用效率,减少数据中心的运营成本。 Watcher 提供了一个灵活的、可伸缩的多租户 OpenStack-based 云资源优化服务,通过智能的虚拟机迁移策略来减少数据中心的运营成本和提高资源的利用效率。
watcher 的目标:
1)提供一个可以实现各类优化目标的框架(framework);
2) 为新的资源优化算法和数据收集分析提供一个可插拔的(pluggable)架构
3) 用户可定制的丰富的资源优化算法与策略 DRS 功能以 openstack-watcher 为基础,并参考 VMware DRS&DPM 及 IBM PRS 产品进行新 功能的设计和开发。
1:watcher 架构
上图为 watcher 项目的架构图,Watcher 由三个组件组成:
1)watcher api:对外部提供 REST API 接口,使系统管理员能够通过 cli/dashboard 与 watcher 进行交互。 watcher decision engine: 根据具体的对资源优化的目标,执行相应的优化策略,根据数据模型 和采集的历史数据,然后生成一组可以执行的优化动作。
2)watcher decision engine: 根据具体的对资源优化的目标,执行相应的优化策略,根据数据模型 和采集的历史数据,然后生成一组可以执行的优化动作。
3) watcher applier: watcher 中的执行组件,负责执行已生成的优化动作,对资源进行优化调整。
2:watcher优化流程
watcher 实现一个资源优化的目标的流程是,先创建一个 Audit(审计)对象, Audit 包含了优化 目标(Goals),然后 watcher 组件开始执行 Audit, 执行 Audit 的过程就是为实现该目标找到合适 的 Strategy (策略),执行 Audit 的结果是生成有序的 Action Plan (行动方案),该 Action Plan 包含 了一系列可执行的 Action(操作) 。
3:watcher 时序图
下面是不同组件的消息传递的场景。 创建一个新的 Audit template(模板):使用现有的 goal(优化目标)和 strategy(优化策略), 可以一对一的来创建模板也可以创建 goal 不指定 strategy,会自动选择一条策略来执行。
创建和启动一个新的 audit(审计):使用现有的 audit template 来创建和启动一个唯一 uuid 的审计。(这边是通过唯一 uuid 表示审计的,没有名字。)
创建 audit 的时候支持 2 种类型:ONESHOT(仅一次)和 CONTINUOUS(连续审计)。 ONESHOT Audit 被启动一次,启动会提供一个 action plan。 Continuous Audit 按给定的时间间隔(单位:s)创建行动计划,所有之前的行动计划会被取 消。 创建后就自动触发 audit,决策引擎更新 audit 状态为 ongoing,查询数据库,调用策略,策 略监控,满足时返回给决策引擎,决策调用planner,创建行动计划(actions plan)会变成recommend。 然后 audit 状态会更新会 succeed。
详细的 Decision Engine 的时序图:
触发 action plan 管理员手工触发建议的 action plan。
当触发 action plan 后详细的 watcher applier 的序列图:
文章来源:https://www.toymoban.com/news/detail-855069.html
当所有的 action 都执行成功,action plan 会被更新状态为成功。 watcher-dashboard 创建 audit 时可以选择是否 auto trigger action plans (自动触发审计) 自动触发后,action plan 便会自动被触发不需要管理员手工触发。文章来源地址https://www.toymoban.com/news/detail-855069.html
到了这里,关于OpenStack DRS(动态资源调度)之架构设计篇的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!