基于出口温度的策略

https://blueprints.launchpad.net/watcher/+spec/outlet-temperature-based-strategy

出口(排风)温度是一种新的热遥测数据,可用于测量服务器的热/工作负载状态。

本规范提出了一种基于服务器出口温度的新的 Watcher 迁移策略。当源服务器的出口温度达到可配置的阈值时,该策略会根据服务器的热状况(最低出口温度)做出将工作负载迁移到服务器的决策。

注意:“服务器” 在本文档中指的是“hypervisor”(虚拟机监控程序)。

问题描述

在当前的数据中心基础设施中,供应给服务器的冷却空气可能不同。当服务器过载或供应空气过热时,出口温度遥测数据可用于检测问题。为了使服务器保持可靠的热状态,应将服务器的一些工作负载迁移到具有更安全热状况的其他服务器。

用例

作为管理员,我希望能够触发一个控制温度并执行工作负载负载均衡的审计。

为了

  • 降低用于冷却的总功耗。

  • 延长数据中心的寿命,因为冷却效率是一个首要因素。

项目优先级

不相关,因为 Watcher 目前不在大型帐篷内。

提议的变更

Watcher 已经有了其决策框架,因此该策略应该是一个新的类,它扩展了基础策略类。

  • 分两步设置阈值:首先硬编码,然后通过模板。

  • 创建一个新的 Python 类来扩展“BaseStrategy”类。

  • 使用 Ceilometer 客户端获取 hypervisor 的出口温度指标。

  • 使用 Nova 对象框架获取超visor的空闲 CPU/内存/磁盘。

  • 一种算法,用于检测是否达到出口温度的阈值,并选择迁移目标服务器。它将根据之前步骤中从 hypervisor 处获取的空闲资源信息过滤可行的目标。

备选方案

没有替代方案

数据模型影响

REST API 影响

安全影响

通知影响

其他最终用户影响

性能影响

过去,关于从 Ceilometer 数据库查询指标存在一些性能问题。 这也是为什么它很少在生产环境中使用的一个原因。 借助一个抽象层,现在可以轻松更改基础指标存储后端,这些问题可能已经得到解决。 查询 Nova DB 获取 CPU 使用率指标时也存在性能问题。

其他部署者影响

开发人员影响

实现

负责人

主要负责人

<junjie-huang>

工作项

  1. 使用 Ceilometer 客户端获取 hypervisor 出口温度的函数。

  2. 按 Nova 基本指标(空闲 CPU/内存/磁盘)过滤服务器的函数

  3. 重写 execute 函数,添加检测出口温度阈值是否达到并选择目标 hypervisor 的算法,生成操作计划。

依赖项

测试

单元测试和功能测试,将使用一组假的指标来进行功能测试。

文档影响

一份解释如何使用这个新的优化策略的文档。

参考资料

http://www.intel.com/content/www/us/en/servers/ipmi/ipmi-home.html

历史