APP下载

基于OpenStack体系的云计算基础架构研究

2018-04-09杜红军赵永彬金成明

吉林大学学报(信息科学版) 2018年2期
关键词:计算技术架构基础设施

杜红军, 李 巍, 赵永彬, 金成明

(国网辽宁省电力有限公司 信息通信分公司, 沈阳 110006)

0 引 言

随IT技术的发展, 信息化在企业经营、 管理中所起的作用越来越大, 尤其是对于大中型企业, 企业信息化占据着举足轻重的作用。企业信息化程度的加深直接导致了企业信息设备规模的增加, 企业必须投入大量的人力、 物力用于保障信息系统安全、 稳定运行, 信息化在提升企业管理水平的同时, 也增加了信息化管理成本。虚拟化技术的发展, 解决了企业信息化管理中资源投入大、 运维成本高的问题, 但没有较好的手段解决老旧资源利用问题。随云计算技术的发展, 特别是云计算技术在互联网企业得到大量应用, 充分验证了云计算技术具有较高的市场应用价值, 能解决企业面临的信息化管理问题[1]。

云计算是在现有计算技术基础上发展形成的全新计算体系, 在该体系下, 主机、 存储及应用等传统IT资源在网络平台上, 以服务的形式为用户提供操作界面, 使用云计算技术规划企业信息化, 将显著提升企业信息化管理水平, 降低IT运营成本, 加速企业创新能力[2]。

笔者通过对云计算技术的研究, 在信息对象模型、 业务精细化流程、 服务能力评价模型等方面开展运维服务体系的系统性优化研究[3], 提出企业信息化体系的近、 远期提升目标、 方法, 为企业的信息化体系建设提供指导意见。

1 云计算基础架构

1.1 云计算与传统基础设施对比

1) 业务数据可用性高。传统IT(Information Technology)架构中, 业务数据存储基本为单点存储, 经常出现业务数据丢失的问题。为提升数据高可用, 企业往往采购商业存储设备, 通过RAID(Redumdant Arrays Independent Disks)实现磁盘冗余, 进而提升业务数据的高可用。此方案在增加企业IT系统建设成本的同时, 也未取得预期的成效, RAID故障盘数达到冗余上限, 同样会出现数据丢失的可能。云架构是将数据在云中不同节点进行分布式存储, 数据可用性不受节点限制, 业务数据具备较高的可用性[4]。

2) 计算能力无限。信息系统处理能力完全取决于基础架构的计算能力, 即受限于信息系统的单台计算能力, 单台设备的扩展能力是有限的, 在投入大量物资的同时业务显著提升信息系统的处理能力。云计算架构采用异构架构, 可任意扩充云节点, 信息系统处理能力取决于云规模, 通过扩充节点, 可无限制的提升信息系统的处理能力。

3) 运维成本及故障发生几率低。传统IT架构中, IT系统基础设施存在设备种类多、 品牌多的情况, 不同种类设备需专业的运行维护人员, IT系统运维成本及故障发生的概率都较高。云架构基础不受底层支撑设备的限制, 可采购廉价、 品牌单一的设备, 降低IT系统建设成本的同时, 也降低了故障发生的几率, 间接降低了IT系统的运行维护的成本。

1.2 企业云计算基础架构

企业云计算架构建设是一项系统工程, 不是简单的搭建云基础设施管理平台, 并将应用系统迁移到云基础设施管理平台。云计算基础架构中云基础设施管理平台只是基础, 上层需配套建设完整的事件发现及跟踪体系, 用于保障云基础架构的稳定运行。

1) 云基础设施管理平台。云计算体系建设的第1步是要先建立云基础设施管理平台。通过该平台对基础设施操作界面进行抽象, 为用户提供统一的操作界面, 约束用户的操作规范。基础设施包括服务器、 数据库、 中间件、 存储备份、 网络、 安全、 机房、 业务应用和客户端等。

2) 故障事件自动触发流程。IT系统运行故障是在所难免的, 系统故障后能保障系统快速恢复是IT运行维护能力的体现。云计算架构中虽然单个节点故障不会对系统造成太大的影响, 但也需像传统IT架构处理云节点故障。云故障事件需建立自动触发机制, 当设备或软件发生异常或超出预警指标时, 会及时触发相关事件, 同时触发相关工单处理流程给相关运维人员。

3) 事件跟踪流程。需建立故障事件的处理跟踪机制, 通过自动化手段记录故障从发现、 处理到归档的整个过程, 以此提升故障的处理效率, 降低同类故障再次发生的概率。

2 OpenStack体系

OpenStack既是一个社区, 也是一个项目和一个开源软件, 它提供了一个部署云的操作平台或工具集。其宗旨在于, 帮助组织运行为虚拟计算或存储服务的云, 为公有云、 私有云提供可扩展的、 灵活的云计算, 包括Nova、 Swift、 Glance[5]。

Nova是OpenStack云计算架构控制器, 它提供一套工具部署云环境, 包括运行实例、 管理网络以及控制用户和其他项目对云的访问, 支持OpenStack内实例的全生命周期管理。但Nova不能提供本身的虚拟化功能, 相反, 它使用libvirt的API(Application Programming Interface)支持虚拟机管理程序交互, Nova通过web服务接口开放所有功能。OpenStack云控制器与其他nova组件(如调度器、 网络控制器)通过AMQP(Advanced Message Queuing Protocol)通信。Nova使用异步调用请求响应, 立即触发回调进行处理。通过异步消息处理, 解决了用户操作长时间等待问题。这对于许多需长时间等待的动作是非常意义的, 比如启动实例或上传镜像。

Swift是个可扩展的对象存储系统。对象存储支持多种应用, 如复制和存档数据, 图像或视频服务、 存储次级静态数据、 开发数据存储整合的新应用、 存储容量难以估计的数据以及为Web应用创建基于云的弹性存储。

Glance是个虚拟机镜像的存储、 查询和检索系统, 服务包括的RESTfulAPI允许用户通过HTTP(Hyper Text Transfer Protocol)请求查询VM(Virtual Machine)镜像元数据, 以及检索实际的镜像。

3 架构设计

3.1 技术架构

1) 总体技术路线。搭建企业云平台既可采用商用软件, 比如vSphere, 也可使用开源软件类似于OpenStack、 CloudStack等。采用开源软件的优点是费用低, 不需购买软件License; 基础平台开放源代码, 方便定制开发。

笔者搭建的云基础设备架构基于OpenStack。OpenStack是由NASA(National Aeronautics and Space Administration)和著名的服务器托管商Rackspace发起的一个开源项目, 2010年推出第1个版本。相对于其他开源云平台软件, OpenStack 项目活跃度最高, 参与开发人员最多, 是目前最有前途的开源云平台。此外, 许多商业公司(比如IBM、HP、Oracle)都提出了基于OpenStack的商业解决方案, 这也确保了OpenStack更成熟和稳定。

2) 系统技术架构。图1为OpenStack系统建构[6], 系统采用分层设计, 总体上分为展示层、 逻辑层和资源层。

展示层: 为用户提供操作界面, 用于接受和呈现信息。同时, 也为用户提供操作云中资源的API接口。包括负载均衡、 控制代理及名称服务的管理和控制。

逻辑层: 为云体系提供了逻辑处理和管理控制功能, 接收展示层命令, 并将命令下达给资源层。包括工作流的部署、 作业的调度、 策略分配等。

资源层: 资源层中涵盖了构成云的所有基础设施。包括计算资源、 网络资源以及存储资源。资源的分配直接受逻辑层控制。

图1 OpenStack系统架构Fig.1 OpenStack system architecture

3.2 网络结构

1) 网络拓扑图。云计算基础架构网络拓扑如下:

图2为云计算基础网络架构, 主要分为3个区域, 分别为管理网络、 数据网络及存储网络。

管理网络: OpenStack各个组件间通信使用的网络, 如访问控制面板。

数据网络: 虚拟机启动后获得的IP地址都属于该网络, 通过该网络传递访问虚拟机请求和虚拟机见交互请求。

图2 云计算基础网络架构Fig.2 Basic architecture of cloud computing network

存储网络: OpenStack各个组件访问存储通过该网络。

本网络规划使用到了3台以太网交换机设备, 其中2台交换机设备连接到公司核心交换机网络; 2台服务器用作控制节点, 使用pacemaker+corosync实现HA(Hadop Apache)高可用, 至少2台用于计算节点, 至少3台用于分布式存储。建设后期可以逐步增加存储节点和计算节点, 以满足不断增长的需求。

2) 高可用网络。控制节点是整个系统的核心, 保障控制节点的高可用性尤为重要。因此对控制节点进行高可用部署, 以便故障发生时能自动切换。

3) 网络端口策略。网络端口开放包括访问云平台中虚拟机的策略, 可限制虚拟机访问外部和外部访问虚拟机的流量, 用户可根据协议端口自定义流量类型。

4) 负载均衡策略。负载均衡由网络节点的LBaaS(Load Balancer as a Service)组件提供, 底层使用了HAProxy[7], 可对一组虚拟机进行负载均衡, 如3台web虚拟机, 可通过负载均衡组件对3台虚拟机进行负载均衡, 对于来自外部的访问, 会通过HAProxy访问到后端的虚拟机。

3.3 业务集成

基于OpenStack体系的云计算基础设施架构集成了WebLogic, 支持WebLogic的所有部署方式。通过集成WebLogic, 应用服务可自动部署在云平台的WebLogic中, 云平台将提供如下自动化支持:

自动化部署。云平台通过应用服务模板的方式, 按定义自动为应用分配WebLogic应用服务器进行部署, 并且根据配置的不同, 灵活地配置使用体系架构。

自动伸缩。云平台集成了对WebLogic服务的监控体系, 根据实时监控指标以及预定义的处理逻辑, 可实现WebLogic服务的自动伸缩。当业务压力激增时, 云平台可动态增加部署在WebLogic Server群集中的应用程序的容量, 以满足需求, 富余时可动态地回缩。整个过程不会中断服务, 应用程序将继续运行而不会影响客户端和最终用户。

高可用。云平台可以自动处理WebLogic集群中部署的应用故障, 为应用提供自动的故障转移和失败的受管服务自动迁移, 当服务器实例失败时应用程序可继续进行处理。云平台自动将应用程序组件部署到群集中的多个服务器实例“群集”。若在其上运行某个组件的服务器实例失败, 则将此组件部署到的其他服务器实例, 继续进行应用程序处理。

负载均衡。云平台通过确保执行特定作业的对象有多个可用副本和所有对象的位置和操作状态的信息必须可用, 保证部署在云平台上的应用可自动使用WebLogic的负载均衡功能, 即在环境中跨计算资源与网络资源平均分发作业和关联的通信。

3.4 服务器规划

1) 服务器配置原则。OpenStack云平台的服务器配置, 不同的节点类型可有不同的配置, 尽量做到利旧、 节约成本。

控制节点/网络节点: 不承担计算或存储任务, 对CPU(Central Processing Unit)内存和存储没有特殊要求, 配置普通主流的PC服务器即可。

计算节点: 承担主要的计算任务, 虚拟机都是运行在计算节点上; 因此, 虚拟机越多, 需要的CPU和内存就越多; 具体需根据实际需求, 如某个业务运行在一个虚拟机上, 需要16 GByte内存, 则该虚拟机所在的物理服务器就需要超过16 GByte内存。计算节点对存储的要求不高, 能满足基本操作系统、 虚机镜像要求即可。

存储节点: 承担存储任务。对容量要求高, 具体存储容量需要根据实际的业务需求和存储的数据冗余数量决定。对CPU和内存的要求, 需根据不同的存储类型和存储容量进行计算。原则上, 在条件允许的情况下, 较大的内存有利于数据缓存, 提高性能。

所有节点的网络, 至少千兆网络, 建议至少3个网络, 如做绑定设置, 建议至少5个网卡。

2) 高可用集群系统。云计算基础设施架构作为统一管理分布式资源的平台, 需对各部分的节点采取高可用策略。

控制节点、 网络节点高可用: 通过高可用软件的心跳监测和检测脚本来认定服务状态, 一旦发生故障就会及时切换。

计算节点高可用: 当计算节点发生故障时, 该平台内置的自动切换功能可将计算节点上运行的资源能及时切换到其他计算节点上, 保证用户能持续使用。

4 结 语

云计算作为全新的计算模式, 是对发展几十年的计算模式的重大变革, 在科学计算、 商业决策上得到广泛应用, 通过云计算技术企业在生产、 经营上能取得较大收益, 解决目前计算方式所存在的诸多不足。为此, 企业应当顺势而为, 在云计算领域投入更多的精力, 需深入研究信息系统技术架构、 网络架构, 提高系统容错性、 降低能耗相关技术[8]。基于OpenStack构架云计算体系能实现具有良好扩展性、 容错性和低成本的云环境, 涉及到多种计算技术, 笔者研究了基于OpenStack体系的云计算基础设施架构面临的挑战和存在的弊端, 解决弊端所需的各种关键技术, 从网络架构、 技术架构、 业务集成和服务器规划等方面提出了解决方案, 需在实际应用中逐渐加以完善。

参考文献:

[1]孙香花. 云计算研究现状与发展趋势 [J]. 计算机测量与控制, 2011, 19(5): 998-1001.

SUN Xianghua. Research Status and Development Trend of Cloud Computing [J]. Computer Measurement and Control, 2011, 19(5): 998-1001.

[2]黄河清. 云计算及其发展应用前景分析 [J].科技与生活, 2009(3): 12-13,41.

HUANG Heqing. Analysis of Cloud Computing and Its Development and Application Prospect [J]. Technology and Life, 2009(3): 12-13,41.

[3]张敏, 陈云海. 电信运营商云计算发展及应用研究 [J]. 信息通信技术, 2010, 4(2): 46-51.

ZHANG Min, CHNE Yunhai. Study on the Development and Application of Cloud Computing for Telecom Operators [J]. Information and Communication Technology, 2010, 4(2): 46-51.

[4]张健. 云计算概念和影响力解析 [J]. 电信网技术, 2009(1): 15-18.

ZHANG Jian. The Concept and Influence of Cloud Computing [J]. Telecommunications Network Technology, 2009(1): 15-18.

[5]陈全, 邓倩妮. 云计算及其关键技术 [J]. 计算机应用, 2009, 29(9): 2562-2567.

CHEN Quan, DENG Qianni. Cloud Computing and Its Key Technologies [J]. Computer Applications, 2009, 29(9): 2562-2567.

[6]殷康. 云计算概念、 模型和关键技术 [J].中兴通讯技术, 2010, 16(4): 18-23.

YIN Kang. Cloud Computing Concepts, Models and Key Technologies [J]. ZTE Technology, 2010, 16(4): 18-23.

[7]王意洁, 孙伟东, 周松, 等. 云计算环境下的分布存储关键技术 [J]. 软件学报, 2012, 23(4): 962-986.

WANG Yijie, SUN Weidong, ZHOU Song, et al. Key Technologies of Distributed Storage in Cloud Computing Environment [J]. Journal of Software, 2012, 23(4): 962-986.

[8]秦荣生. 大数据、 云计算技术对审计的影响研究 [J]. 审计研究, 2014(6): 23-28.

QIN Rongsheng. Study on the Technology of the Audit Influence Calculation of Big Data, Cloud [J]. Audit Research, 2014(6): 23-28.

猜你喜欢

计算技术架构基础设施
基于FPGA的RNN硬件加速架构
农业基础设施建设有望加速
公募基础设施REITs与股票的比较
功能架构在电子电气架构开发中的应用和实践
基于5G和边缘计算技术的智能仓储数字化管理平台
基于云服务的图书馆IT架构
振动搅拌,基础设施耐久性的保障
新政府会计准则规范公共基础设施处理
WebGIS架构下的地理信息系统构建研究
云计算技术在现代化办公系统中的应用