云架构中高可用技术现状与发展

2017-08-07 06:21马辰王博曹宁生
舰船电子工程 2017年7期
关键词:架构服务器节点

马辰王博曹宁生

云架构中高可用技术现状与发展

马辰王博曹宁生

(中国舰船研究院北京100192)

论文从云架构着手,从内容和网络两个方面分析高可用技术现状。在内容上,着重分析基于数据库、大数据和虚拟化的高可用性方案;在网络上,分析以SDN架构为基础的高可用性方案。通过整合云架构中各类高可用技术方案,从船舶应用的角度对其未来发展提出合理化建议。

云架构;高可用;服务器;内容;网络

Class NumberTP393

1 引言

美军全舰计算环境(Total-Ship Computing Environment,TSCE)在DDG-1000中的应用引起了广泛的关注[1]。美军认为,TSCE为舰艇电子信息系统的集成方式和组织运行带来重大变革,在扩展升级、抗毁生存、分散布置、统一标准、开放集成和灵活重构等六个方面具有重大优势[2]。目前,我国研究人员深入分析美军TSCE现状,对我军下一代舰艇装备建设,提出了许多建议。其中,提供差异化的高服务质量,具有高抗毁性,对提升舰艇的战斗力和生存能力至关重要[3]。

以服务器和网络为核心的云架构的出现,为我军的舰艇信息系统发展提供了一种有效的解决方案。在云架构中,通过动态的资源调配,通过网络以虚拟资源的形式提供服务[4]。用户无论身在何处,只要能够接入云网络中,就能在云架构上完成任务;而操控者通过对云架构资源的调度和维护,为用户提供高可用服务,同时减少资源消耗,降低运维的复杂度。目前,使用最多的云平台有AWS,OpenStack,ClouFoundry和CloudStack等[5~7];大数据平台有Hadoop,Spark等[8~10]。在这些平台中,均设计一定的冗余资源,为用户提供高可用服务。

而目前的云架构,也存在着数据库、虚拟化和大数据等多种架构并存,缺乏统一的数据管理和配置,无法提供差异化服务的问题。本文以船舶云架构为基础,围绕国产数据库、大数据、虚拟化和软件定义网络(Software Defined Network,SDN)等技术,进行综合分析。按照高可用技术涉及的范围,将其分为内容高可用和网络高可用。在内容高可用中,归纳数据级、应用级和平台级的高可用;在网络方面,归纳出基于内容连通性的高可用架构。这两种技术均能为用户提供差异化的高可用服务,从不同角度满足用户的需求。

2 云架构高可用性概述

云架构中有用户和管理员两个角色。用户可以在任意一点接入网络,向云架构请求存储、计算和虚拟机等服务;管理员调试云架构中的存储、计算和网络资源,响应用户的需求。在图1中,用户通过交换机5接入云架构,并向管理员发送应用请求,而管理员通过调度服务器3中的服务资源并建立起通路:服务器3→交换机4→交换机5→用户,响应用户需求。

高可用(High Availability)技术,就是以提供持续性的稳定服务为目的,通过冗余的和并行的方式实现业务不间断提升系统性能,而云架构是高可用技术的一种具体实现方式[11]。一般情况下,在云架构中的高可用技术指的是内容的高可用,即网络默认为是可靠的,而需要在不同的服务器中调用存储和计算资源,以保证服务的稳定性[6],如图1中,当服务出现故障时,认为服务器3故障,即发生故障1。但随着网络规模的扩大和结构的复杂,网络本身的高可用性也被考虑进了云架构中[12],如图1中,交换机4和5之间的网络故障2也会造成用户服务的中断。因而,在考虑船舶云的高可用性技术时,需要从内容和网络两个方面分别分析。

3 内容高可用

3.1 云架构中的内容架构

云架构提供内容的服务,主要包括存储、计算和虚拟机等,其平台架构如图2所示。底层是由服务器、存储单元和交换机构成的硬件资源。在虚拟化层,提供虚拟化平台,将由若干个服务器的集群虚化成一个资源池。在云计算架构层,云架构为用户提供存储服务、大数据服务和虚拟机服务环境。其中存储服务由分布式数据库和文件管理系统,对结构化非结构化数据提供存储和检索等数据级服务;大数据服务在Hadoop架构下,提供MapReduce和Spark等分布式离线计算和实时计算等应用级的服务;虚拟机服务由OpenStack技术为某些业务建立多个虚拟机,提供平台级的服务。

按照用户请求内容的不同,将内容高可用需求分为四级,分别是:

1)数据级高可用:用户向云架构请求数据的存储与读取,该数据在用户端进行处理。在数据级高可用中,云架构需要将数据存储于不同位置的服务器中,以保证当某服务器出现故障时,其他存储冗余资源的服务器可以及时提供资源。数据级高可用的恢复时间一般在ms~s级之间。

2)应用级高可用:用户业务计算功能进行高可用的冗余备份;管理员在进行数据和计算管理时,冗余的控制保证。在应用级高可用中,云架构需要将应用功能在不同的服务器节点中实现,以保证某服务器出现故障时,其他应用节点可以及时备份。应用级高可用的恢复时间一般在s~min级之间。

3)平台级高可用:用户在客户端向云架构请求操作和开发平台,而主要环境均在云架构上。在平台级高可用中,云架构需要为用户提供由计算和存储构成的虚拟计算机,当某个虚拟机节点损失时,可以利用云架构存储的数据,直接恢复出原有的虚拟机。平台级高可用的恢复时间一般在min~hour级。

4)集群级高可用:管理员在某个服务器集群出现故障时,利用备份的集群进行恢复。集群级高可用一般用于数据中心间的备份,融合数据级、应用级和平台级高可用的策略和技术,恢复时间一般在min~day级。

3.2 云架构内容高可用性

1)数据级高可用

云架构的数据可以分为结构化数据和非结构化数据。结构化数据即行数据,存储在数据库里,可以使用二维表结构来逻辑表达实现的数据;而非结构化数据指不方便使用数据库二维逻辑表来实现的数据,包括所有格式的办公文档、文本、图像、音频、视频等信息。在云架构中,结构化的数据一般使用通用关系型数据库来存储,非结构化数据一般由大数据组件中的分布式文件管理系统和非关系型数据库来存储。

传统的关系型数据库中数据表格一般在单机上使用,用户直接将数据存入表中;在云架构系统中,实现了关系型数据库的分布式管理,即数据存在不同的存储服务器中,在数据库之上,设立数据库管理系统,将某一节点作为数据库的控制节点,而在数据层面实现主从服务器数据的备份。在分布式的数据库中,又可以提供数据库级、用户级、表级等更加细分的高可用策略。正常情况下,数据的读写由用户通过控制节点写入主数据节点,并且实现主节点与从节点的数据备份;当主节点产生故障时,通过控制节点,将数据的读写由主节点转移到从节点上去。在主从节点的高可用模式中,数据仅由一个节点完全提供,不考虑主机与节点的位置和负载均衡等内容。图3(a)是主从备份的一个示例,在图中存储节点A是主节点,存储节点B和C是从节点,正常情况下用户所需要的数据由A提供;当A出现故障时,数据由控制节点B提供。

分布式文件管理系统的目的是将海量文件遍布存储在一个大集群的多台服务器中,它既可以存储结构化数据,也可以存储非结构化数据,其典型案例是HDFS(Hadoop Distributed File System)。HDFS将每一个文件以分块序列的形式进行存储,一个文件的所有分块除去最后一个分块外都是等大小的。HDFS的文件管理系统有控制节点(NameNode)和存储节点(DataNode)。数据被分块存入不同的存储节点中,由控制节点管理,通过多副本机制,保证数据高可用性。图3(b)是一个分布式文件管理系统的示例,数据资源1、2和3备份存储在不同的服务器中,其中1和2存储在服务器A中,1和3存储在B中,2和3存储在C中;在正常情况下,用户请求的数据资源由服务器A提供数据1和2,B提供3;当服务器A故障时,由服务器B提供1和3,服务器C提供2。HDFS保证了数据存储的高可靠性,与主从备份相比,又降低了总的文件存储容量。并且通过控制节点的管理,可以有效地考虑服务时数据与用户的距离等因素,具有较强的生存能力。

2)应用级高可用

应用级高可用主要存在于大数据平台。大数据平台的作用主要是在海量数据情况下,单机无法在有效的时间内完成数据计算,因而需要将数据分配在不同的CPU和内存架构上,进行并行计算,来满足用户的需求。大数据系统使用分布式计算环境,一般指Hadoop架构,利用控制节点进行资源调配,使用的MapReduce和Spark等计算平台的架构也是主从结构。

在控制方法上,通过两台控制节点的服务器(MasterServer),实现计算管理的高可靠性。当主控节点出现故障时,其计算和存储的调度切换到备用控制节点上去。图4(a)是控制应用的高可用性说明。在正常情况下,用户通过控制控制节点A进行数据的存储操作;当控制节点A出现故障时,其管理权限自动切换至控制节点B上。这样可以在部分控制节点失效的情况下,仍然可以及时响应用户的请求,整个系统无单点故障。

在计算方法上,类似于HDFS中的冗余备份,在计算进程上实现高可用性。即在Map过程中,每一个计算节点均有冗余量;当其中一个节点出现故障时,利用其余节点的冗余信息,在Reduce阶段也可完成数据的计算任务。图4(b)是一个冗余计算能力的示意图。在正常情况下计算节点A、B、C分别具有计算进程1和2、1和3、2和3,在控制节点Reduce后送给用户;当节点A故障时,B和C中具有的进程在Reduce后依然可以保证进程1、2和3同时运行,完成用户的计算任务。

3)平台级高可用

在云计算中,由虚拟化平台向用户提供虚拟机任务,在虚拟机里用户得到与任务机类似的若干台虚拟机。对虚拟化平台而言,其高可用性指的就是提供不间断的虚拟机服务。虚拟化过程中,一台虚拟机由一台在计算节点的主机和一块在存储节点的虚拟磁盘组成。而对于虚拟机计算节点的故障,可以利用虚拟机的热迁移,在备份计算节点上,利用原先虚拟磁盘,重新建立起新的计算平台。虚拟机的迁移整体时间大概需要几分钟,主要包括对故障物理机的重试探测时间、虚拟机的迁移时间和虚拟化管理平台状态同步时间。迁移后的新虚拟机与原虚拟机相比,保留了整个平台中的数据存储,但其平台中进行的计算任务均已中断。图5是虚拟机的迁移原理,正常情况下,用户请求的虚拟机由计算节点A和存储节点A分别提供虚拟主机和虚拟磁盘;当计算节点A故障时,由计算节点B重新生成一台虚拟主机,并且挂载存储节点A上的原有磁盘,生成一台新的虚拟机提供给用户。

4 网络高可用

4.1 云架构中的网络架构

通信网络中,通常使用生存性(Survivability)技术满足用户高可用需求。根据操作在故障前后的顺序,可以分为故障后保护(Protection)与恢复(Restoration)。保护技术为网络业务或链路提供预置的保护资源,当网络故障时,故障业务或者链路将由预留的保护资源进行传达,从而恢复受影响的业务或链路。恢复技术为网络的业务或链路动态寻找网络中的剩余资源,通过利用网络中的富裕带宽,快速消除故障的业务或链路所带来的影响。根据国际电信联盟(ITU)的标准,通信网络的保护恢复时间在ms级,一般不超过50ms,而恢复技术时间在ms~s级。

随着软件定义网络SDN技术的出现,使用集中式控制架构,为保护和恢复提供了新的方向。图6展示了SDN的总体架构,从上往下看依次为应用层、控制层和转发层。SDN应用层是开发者根据SDN控制层提供的接口进行相关开发的网络控制应用。SDN控制平面则用来实现请求应答、算路等功能,在图6中SDN控制器控制整个网络的管理流程,数据库存储网络链路以及业务请求情况,路径计算单元用来进行路径规划。控制器可以与云架构中内容控制管理服务相连,提供必要的控制管理功能。转发层包含基本的传输器件,如路由器、交换机、传输线路和中继设备等,它与控制层协同工作,根据控制层的指令协议(例如OpenFlow协议),进行数据转发。

4.2 云架构中网络高可用性

船舶的平台系统使用云架构,由于故障可能产生在任何部位,造成多个服务器模块或者网络模块失效。因而在云架构中,需要综合考虑基于内容的网络生存性技术。传统的网络中,业务是点对点(point-to-point)的,即业务从特定的源节点到目的节点,其源、宿节点是不能变化的。当宿节点发生故障时,整个业务应付失效,无法恢复。在云架构中,基于服务器的业务占据带宽请求的绝大部分,如云计算、云存储、云点播等。这类业务的请求目的节点是服务器中的服务资源,而并非某一个特定的节点。我们称这种业务为点到内容(point-to-content)业务请求。任何拥有此类特定资源的数据中心都可以满足用户要求。从网络层面上看,任何相关的服务器节点都可以作为宿节点。因而在云架构的网络中,如果一个服务器节点失效了,其服务的点到内容的业务均可被其他具有相关资源的服务器所替代。这种云架构的特性被称为内容连通性(content-connectivity),即业务的请求是到固定内容的。

图7是网络高可用性的一个典型案例。在正常情况下,用户通过连接网络控制器,向云架构发送业务请求。在正常情况下,用户通过交换机5和4来访问服务器3;交换机5和4之间的路径出现故障后,传统的方案是通过交换机5、2、3、4来继续访问服务器3;而内容连通性的方案是通过交换机5和2来访问服务器2中的资源。

5 高可用技术挑战

船舶云的发展的同时,伴随着新的挑战,本文总结主要如下:

1)内容和网络缺乏有效的统筹。内容管理主要依靠服务器中软件自身的控制软件,而在网络方面,缺乏相关的控制管理功能。

2)控制器缺乏有效的接口。大数据、虚拟化在内容管理中使用的是各自的控制器,而SDN网络中使用的是基于OpenFlow协议的控制器,各种控制器之间接口并不统一。

3)内容纵向管理的挑战。在内容的高可用中,控制器在故障时,仅从单一的数据级、应用级或者平台级进行管理,而不是有效地从上到下选择具有合适备份策略。

4)内容和网络统一调度策略。云架构的高可用性包括存储、计算和网络,如何建立云架构高可用度模型,完成统一调度的策略和算法。

5)差异化的高可用服务提供。云架构中各类服务需要根据服务的等级和质量要求,在内容和网络资源中提供差异化服务,在资源使用率和可用性中取得较好的平衡。

6 结语

目前,船舶的信息系统正在向TSCE跨越。云架构可以提供从数据级到集群集的业务,是未来船舶信息系统的重要组成部分,因而其高可用技术得到了广泛的研究。本文梳理目前云架构中涉及的高可用技术并进行分析,对其未来的发展提出有效的建议。

[1]张伟.美国海军全舰计算环境发展及关键技术[J].舰船科学技术,2016,38(4):148-152.

[2]裴晓黎.美海军TSCE设计剖析及对我军信息系统集成模式的启示[J].计算机与数字工程,2015,43(9):1607-1614.

[3]徐勇.全舰计算环境及信息化总体概念方案研究[J].舰船电子工程,2016,36(11):12-20.

[4]敬超.面向云数据中心的高效能调度及管理研究[D].上海:上海交通大学,2014.

[5]钟志伟.基于OpenStack的私有云管理平台及其关键技术研究[D].北京:北京邮电大学,2014.

[6]姜懿珊.基于Cloud Foundry的高可用设计与实现[D].北京:北京交通大学,2014.

[7]张毅.基于OpenStack的虚拟桌面云系统服务端的设计与实现[D].广州:华南理工大学,2013.

[8]乔媛媛.基于Hadoop的网络流量分析系统的研究与应用[D].北京:北京邮电大学,2011.

[9]李文栋.基于Spark的大数据挖掘技术的研究与实现[D].济南:山东大学,2015.

[10]李爽.基于Spark的数据处理分析系统的设计与实现[D].北京:北京交通大学,2015.

[11]潘红伟.面向不间断服务的高可用系统平台设计及实现[D].北京:中国科学院大学,2014.

[12]马辰.弹性光网络中多链路故障生存性技术的研究[D].北京:北京邮电大学,2016.

Current Situation and Development of High Availability for Cloud Architecture

MA ChenWANG BoCAO Ningsheng
(China Ship Research and Development Academy,Beijing100192)

In this work,content and networking is analyzed to show the high availability(HA)for cloud platform.For content,the HA technologies of database,big data and virtualization are introduced,and the software defined network(SDN)is utilized for the HA of networking.Based on the combination of HA of various technologies,rationalization proposals are proposed for future ship cloud architecture in term of ship application.

cloud architecture,high availability,server,content,network

TP393

10.3969/j.issn.1672-9730.2017.07.001

2017年1月3日,

2017年2月18日

马辰,男,博士,工程师,研究方向:云计算、大数据和宽带通信。王博,男,硕士,高级工程师,研究方向:国产基础软硬件平台设计和系统仿真。曹宁生,男,硕士,研究员,研究方向:系统仿真、云计算和物联网技术等。

猜你喜欢
架构服务器节点
基于图连通支配集的子图匹配优化算法
功能架构在电子电气架构开发中的应用和实践
结合概率路由的机会网络自私节点检测算法
面向复杂网络的节点相似性度量*
采用贪婪启发式的异构WSNs 部分覆盖算法*
基于B/S架构的图书管理系统探究
构建富有活力和效率的社会治理架构
2018年全球服务器市场将保持温和增长
VoLTE时代智能网架构演进研究
用独立服务器的站长注意了