赵耀
(中国铁路设计集团有限公司,天津 300308)
大数据和云计算技术的迅猛发展,促使人类对于数据中心的需求越来越大。国内大量的电信运营商和投资商正在加速建造数据规模更大的数据中心[1-2]。随着数据中心面积的大量增加,数据日常运维难度也随之增加,为了全面满足系统的实际运维需求以及工作需求,各个数据中心开始分别建设数据中心基础设施管理(DCIM)系统,系统需要具备集中监控[3]、统一展示等能力,同时还能够对运行数据进行分析预测。近几年,相关专家也针对这方面的内容进行了研究,例如张红等[4]提出绿色云计算环境下基于资源整合的任务调度算法研究;左海春等[5]通过大数据技术进行资源整合,组建数据中心基础设施管理系统。以上两种系统虽然能够全面增强整体的管理能力以及智能化水平,但是由于未能考虑系统告警问题,导致建设数据中心基础设施管理效率和质量下降,运行费用增加。为此,提出一种云计算环境下自动化DCIM系统。
本文重点为云计算环境下自动化DCIM系统的整体框架进行设计,对云计算平台OpenStack 上的功能进行全面整合,在此基础上,增加监控和计量等功能模块[6],通过模块化的设计实现云计算环境下自动化数据中心基础设施管理以及自主服务,具体框架图如图1所示。
OpenStack工作是在云计算环境的基础上,对基础设施经过虚拟化处理后再对资源进行管理。主要通过OpenStack平台已有的组件进行开发研究,但由于控制面板组件的整体功能过于单一,直接采用OpenStack 中的RESTful API 的方式完成不同组件相关的操作以及管理工作[7]。
在OpenStack 平台的基础上,还额外开发了两个重要的组件,即:(1)监控;(2)计量。
用户可以利用系统资源获取虚拟机的状态信息,将其存储到数据库中,全面增强其它功能的拓展,并且采用相应的模块进行展示。
以上操作为云计算环境下自动化DCIM系统设计奠定了基础,提供了DCIM系统中的元数据。
在数据层,采用两种形式的数据库进行数据存储,同时将其设定为基本数据模型。
数据中心业务逻辑主要目的就是利用逻辑层完成数据的控制以及相关组件的交互。整个交互的核心是围绕Node.js 开发的Web 服务器和不同组件给出的接口以及数据库进行数据交换。Web 前端需要采用对应的JSON格式对数据视图进行全面渲染和转换[8],为后续研究奠定坚实的基础。
当用户向系统发送请求时,系统前端会将请求传递至Web 服务器,Web 服务器发起请求传输到对应的API中,同时和数据库中的数据进行对比,然后呈现给前端。在对比的过程中会涉及数据库中状态信息的更新和删除等操作。
当用户对数据中心的资源进行管理时,也是服务器接受前端的请求后向API 地址发送操作请求,同时服务器将经过操作的资源进行记录,主要是为提供操作失败后的数据回滚提供对应的理论依据。
2.2.1 用户模块
(1) 注册
主要负责用户的注册,用于收集不同用户的注册信息,其中包含用户名、密码以及邮箱等相关信息;
(2) 初始化导引
对数据中心进行初始化处理,其中包含数据中心、网络的建立和相关服务的申请等事务操作流程;
(3) 资源使用概况
显示数据中心现阶段用户使用资源的情况,主要是指不同数据中心下载各个领域的资源配额以及使用情况。总资源包含虚拟机数量、处理器核心数量、内存以及数据库存储等;
(4) 其它部分
含有资料修改、配额管理以及申请等细节操作。
2.2.2 数据中心模块
(1) 基本功能
涉及虚拟数据中心的数据增加、删除及修改等功能,还可将数据中心的数据根据地域等相关信息进行展示;
(2) 虚拟机管理
虚拟机的核心操作,包含虚拟机的创建、备份以及迁移等操作;
(3) 网络管理
包含IP的分配以及不同的网络服务;
(4) 磁盘管理
包含磁盘的创建、挂载及取消挂载等操作。
2.2.3 监控、告警和计量模块
(1) 监控和历史
监控功能需要得到全部虚拟机的状态,绘制对应的图表。同时,还能够获取对应的历史情况,用户在统计数据的过程中,方便计量及后期资源的分配优化;
(2) 告警
进行告警的目的就是当系统进入异常状态时,及时提醒系统管理员或者使用者查看具体的问题信息。如果出现的问题较为严重,则通过短信或者邮件的方式及时通知系统管理员,起到预防及引导的作用,方便资源的调配;
(3) 计量和计费
通过用户的使用情况及对应的计费模型完成费用统计和显示。在实际应用的过程中,主要负责为相关企业提供云计算服务,详细给出需要计费细粒度的总计量和计费数据。通过计量数据全面统计资源的使用情况,其中包含具体的使用时间以及用量计量等;
(4) 其它服务模块
为用户提供组建虚拟机所需要的镜像服务,通过OpenStack 对应的组件完成管理,采用Swift 完成存储,其中虚拟机备份被称为快照,它和镜像一样能够在组建虚拟机时被选择,不同的是能够通过快照全面保存CPU的内存状况,也就是将当前虚拟机的状态直接进行存储,方便在下一次创建虚拟机时通过快照直接还原之前系统的业务状态;
(5) 安全策略
主要是为虚拟机配置对应的可访问策略,同时组建虚拟机可以登录的密钥。
设定一组时间序列监测数据流,主要包含多个系统性能指标,各个维度以及每次采样时间的间隔是不确定的,即此时间序列为非常规时间序列,记做[S1,S2,…],其中:
设定yi代表自动化DCIM系统性能指标采样指标值;ti代表采样时间戳;[S1,S2,…]为整个系统的性能监控数据流。给定目标监控周期,寻找监控数据流中可能存在异常发生的时间段,同时判定当前状态是否存在异常,如果存在异常则进行告警。
(1) 为了更好地实现上述操作,首先对初始非常规时间序列监控数据进行预处理。预处理主要包含数据分段以及去噪等操作,将异质非常规的时间列进行整理,为后续的研究提供可靠的基础;
(2) 通过时间序列动态对齐算法将不同监控数据对齐,分别计算不同时间序列所表现行为模式间的相似性,将其进行整理,获取相似性矩阵,以完成行为相似性模型的建立;
(3) 通过步骤(2)中获取的各段系统行为相似性组建行为相似性网络,采用基于马尔科夫游走的排序算法,计算不同时间段内系统行为相似性,将异常程度进行排序,从而获取监控时间段内系统的异常行为,判定系统当前的行为是否属于异常行为。
不同性能指标的监控数据流都将采用相同的预处理流程获取能够进行对比的结果。时间序列可以划分为三个不同的步骤,分别为:
(1) 由于告警主要是针对同一个负载周期的时间段进行,所以监控数据需要通过负载周期进行划分,即通过系统的负载周期将监控时间序列划分为多个未检测片段,方便后续的分析和管理;
(2) 时间序列重采样的主要目的是将采样周期不均匀的非常规时间序列重构为时间序列的分析形式;
(3) 进行时间序列去噪的主要目的是排除现代计算机系统中随机性导致的性能数据噪音对于行为模式特征提取产生的干扰。
在整个预处理的过程中,初始监控数据流Sraw通过负载周期P进行划分,形成多个数据段,将其表示为Traw,然后利用插值进行滤波器重采样,则对应的函数可以表示为:
利用插值重采样滤波器处理后能够获取采样间隔确定的常规形式时间序列;经过重采样之后的数据流Treg利用低通滤波器模块进行去噪和平滑处理。在整个过程中采用小波变换低通滤波器进行高频噪声消除,进一步获取经过平滑处理的数据。
当初始时间序列监控数据流经过预处理之后,接下来需要对监测数据进行更深入的分析。其中行为模式的抽象以及分类一直以来都是机器学习以及人工智能领域研究的重要话题。
为了有效保证不同的时间序列能够获取可比较的相似度矩阵,将全部的时间序列归一化到[0,1]区间内,同时对线性方程进行归一化处理,具体的表达形式为:
式(3)中,minimum代表待检测时间序列段的最小取值;maximum代表待测时间序列段的最大值;其中上述两个取值均能利用监控时间序列历史数据扫描获取。
经过上述操作后,进行系统异常行为告警。在行为相似度网络建立的过程中,将每一个待测时间序列映射到网络中的一个节点上,全部映射均保持一对一的函数关系。为了获取待测时间序列中包含的行为异常片段,能够利用获取相似性网络中对应的异常节点实现。
量化图或者网络中节点的连通度以及异常节点查找有很多方法,以下采用随机游走算法模拟流量在网络通过网络结构随机流动的情形。直观上而言,连通度越高,则说明节点不仅可以获取外界的流入流量,同时也有可能在网络其它节点中获取流入的流量;针对连通度较低的节点而言,外来的流量难以导入,只能够获取少量的直接流入流量。
为了有效量化相似性网络中不同节点的连通度,进而获取不同节点的异常指数,将相似的网络进行建模,组成一个基于马尔科夫链的状态空间V,同时组建一个状态转移矩阵T,主要代表随机游走过程中系统运行状态的变化情况。在给定相似性邻接矩阵M的情况下,将矩阵进行归一化处理,则有:
连通度向量计算主要是利用重复迭代一个核心状态转移递归方程,具体的表达形式为:
式(5)中,damp代表随机游走的粘滞系数,实质上也就是在随机游走过程中网络外来流向的主要成分;n代表网络中节点总数;conn代表迭代计算过程中连通度向量。
其中迭代方程可以被理解为:在计算马尔科夫状态链上进行随机游走的工程中进行状态转移,各个状态分别代表不同的游走量,每次发生迭代即为状态转移,节点上的流向会通过转移流动到另外一个节点上,而网络外部同时也会有流量流入。
连通度向量conn能够在迭代若干次后收敛获取一个常向量,迭代方程的收敛性已经通过相关数据被证明。当连通度向量完成收敛后,向量中各个维度即为网络对应节点的异常指数,也代表对应待测时间序列段的异常指数。由于异常指数和异常程度两者之间成反比,所以连通度越低,则说明异常程度越高,系统则会需要及时进行预警,并且确定异常发生的时间段。
为了验证所提云计算环境下自动化DCIM系统的综合有效性,在表1所示的实验运行环境下进行测试:
表1 实验运行环境
(1) 建设数据中心基础设施管理效率/(%)
实验选取文献[4]系统和文献[5]系统作为对比系统,将建设数据中心基础设施管理效率设定为评价指标,具体实验对比结果如图2所示。
分析图2中的实验数据可知,图2中分别对三种系统的建设数据中心基础设施管理效率进行了对比分析,但是由于所提系统在实际应用的过程中对云计算环境下的异常数据进行告警,有效避免故障的发生,全面提升系统的建设数据中心基础设施管理效率,使所提系统的测试指标在三种系统中为最高;
(2) 建设数据中心基础设施管理质量/(%)
以下实验测试对比不同系统的建设数据中心基础设施管理质量,具体实验对比结果如表2所示。
分析表2中的实验数据可知,所提系统的建设数据中心基础设施管理质量明显优于另外两种系统,最主要的原因是:在传统系统的基础上,系统加入了告警模块,及时对系统中的异常进行告警,在确保系统管理效率的基础上有效确保系统的管理质量。
表2 不同系统的建设数据中心基础设施管理质量对比结果
(3) 系统运行费用/(元)
在相同的实验环境下,以下实验测试对比三种不同系统的运行费用,具体实验对比结果如图3所示。
分析图3中的实验数据可知,运行费用会随着测试数量的增加而增加,但是相比另外两种系统,所提系统的运行费用明显更低一些,这是因为所提系统在传统系统的基础上加入了告警模块,同时提出了对应的告警方法,促使系统及时发现异常,有效降低运行费用。
针对传统系统存在的一系列问题,本文设计并提出一种云计算环境下自动化DCIM系统。仿真实验结果表明,所提方法系统不仅能够有效提升系统的管理效率和管理质量,同时还能够有效降低系统的运行费用。但是由于受到外界环境以及多方面因素的干扰,促使所提系统的性能还需要进一步提升,后续将对系统进行全面完善,提升系统的服务质量。