SDN环境下数据中心机房能源监控及智能优化系统设计
2020-02-02李玥陈俊彦雷晓春陈小凤
李玥 陈俊彦,2* 雷晓春 陈小凤
(1.桂林电子科技大学计算机与信息安全学院 广西壮族自治区桂林市 541004)(2.广西云计算与大数据协同创新中心 广西壮族自治区桂林市 541004)
1 引言
我国数据中心的数量非常庞大,在绿色中心的建设上我国也投入大量的物力人力,研究出许多的方法。随着电子信息技术的不断发展,数据中心机房的建设也逐步向集成度和规模化的方向发展。本系统在ZigBee 无线传输、MODBUS 通信栈和分布式SDN 节能优化的基础上建立一个数据中心机房监控及智能优化系统[1]。该系统可采集环境数据和机柜数据并反馈给监控设备。本系统使用了基于LSTM 循环神经网络的预测方法,以预测误差最小为目标来实现流量预测,根据预测的流量来选择相应的路由,以此为基础研究和实现数据平面弹性拓扑节能优化策略以及多控制器控制平面弹性拓扑节能策略,从而实现负载均衡[8]。管理员通过客户端可实时对机房进行监控,便于管理员的管理。
2 系统总体框架设计
本系统实现的主要功能包括:通过机房数据采集来进行远程监控,并对采集数据的过程进行优化、系统架构图如图1所示。该系统旨在通过结合SDN 负载均衡[2]的思想来进行数据优化以实现节能。首先进行湿温度、机柜数据采集,在数据优化阶段,采用分布式SDN 弹性拓扑节能和多控制器E3MC 弹性节能机制来实现节能[1],最后通过远程监控模块,来进行显示实时数据、更改报警号码、显示配电柜开关、查询机柜历史数据、查询历史故障信息等,方便监控者科学使用机房和实时了解机房的使用情况。
3 系统设计实现方案
3.1 机柜数据监控及报警设计
为了实现机柜数据监控及报警,本系统会首先采集机柜及周围的温湿度信息,来初步判断当前机柜所负载的流量值,然后通过机柜数据采集,来直接获取机柜的功耗等信息,从而间接获得机柜负载值的信息,通过这两方面的数据,来进行机柜的监控,若超过一定的阈值,则启动报警系统。
首先本系统会采集机柜及其周围的温湿度数据。采用ZigBee无线传输方式部署温湿度传感器节点,服务器的设计采用了多任务处理方式,且使用多线程实现服务器的多任务处理。
此外,本系统还会收集机柜中如功耗等数据。在机房配电柜中,采用工业通信标准ModBus 通信协议定义了一种消息结构,该消息结构一直可以被任何的网络控制器识别和执行命令,且定义了如何通过网络控制器与其它通信设备之间的请求与访问等操作的执行,如果该控制器接受到来自通信网络中其它设备的请求应答时,进行响应数据应答以及检测该数据是否错误并进行该信息的记录。
本系统将配电柜数据的目的地址转换成ModBus 数据帧,发送给配电柜,等待配电柜返回关键信息的ModBus 数据帧,随后解析数据帧并将它们转换为所相应的数据,最后将转换的数据存入已经创建好的数据库的tree 表的相对应的字段名中。
图1:系统架构图
图2:测试拓扑图
得到上述的温湿度数据和功耗等数据后,本系统通过B/S 架构提供远程监控服务,可以访问网页方式查询历史故障信息、机柜历史数据、配电柜开关状态、实时功耗数据和温湿度数据、更改报警阈值和紧急联系方式等。
除了实时监控机房数据外,本系统还添加了报警功能。当机柜的负载流量增大到超过所设阈值时,本系统会启动报警装置。监控人员得到报警后可去重新设置机柜,减轻了监控人员的负担,也延长了机柜的使用寿命。
3.2 SDN优化节能方案设计
3.2.1 SDN 多控制器部署
通过聚类算法实现多控制器部署策略,控制器部署的位置是从交换机节点中选出来的,因此理想化控制器到其所部署的交换机节点的时延为0,并且不为控制器到交换机单独开设一条物理链路。本系统采用的是K-means++算法来实现多控制器部署[3]。
表1:测试结果
部署方案如下:首先在图中随机选取一个样本点作为第一个簇中心c1,然后计算剩余样本点与所有簇中心的最短距离,令此距离为len(mi)=min[dist(mi,c1),dist(mi,c2),dist(mi,c3),…dist(mi,cn)],某样本点被选为下一个簇中心的概率为重复上一步直到选出k 个簇中心,即为k 个控制器和k个类[4][7]。
3.2.2 LSTM 预测路由
通过LSTM 来预测网络中的流量情况,通过历史数据预处理、建立模型、确定参数、实验分析等步骤,来预测未来网络中可能会出现的流量负载情况,以此为指标之一来衡量SDN 负载均衡的策略和方案,以减少由于流量不均而导致的效率下降、成本上升等问题[5]。
LSTM 单元中有三种类型的门控,其对信息的存储和更新正是由这些门控来实现,门控的一般形式可以表示为:
g(x)=σ(Wx+b)
其中σ(x)=1/(1+exp(-x)),称为 Sigmoid 函数,是机器学习中常用的非线性激活函数,可以将一个实值映射到区间[0,1],用于描述信息通过的多少。采用wireshark 中的流量集进行数据预处理,将预处理后的数据输入到LSTM 神经网络中,在t+1 时刻LSTM 神经网络的预测输出值为ht+1,同时当系统捕获到t+1 时刻的真实数据xt+1后,再将xt+1作为预测结果的对照数据,并计算预测误差,同时将误差数据循环到神经网络中进行模型修正和更新,同时真实的xt+1也会作为下一次预测的输入值循环到LSTM 中[6]。
3.2.3 网络流量均衡策略
通过对网络进行编程的方法来实现查找网络中存在的多条路径的路由,并对这些路由的路径赋予一定的权重,让网络中大量的数据包从不同的路径到达目的主机。
在OpenFlow 协议中,存储桶权重越高,优先级越高,即优先选择存储桶权重高的路径。
单条路径的成本sw 计算公式如式(5)所示:
设有m 条路径,则其总成本SW 计算公式如式(6)所示:
单条路径的存储桶权重(bw)计算公式如式(7)所示:
由以上公式可得,路径成本越低,所得存储桶权重越高,在OpenFlow 协议中,存储桶权重越高,优先级越高。在流量均衡策略中,优先选择优先级高的路径[9]。
3.2.4 机柜数据分析
通过RS232、RS485 转网络设备使PC 对之进行通信,并可读取机柜数据,存入mysql 数据库。若功耗过大则减少对此路由的使用频率。
本系统通过以上四个结果数据来判断和选择最终的路由规划策略。若LSTM 预测所得结果记为A,网络流量负载均衡策略所得结果记为B,对机柜的数据分析结果记为C,则最终所选路由Z=αA+βB+γC。每个结果占比不同,通过不同的需求和实际情况,来确定各个结果所占的权重,最终确定当下所初步选定的路由方案。
4 系统测试
测试采用K=4 的胖树网络拓扑图,如图2所示。
测试结果如表1所示。
由测试结果可得,管理员可通过客户端查看机房相关信息,且对于SDN 的多控制器的均衡部署和流量的负载均衡也都已实现。
5 结论
本系统的主要工作内容和创新点即为SDN 环境下的节能管理机制。通过结合SDN 和机柜功耗数据、温湿度数据等,对数据中心机房进行网络管控和全局计算,研究和实现数据平面弹性拓扑节能优化策略以及多控制器控制平面弹性拓扑节能策略,分别在数据平面、控制平面和分布式三方面实现能源智能优化机制。管理员可通过客户端可实时对机房进行监控,提高了管理效率。