基于OpenStack的电力信息网运维平台研究
2015-04-25石佳磊李祉岐
赵 峰,石佳磊,李祉岐,孙 磊
ZHAO Feng, SHI Jia-lei, LI Zhi-qi, SUN Lei
(北京国电通网络技术有限公司创新技术中心,北京 100070)
0 引言
随着IT技术及IT行业迅速发展,社会和企业的信息化程度不断深入。企业信息化水平和企业经营业务之间的关系越来越紧密,企业业务对信息技术的依赖程度也越来越高。如何对IT系统实行有效管理成为实现企业信息化的一个重要关键。良好的IT运维管理方式作为提升企业IT管理水平的重点,已被越来越多的国内外企业接受、认可和发展。在当前云计算、大数据的技术浪潮下,企业的IT架构出现了巨大的变化,而随之而来的就是企业的IT管理变得越来越复杂。尤其是在市场环境变得更加复杂和多变,市场竞争变得更加激烈,企业业务对于IT在及时性、稳定性、高效率等方面的需要变得更加的严格,因此,云计算环境之下,IT运维管理对于企业来说,其带来的挑战越来越大。企业需要一套行之有效的方法来实现对于企业IT支撑服务的综合管理,以此来更好地为企业生产、管理业务服务。
随着国网信息化SG186工程建设的推进,越来越多信息系统需要上线转运行,在国网信息化水平踏上新台阶的同时,对于信息运维水平、标准化程度、规范性提出了更高的要求。为促进ITIL国际标准和国网信息运维现状相结合,早在2007年国网就启动了ITIL运维咨询项目,2008年启动了集ITIL运维流程管理在内的信息运维综合监管系统。在总结咨询成果和试点实施成果的基础上,国网组织开展了信息运维流程标准的研究和系统改造工作。流程标准包括ITIL运维服务支持的五大流程,即事件、问题、配置、变更、发布管理流程。
随着业务系统的不断深化和完善,新功能模块及外部应用集成接口持续增加,并与现有运维范围内的功能发生交互和影响,系统复杂度和运维难度随之提高,运维工作量大大增加。运维人员工作负荷已呈现逐步饱和状态,出现高峰坐席全满,客户无法得到及时有效运维的情况。信息运维正呈现“点多面广、复杂性增加、变更频繁、要求提高、资源不足”的特点。
在主机虚拟化、存储分布式、同城灾备等云化技术的大量应用下,原有传统的信息运维服务模式、能力有待进一步的优化提升,本文力图着力于研究基于云化技术应用下,电力行业信息运维服务能力提升,从基于OpenStack的云平台入手,建立基于云的电力信息网运维服务平台,开展信息运维服务体系的系统性优化研究。
1 基于OpenStack的云平台设计
1.1 云平台应用架构设计
本次研究采用基于OpenStack社区版的企业级发行版,其底层以OpenStack稳定的社区版本为核心,同时增强企业级功能。如增加服务器HA(高可用)技术以增强KVM虚拟机的高可靠性。在应用层,应以管理需求为中心,增加复杂系统的易用性,如云主机的快速部署和回收,对物理、虚拟资源监控,以及多租户管理和自服务等功能。在对外服务层,除了增强访问服务的易操作性,还应考虑与其他环境对接,如与现有的AD集成、与运维软件集成、与备份软件集成等。
应用架构如图1所示。
云基础架构服务:包括虚拟服务器部署和计算模块NOVA,实现对KVM或者VMWare虚拟机的管理,对Docker容器的管理,对Power小型机的管理;包括网络管理模块Neutron,提供云计算环境下的虚拟网络功能,可同时支持多种物理网络类型,支持防火墙服务、节点间VPN服务等;包括统一存储管理模块Cinder,支持Server SAN、IPSAN、FC SAN等各种架构,支持文件存储、对象存储和块存储等各种存储服务模式。
云管理服务:包括虚拟机管理、网络管理、存储管理、镜像管理、策略管理和硬件管理,企业级使用应该在OpenStack社区版的基础上对虚拟机管理、网络管理、存储管理了增强,使之更符合企业客户高可靠和易用性的要求。
监控/计量:企业级使用应包括硬件监控、虚拟监控、存储监控、网络监控、服务监控和资源计量的功能,其中大部分是OpenStack社区版不具备的,需要增强。
表1 系统功能模块总结
自服务:企业级使用应提供网络拓扑管理、安装管理、升级管理、日志管理、通知管理和事件管理功能,大部分是OpenStack社区版不具备,需要增强。
云访问服务:提供Dashboard和C L I 两种访问模式,应该在Dashboard上做了增强和改进,使之更符合中国人的习惯。
API服务:提供基础架构管理API、监控API、远程管理API、安装部署API,使云计算平台可以与其他系统对接。
安全:提供认证、权限、审计功能,并与AD对接。
图2 自动化运维平台技术架构
1.2 云平台系统功能设计
云平台具备基础设施即服务(IaaS)的核心管理能力,涵盖从云服务定义、云服务申请、云服务供应、云服务变更、云服务回收等面向服务的生命周期管理能力。
2 自动化运维平台规划
2.1 总体技术路线
1)采用全开源软件作为基础,完全做到自主可控、安全;
2)云计算平台采用OpenStack;自动化巡检采用Nagios、zabbix;软件发布管理采用Puppet、weblogic发布系统;
3)多层体系结构,严格按大规模分布式系统和标准Linux python开发规范进行开发;
4)提供灵活的界面展示;
5)系统功能强大、技术先进,同时提供高并发处理能力,对外开放标准的RESTFul协议接口;
6)系统界面简洁规范,美观大方,操作方便;具备人性化、简单的人机交互方式。
表2 总体技术路线
2.2 平台技术架构
系统采用分层分模块设计,总体上分为管理可视层、业务核心层、云平台层;同时整个平台采用统一的权限认证管理系统,简化整个平台的权限控制。
管理可视层:作为整个平台的管理界面和信息展示区域,包括云平台管理、流程资源管理、自动化巡检信息展示、应用软件发布管理四个功能区域。信息可视层包括各种管理界面UI,同时对巡检信息进行自动化风险评估和宏观趋势分析,提供对事件监测上报事件、流量信息进行综合的模型分析,并提供宏观的展示和丰富的报表功能。
业务核心层:包括日常巡检自动化,发布部署自动化,配置管理自动化、资源管理自动化、检修管理自动化、实时事件监测、预警响应自动化等能力。该层结合第三方成熟产品,对云平台上的巡检、软件部署管理等进行自动化管理,包括云平台的每个虚拟机、云存储、网络资源、物理机资源、第三方应用软件服务产品等。
云平台层:基于开源OpenStack进行开发,实现对计算、网络、存储资源的统一管理、统一分配。
统一权限认证管理系统:可以统一管理各个操作系统平台的用户,集中管理,大大简化系统规模扩大导致的权限管理的难度;同时可以支持使用广泛、成熟稳定的LDAP协议,对支持LDAP的服务、终端设备等,都可以进行统一的权限管理。统一权限管理还可以按照不同的业务分组进行控制,方便业务划分。
2.3 功能模块设计
基础云平台用来管理控制基础的物理资源,包括计算、网络、存储。上层包括运维自动化所需的各个功能模块,以及展示交互UI。部分模块说明如下:
知识库模块:根据现有的经验,把常见的故障现象及处理方法,总结形成知识点,保存到知识库;同时,处理方法要形成可执行的脚本或者其它可自动化执行的方法,方便自动调用。知识库还应该具备自我学习能力,对一些新问题,应该要能够根据处理结果自动形成知识点并保存。
自动处理模块:能够根据知识库的定义要求,自动调度指定处理脚本,并进行相应的结果处理和通知、保存。
图3 平台功能架构示意图
2.4 典型流程示意图
图4 资源申请及分配工作流程
流程描述:
用户通过ITIL发起请求;
云平台通过RestFul协议接受到请求;
云平台判断请求所需资源是否满足要求;
如果满足,创建分配资源;
云平台通过RestFul协议返回请求结果。
图5 资源自动伸缩工作流程
流程描述:
平台监控不停采集监控Weblogic负载数据;
如发现负载过高,创建新节点或者实例,加入集群;
如发现负载过低,从集群中删除节点或者实例。
3 结束语
本文研究的基于OpenStack的自动化运维平台,全部采用开源技术,具有良好的开放性和扩展性。平台提供标准化的接口,可方便的与电力企业中各类其他平台无缝对接,为今后与SOC(安全运维中心)等集成提供了便利条件。平台支持跨地域、分层部署,各模块间可拆、可合,各模块可缩、可扩,满足电力企业的特殊应用需求。同时,平台具备良好的二次开发能力,提供灵活的数据配置及流程设计功能,用户通过配置和简单的界面操作即可实现各种流程及功能定制
通过自动化运维平台对日常运维操作进行规范化、流程化、电子化管理,不仅实现了基于ITIL规范的事件、问题、变更、配置、知识库等流程管理,还将与运维紧密相关的需求受理、产品质量等都通过流程规范管理,确保各项运维工作合规、有序进行,大幅度减少运维人员工作量,提升企业运维效率。
[1] 桂林.数据中心自动化运维平台建设方法[J].中国电子商务,2014(11):79-80.
[2] 罗芸,张晓川,朱建中,等.面向云平台的集群运维管理方法研究[J].现代电信科技,2013(7):54-59.
[3] 徐红泉.电力调度自动化系统综合运维平台设计方案[D].浙江大学电气工程学院,2008.
[4] 周昕毅.Linux集群运维平台用户权限管理及日志审计系统实现[D].上海交通大学,2013.
[5] 梁鸿健,郭池,乔治中,等.基于ITIL的电网调度自动化运维流程系统的研究与建设[J].中国电子商情:通信市场,2011(6):187-192.