提供描述数据中心虚拟和物理元素的关系图模型

https://blueprints.launchpad.net/watcher/+spec/graph-based-cluster-model

为了在策略确定过程中支持丰富的图分析方法,我们希望拥有一个简单的图模型。该图模型应描述虚拟机与计算主机的关联方式,虚拟网络实体与物理网络设备之间的映射关系,对象/块存储对象与物理存储设备之间的映射关系。此外,它还应展示所有这些实体之间的互连方式(例如,展示两个虚拟机如何通过虚拟方式连接,以及随后通过物理网络连接)。这使得能够提前看到实体之间的关系,从而可以识别数据中心中的热点/冷点,并进而影响策略决策。

问题描述

表示集群状态和拓扑的信息来自不同的来源。因此,为了有效地生成优化策略,关联和组合不同的数据片段是一项具有挑战性的任务。为此,集群数据模型是为决策做出贡献的重要知识来源。关系数据建模方法不能有效地捕获资源部署、网络属性等的关联性。

在本规范中,我们提出了一种基于图的数据模型,该模型将聚合集群的资源信息,并允许有效地表示工作负载部署的拓扑(景观)。通过该模型,可以在策略定义的环境中采用图分析技术。

用例

在 Watcher 中,虚拟和物理资源的图模型表示将增强集群数据模型,并允许在策略定义期间应用强大的分析。例如,一个目标策略开发者将使用图模型来决定虚拟机的目标超visor,该超visor未连接到支持租户/项目虚拟机的超visor网络。因此,所提出的解决方案影响策略定义以及在 Watcher 环境中目标开发。该用例中受影响的参与者是 Watcher 开发者,他需要为目标建议合适的策略。他将使用包含在集群数据模型中的图模型来获取有关虚拟机拓扑、物理节点属性等信息。

项目优先级

未定义。

提议的变更

所提出的模型是对数据中心中现有资源的物理和虚拟结构的表示。它使我们能够概述服务在数据中心中的放置位置、底层硬件、资源通过其进行通信的网络组件、关于虚拟服务器以及构成整个部署的虚拟组件的详细信息等。

图模型的检索将是实时的,并且结构将镜像基础设施拓扑。集群的信息将通过以预定义的时间间隔轮询 Openstack 服务(例如 Nova、Neutron)来收集。实现的该服务将缓存最新的图,以便最大限度地减少与 Openstack 服务的持续请求交互。

每个应用程序堆栈将与虚拟层中的资源映射,而每个虚拟层资源将与物理层节点映射。将捕获服务、虚拟和物理资源的网状结构。每个组件还将附加属性,例如,CPU 将具有芯片组系列的属性,而虚拟机将具有 flavor 的属性。物理层中的节点将涵盖计算、网络和存储节点,并将包含捕获其规格的属性。将对虚拟层采用类似的方法,使用虚拟计算、存储和网络节点来捕获集群上的部署。

下面我们展示了我们认为是一个良好的抽象级别,并将这些组件分为以下几层:物理层 * 机器 * 交换机 * 内存 * 磁盘 * CPU * 网卡 * 物理机房 * 网络链路 * 路由器 * 存储 NAS

虚拟层 * 虚拟机 * VNIC * VCPU * 虚拟网络 * 虚拟存储 * 容器 * 虚拟机房(Magnum 使用)

这是可以填充图的节点的指示性列表。将提供的节点的具体类型取决于测试平台中可用的平台服务(例如 Nova、Neutron、ODL 等)。景观/拓扑中的组件将表示为节点,组件之间的连接将表示为这些节点之间的边。通过对所有组件执行此操作,将构建一个概述服务结构的图,该图将直观地显示服务在数据中心中的外观,并允许轻松跟踪路径。此外,每个节点都与其他节点在同一层(层内)以及跨层(层间)具有关系。通过遵循这种建模,我们可以捕获复杂的拓扑并表达组件的各种依赖关系。此外,异构组件可以表示在每一层,因此可以捕获在虚拟或物理层具有不同要求的负载。

将通过 OpenStack 暴露的 RESTful API(例如 Nova、Neutron 等)来实现获取数据中心资源拓扑的信息。

此外,使用图来构建资源信息将允许使用经过充分研究和定义的图算法来从图模型中得出进一步的见解,例如最短路径算法,可以用于提高数据中心的性能以及更直接地提高给定的部署性能。

备选方案

所提出解决方案的有效性基于底层资源和基础设施的图表示。替代方法将是使用简单的关系建模和结构,其中对象的关联关系在单独的实体或类中捕获。可以使用关系数据库模式支持这种方法,但在大型集群中会导致高复杂性和效率低下。

数据模型影响

Watcher 数据模型对架构中实体依赖关系没有直接影响。图模型将由一个独立的模块按需提供,并且可以伴随(是 Watcher 决策引擎创建的)集群数据模型。

REST API 影响

对核心 Watcher REST API 没有影响。集群图模型将暴露其自身的 API 以用于检索图对象。

安全影响

对安全性没有影响。

通知影响

对通知没有影响。

其他最终用户影响

没有其他影响。

性能影响

图模型的生成将实时进行并按需进行。预计没有显著的性能影响。如果按需图创建速度慢,则该任务将在 Watcher 启动和/或事件实现时在后台触发。

其他部署者影响

预计没有特定的部署影响。

开发人员影响

它不会影响正在 OpenStack 上工作的其他开发人员。

实现

负责人

Intel 正在领导这项工作。主要负责人:Kevin Mullery <kmullery> 二级负责人:Gregory Katsaros <gregory-katsaros>,Thijs Metsch <tmetsch>

工作项

工作计划

  • 概念方法论的最终确定

  • 定义要捕获的信息和服务 API。

  • 图模型服务的实现

    • 从构建 NetworkX 模型开始实现图模型服务器。

    • 实现用于图提取(json)和模型获取的 RESTful 端点和 API。

  • 集成和测试。

依赖项

cluster-model-objects-wrapper 是一个潜在的依赖项,这两个 BP 的工作应保持一致。

测试

将提供几个单元测试来测试使用模拟集群模型的场景。

测试方法包括单元测试和集成测试,其中提供特定输入并与预期输出进行比较。

文档影响

需要添加与 Watcher 决策引擎的集群数据模型操作相关的新内容。

参考资料

这项工作与 CloudWave FP7 欧盟项目的研究活动相关(www.cloudwave-fp7.eu)。有关建模概念的更多信息,请参阅 Apex Lake (http://dl.acm.org/citation.cfm?id=2830016)。CloudSim (https://github.com/Cloudslab/cloudsim) 和 SimGrid (http://simgrid.gforge.inria.fr/) 可以作为相关的基础设施模型引用。

历史

没有历史记录。