调控云平台IaaS 层技术架构设计和关键技术

2021-02-03 07:41刘金波杨笑宇马春雷
电力系统自动化 2021年2期
关键词:虚拟化站点客户端

张 勇,郭 骏,刘金波,杨笑宇,郭 磊,刘 佳,马春雷

(1. 国家电网有限公司华北分部,北京市100053;2. 国家电网有限公司国家电力调度控制中心,北京市100031;3. 北京科东电力控制系统有限责任公司,北京市100192;4. 新华三技术有限公司,北京市100191)

0 引言

调控云是建设新一代调控系统的重要平台支撑,是中国国家电网有限公司“三朵云”(企业管理云、公共服务云和生产控制云)中生产控制云的重要组成之一,是面向未来企业生产控制业务构建的私有云,其架构设计既要满足电网调控业务连续性、实时性、协同性的要求,也要符合云计算的理念,体现硬件资源虚拟化(共享与动态调配)、数据标准化和应用服务化的特点。其在逻辑上分为基础设施即服务(infrastructure as a service,IaaS)、平台即服务(platform as a service,PaaS)、软件即服务(software as a service,SaaS)3 层,以实现组件开发、架构开放、生态开放。

近年来,随着云计算在信息、金融等行业的发展,IaaS 层构架及其相关技术被金融、互联网、物流以及工业控制等领域广泛应用。IaaS 层提供给消费者的服务,可以应用于所有计算基础设施,包括处理中央处理器(CPU)、内存、存储、网络、安全和其他基本的计算资源,用户能够部署和运行任意软件,包括操作系统和应用程序。消费者不管理或控制任何云计算基础设施,但能控制操作系统的选择、存储空间、部署的应用,也有可能获得有限制的网络组件(例如路由器、防火墙、负载均衡器等)的控制。IaaS层通过计算虚拟化、存储虚拟化、网络虚拟化及安全虚拟化,实现虚拟机生命周期管理、宿主机管理、集群管理、存储备份、虚拟资源自动迁移、资源弹性伸缩及安全策略自动跟随等功能。

目前,中国对IaaS 层的应用主要集中在计算机、信息技术等方面,在调控运行中的应用相对较少。文献[1]指出了调控云的总体架构,并阐述了调控云的特点及建设目标,指出了IaaS 层应用到电网调度的可行性;文献[2-5]从实际建设方面验证了调控云的特点和建设目标,但未能具体分析和研究如何将IaaS 层应用到调控云的建设中;文献[6]通过云计算在计算机科学技术中的应用,指出了虚拟化、分布式存储等IaaS 层相关技术的技术特点和工程实践价值;文献[7]对计算资源池、存储资源池、前端访问管理等技术进行了介绍;文献[8-10]介绍了云计算在数据灾难备份等方面的实用性和优势;文献[11-13]分别对IaaS 层构架中的域名系统(domain name system,DNS)、负载均衡算法、流数据的写入和查询等关键技术进行了介绍和应用示例;文献[14-16]从新一代调控系统的研发和运维等方面描述了调控云在人机交互终端、应急备用体系构建等方面的作用和优势。

通过对IaaS 层关键技术的分析和研究,本文对国家电网公司调控中心和区域电网调控中心(下文简称国分)云平台的IaaS 层构架进行了设计,构建了工程实用化的国分云平台IaaS 层,为调控云各节点的双站点模式提供基础支撑,实现了调控云内各节点在业务层面的双活。最后,以国分云平台某节点为例,构建了云平台的IaaS 平台,实现了统一资源的管理分配。

1 IaaS 层架构

调控云平台采用物理分布、逻辑统一相结合的分级部署设计,采用统一和分布相结合的分级部署设计,形成国分主导各省级协同节点的2 级部署,由国分、省级调度中心和地区调度中心(简称省地),1 个国分主导节点以及包括国家电力调控中心(下文简称国调中心)与省级调度机构组成的27 个协同节点构成,主导节点和协同节点共同构成一个完整的调控云平台。云平台主导节点和协同节点在硬件资源层面各自独立进行管理[1]。为保障调控云的高可用,调控云各节点均采用双站点模式进行建设,即在同一节点上异地部署A 和B 这2 个站点,并实现站点间数据的高速同步。2 个站点均衡配置,在业务层面均可同时对外提供服务,实现异地应用双活[1]。

图1 调控云平台站点内硬件及网络架构Fig.1 Intra-site hardware and network architecture for dispatching and control cloud platform

1.1 硬件及网络架构

如图1 所示,国分调控云IaaS 层每个站点由计算资源池服务器、分布式存储服务器、交换机、防火墙、全局负载均衡设备、本地服务器负载均衡设备、DNS 服务器组成,其中在计算资源池服务器内利用服务器全虚拟化技术,创建虚拟化业务主机集群,从而构建统一的虚拟化主机资源池。A 和B 站点部署架构相同,业务即可在A 和B 站点灵活切换也可同时对外提供服务,满足调度高可用双活的要求。

1.2 软件架构

国分调控云IaaS 平台基于虚拟化、分布式存储等技术构建计算资源池、存储资源池为上层提供高效、灵活、安全的计算和存储服务[6],包括计算资源池、存储资源池、前端访问管理和平台监视[7]4 个类别共10 项功能,如图2 所示。

图2 调控云平台IaaS 层软件架构Fig.2 Software architecture of IaaS layer for dispatching and control cloud platform

2 虚拟化技术

2.1 计算服务器虚拟化

国分调控云底层硬件架构采用基于内核的虚拟机(KVM),运用服务器虚拟化技术,将各种计算机资源(如服务器、网络、内存及存储等)予以抽象、转换后呈现出来,打破实体结构间不可切割的障碍。KVM 满足了关系数据库、模型管理、数据管理、分析应用等虚拟机需要同时采用双机主备机制在线运行的要求,并支持针对后续新增应用快速分配和管理虚拟机的能力。虚拟化技术能够实现实体资源的动态调度和弹性管理、虚拟机容灾、虚拟机高可用、虚拟机迁移等功能,提升实体资源的利用效率,保障系统运行的高可靠和高可用性。虚拟化技术能够提供虚拟化资源池统一监控和管理的功能,包括资源使用情况统计、CPU 使用统计、内存使用统计、磁盘使用统计等功能。

利用服务器虚拟化技术[8],在计算资源池服务器上创建虚拟主机集群。虚拟化服务器选型主要依据业务应用类型,将硬件服务器进行资源整合,从而构建统一的虚拟化主机资源池。利用虚拟化高可用、虚拟机热迁移、动态资源调度等技术可保障调控云平台业务高可用。虚拟机操作系统授权不采用硬件绑定方式,而是支持虚拟机的灵活配置,具备可扩展能力。

进一步,虚拟化技术对传统的物理服务器而言,在以下3 个方面突破了传统的应用模式。

1)它是一个抽象层,它将物理硬件和操作系统分离,从而提供更高的互联网技术资源利用率和灵活性。

2)虚拟化允许具有不同操作系统的多个虚拟机在同一实体机上独立并行运行。每个虚拟机都有自己的一套虚拟硬件,可以在这些虚拟硬件上加载操作系统和应用程序。无论实际采用了什么物理硬件组件,操作系统都将它们视为一组标准化的硬件。

3)虚拟机被封装在文件中,因此可以快速对其进行保存、复制和部署。可在几秒内将整个系统(完全配置的应用程序、操作系统、基本输入输出系统(basic input output system,BIOS)和虚拟硬件)从一台物理服务器迁移至另一台物理服务器,以实现零停机维护和连续的工作负载整合。

2.2 存储虚拟化

国分调控云平台IaaS 层采用分布式存储技术[9]作为云平台的后端存储。分布式存储软件在通用X86 服务器上安装,将所有服务器的本地硬盘组织成一个大存储资源池,为应用提供按需分配、弹性扩展的存储资源服务,同时为虚拟机和物理机部署的业务提供数据存储服务,提升云平台的横向扩展能力。

分布式文件存储的服务器采用X86 服务器,每台服务器配置固态驱动器用于数据缓存、大容量硬盘用于海量数据存储,组成分布式文件存储集群;数据副本按照多副本模式配置,各副本间保证数据的强一致性,支持多个副本的容错机制。集群节点或者硬盘故障后,数据可在全资源池范围内自动重建[10]。

本次调控云分布式文件存储采用K+M纠删码(K为原始数据块,M为基于K块原始数据冗余计算获得的冗余数据),可有效降低总拥有成本(total cost of ownership,TCO)。如在4+1 纠删码方式情况下,任意1 台服务器整机故障、宕机等,数据仍不会丢失,系统可以将丢失数据通过原始数据和校验数据恢复出来。数据强一致性方面:采用三副本强一致性,只有当所有副本全部都完成写入以后才会进行确认返回,只有3 份数据同时全部丢失,用户的数据才会真正丢失。将用户数据可靠性放在了整个存储系统的第1 位,保障用户数据的最高可靠性。

云平台存储资源池具备支撑扩展存储资源的能力。在存储硬件扩容或者新增大数据平台存储时,云资源管理系统可通过配置识别将扩容的硬件或新增的存储资源纳入资源管理系统,云平台的同步功能可通过配置将新增存储资源的管理系统的数据纳入同步管理。

由于采用全分布式架构的存储平台,整个存储资源池具备性能线性增长无瓶颈的能力,分布式存储作为标准的OpenStack 平台的后端存储。除了作为块存储和Cinder 模块对接,作为对象存储和Swift模块对接,还可以和Keystone,Glance,Nova,Manila等模块对接配合。即分布式存储同时支持块、文件及对象多种访问方式,和云操作系统配合实现统一存储、统一运维、降低TCO。

3 调控云业务双活技术构架

为满足各级调控云A 和B 节点双活双读的需求,前端网络将采用DNS 与全局服务器负载均衡(global server load balance,GSLB)方式(针对浏览器/服务器架构业务)或业务虚拟IP 地址(virtual IP address,VIP)方式(针对客户机/服务器架构业务及生产大区实时云数据平台业务),实现调控云A 和B节点同时对外提供服务,满足电网调度业务需求,同时保障业务可靠性。

国分调控云平台实现了基于虚拟服务及负载均衡技术调控云平台访问网络层和应用层的双活,北京、上海2 个站点可以同时对外提供网络访问和应用访问,2 个数据中心的资源得到了最大程度的负载分担和利用,前端业务网络与资源同步网络分离,满足物理分布、逻辑统一的资源高速同步需求。

从云客户端来看,不用感知区分应用服务提供方是北京站点还是上海站点,调控云业务服务持续可用,在应用层面实现了冗余,即实现异地应用双活。

3.1 DNS 域名解析及负载均衡技术

国分调控云平台两站点双活采用基于DNS[11]的域名方式,即客户端或浏览器访问业务服务端时通过服务域名来实现。调控云平台采用A 和B 站点同时提供业务访问的方式,为了实现灵活业务流量入口选择与站点切换,采用2 个主要的设备,GLSB设备和服务器负载均衡(server load balance,SLB)设备。

GSLB 设备主要配合完成用户解析DNS 功能,实现基于策略的A 和B 站点入口的自动选择和切换,默认客户端基于地理位置描述信息,北方客户自动解析到国分调控云A 站点即华北站点,南方客户自动解析到国分调控云B 站点即华东站点,A 和B站点的GSLB 设备实时进行状态同步,并和站点内的SLB 设备进行交互,确保站点内服务可用。当A站点内服务全部不可用时,A 站点的GSLB 设备将不再提供解析服务发布,客户端流量自动引流到B站点,反之亦然。由于A 和B 站点内的服务都是冗余的,因此任何单点故障都在站点内自愈不会触发站点间的切换。

调控云中,GSLB 设备使用轮询算法选择站点,例如一个DNS 请求经过3 种选择的算法而不能判断出最优解析结果时,设备会默认使用轮询的机制在域名对应的多个服务器的IP 地址中进行轮询解析。基于当前的网络状态,GSLB 设备确保为客户端提供的DNS 应答中包含最优的一组IP 地址。然而,如果DNS 解析记录的留存时间(TTL)太长,本地DNS 会对该应答缓存一段较长的时间直至缓存过期。因此,尽管GSLB 设备具有当前准确的解析结果,客户端仍会收到失效的信息。

在完成双活站点的自动选择后,站点内同样需要提供不间断24 h 服务,任何服务中断或通信中的关键数据丢失都会造成重大生产事故。所有这些都对应用服务提出了高性能和高可靠性的需求。

SLB 设备针对站点内部服务器、虚拟机的健康状态进行检查,并将访问流量分担到不同服务器或虚拟机。当GSLB 设备检测到SLB 设备所管辖的服务器资源全部故障,不能对外提供服务时,GSLB设备将不再以所辖SLB 设备发布的业务IP 地址进行解析,从而触发站点切换自动引流客户端访问异地站点。

保证调控云站点内服务高可靠性及高性能的解决方案是将多台服务器、虚拟机通过网络设备相连组成一个服务器或虚拟机集群,每台服务器或虚拟机都提供相同或相似的业务服务。服务器或虚拟机集群前端部署一台SLB 设备,负责根据已配置的均衡策略将用户请求在服务器集群中分发,为用户提供服务,并对服务器可用性进行维护。

由于服务器的性能受到服务器节点数据的影响(CPU、内存、磁盘输入输出(IO)、网络使用情况等),所以可以根据服务器节点数据的变化,动态地修改服务器的权重。权重越大,分配的客户端请求连接数越多;权重越小,分配的客户端请求连接数就越少,从而通过动态修改服务器的权重大小来实现服务器的动态负载均衡[12]。

设在时间周期T内单个节点Ni的CPU 使用率为C(Ni),内存使用率为M(Ni),磁盘IO 的使用率为D(Ni),网络带宽的使用率为B(Ni),则有[12]

式 中:Ni为 第i个 节 点;n为 节 点 总 数;Sc,total,Sm,total,Sd,total,Sb,total分别为集群中CPU、内存、磁盘IO、网络带宽的性能总和。

各因素对服务器性能的依赖程度不一,因此设CPU、内存、磁盘IO、网络带宽的依赖比重分别为Kc,Km,Kd,Kb,且Kc+Km+Kd+Kb=1,则服务器集群中每个服务器节点性能比重Wp(Ni)为:

由于在时间周期T内每个服务器节点权重不同获取到的请求连接数也不同,服务器节点的权重越大,请求到该节点的连接数越多,服务器节点使用率也就越大。因此,可通过单个连接请求在集群中某个服务器节点所占平均性能比来反映当前节点的负载均衡能力,设节点Ni实时负载均衡情况为P(Ni),单个服务器平均响应时延为T(Ni),整个集群平均响应时延为Tˉn,节点Ni在集群中的负载比重、性能比 重 和 性 能 实 时 利 用 率 分 别 为Ew(Ni),Wp(Ni),U(Ni),则有

由于单位时间内请求服务器的连接数具有随机性,因此可以引入泊松分布,即根据客户端随机请求连接数来确定所需服务器个数,并通过Pick-K 算法[13]在服务集群中筛选所需服务器。

3.2 反向代理技术

在国分调控云中,由于业务种类繁多且增长迅速,采用反向代理技术,即服务器根据客户端的请求,从其关联的一组或多组后端服务器(如Web 服务器)上获取资源,然后再将这些资源返回给客户端,客户端只会得知反向代理的IP 地址,而不知道在代理服务器后面的服务器簇的存在,以国分云北京站点为例,如图3 所示,GSLB 设备上配置服务端口探测功能,实现N个域名和SLB 反向代理IP 之间联动,主动探测服务,通过端口标记不同的业务,某个服务故障并不会导致全局切换,配置简单、高效,减少防火墙策略配置。本地DNS 通过根DNS 解析域名地址,该地址对应多个域名服务,通过SLB 的流量特征匹配功能,分析用户点击页面产生的Host头部报文信息,将用户按域名分配到不同的应用服务组中,提高服务器安全性,访问用户只能访问到反向代理服务IP 及指定端口,无法访问到代理服务器背后的网络拓扑,增强了安全性。

图3 反向代理架构Fig.3 Reverse proxy architecture

3.3 调控云业务双活实现方式

如图4 所示,国分调控云业务双活技术[17-21]采用以下方式实现:北京站点和上海站点间采用业务双活和读写分离方式部署;通过域名解析技术和广域负载均衡技术,实现路由距离优先的动态资源分配;采用反向代理技术与域名解析技术联合实现访问地址控制;单个站点内通过本地负载均衡提高并行响应处理能力,避免单点故障;采用数据库读写分离[22-25]技术分散访问流量,横向上采用数据库归档日志方式实现同步。

图4 业务双活架构Fig.4 Active-active architecture of business

4 调控云平台IaaS 层资源选型

4.1 计算资源选型

虚拟机是云平台虚拟资源的重要代表。云平台中的虚拟机既可以作为服务项目直接提供给用户,也可以作为底层服务器为云服务提供可灵活利用的虚拟资源。

在处理器方面,选择足够的CPU 核数的同时使用更高处理性能的CPU 可有效提高CPU 虚拟化后的处理器处理性能。在网卡方面,选择万兆光纤网卡可满足大多数业务需求,具有减少功耗、相对稳定、布线便捷等优点。在内存容量方面,使用DDR4内存提高性能的同时选择256 GB 以上内存数量的硬件服务器。在磁盘性能方面,计算服务器磁盘性能与容量仅供虚拟化底层宿主系统使用,虚拟机存储、文件读写性能均体现在后端存储性能。在满足虚拟化软件运行的情况下可适当降低计算资源硬件的磁盘性能及容量要求。

4.2 存储资源选型

主流存储方式有分布式存储和集中式存储2 种类型,其使用场景根据业务特点分为虚拟机数据存储及数据库数据存储2 类。集中式存储与分布式存储对比如表1 所示,根据使用场景特性采用不同的存储类型可更好地发挥存储优势。

表1 存储类型对比Table 1 Comparison of storage types

4.3 网络资源选型

根据调控云架构设计,其网络分为资源高速同步网、源数据网和用户接入网。

资源高速同步网用于调控云内部各节点以及节点内双站点间的广域高速互联,要求新建带宽不低于千兆,支撑调控云数据同步,支撑国分与省地两级调控云之间纵向数据同步以及各级A 和B 站点之间横向数据同步。

资源高速同步网采用部分全连接的扁平化网状结构,遵循N-1 的电路可靠性和N-1 的节点可靠性原则。在横向上覆盖中国华北、华东、华中、东北、西北、西南共6 个区域模块;在纵向上分为核心层和骨干层,核心层由华北、华东2 个核心及各省调节点组成,骨干层以省为单位,2 层网络共包括56 个(2+27×2 个)节点;每个站点原则上要求物理设备主备冗余,采用千兆虚拟专用网络(VPN),部署路由器等网络设备。网络支持未来部署的软件定义网络(SDN)控制器。其站内网络构架如图5 所示。

图5 站内网络构架Fig.5 Intra-site network architecture

调控云源数据网采用综合数据网现有网络,为平台提供PaaS 层服务总线、消息总线等各项公共资源管理服务提供网络支撑,满足信息安全防护规范要求,条件允许的单位可划分独立VPN。

用户接入网为调控中心用户访问调控云提供网络通道。采用综合数据网现有网络,划分独立VPN,满足信息安全防护规范要求。在前期建设过程中,用户接入网与源数据端网按分区物理上合用一个网络。后期逐步实现用户接入网与源数据端网的分离,可以采用基于VPN 的逻辑分离,或者直接物理分离。

针对上述网络构架,在满足云平台业务运行的基础上,网络设备从选型上还应满足网络安全防火墙设置,用于基于反向代理+DNS 解析完成前端业务的DNS 服务器、负载均衡设备、具备资源同步网路由器后端数据同步等设备。其中,负载均衡设备建议选择同时支持链路、全局和局域负载均衡功能,且3 种负载功能同时激活可用,支持虚拟化联动功能的设备。

4.4 资源分配方式

CPU 分配:考虑调控云的特性,为保证更高的可靠性,建议将CPU 超配比控制在1∶1.6 以下。

存储分配:所有虚拟机分配存储容量之和不应超过虚拟机存储池可用资源。

内存分配:同一台物理机上所有运行的虚拟机内存之和不应超过该物理机的可用物理内存。

5 应用示例

以国分云平台某节点为例,在上述IaaS 层技术构架的基础上部署了IaaS 平台。平台实现了统一资源管理、通用访问权限管理和监控告警管理。

1)统一资源管理。针对物理资源、虚拟资源,显示IssS 资源及配置情况,并对资源规格、编排进行管理,提供在线流程及统计报表功能。

2)通过访问权限管理。支持多种用户角色和分级的多用户权限管理,二者结合为用户提供灵活的分权分域管理,与PaaS 公共资源管理中的权限服务进行对接,进行权限认证,实现统一账号单点登录。

3)监控、告警管理。通过纳管方式统一监控物理服务器、虚拟机、网络交换机、存储等多种类型的云上相关资源,支持IaaS 平台实时告警信息展示功能。

4)模型订阅触发器管理功能仅在云端提供,通过在云端数据库表创建触发器的方式实现云端增量变化数据的及时感知。

5)云端订阅管理可查看调控云的云端与源数据端的订阅关系列表,云端不可以调整源数据端的订阅关系。

6)模型数据发送。当云端模型数据变化后,需要将变化的模型数据发送至一个或多个订阅方;可实现模型数据实时订阅,云端模型变化后应及时更新至订阅方所在的源数据端数据库;可将同一个变化的模型数据发送至多个订阅方。

7)系统设置。具备对模型订阅全局参数配置修改、查看的功能。修改配置信息后可在不重启服务器的情况下生效。支持对节点名称、服务地址、日志等信息进行配置。

平台通过多维度展示能够反映虚拟化整体情况的信息,快速了解和掌握虚拟化环境整体运行状况。

虚拟化环境整体资源情况的统计与展示见附录A 图A1 和图A2,包括系统健康度、告警信息、CPU/内存/存储等资源分配比例、宿主机/虚拟机状态统计、资源利用率、不健康虚拟机数量等。

利用实体工作站可以实现对国分云资源使用、异常告警、节点互联、数据汇集情况的多维度监视,并对平台实行7×24 h 监视管理(见附录A 图A3)。

IaaS 层基于负载均衡功能的智能DNS 反向代理国分云主导节点,智能DNS 反向代理流量走向如附录A 图A4 所示。

以国分云北京站点为例(见附录A 图A4),根据访问客户端的来源,通过GSLB 设备智能解析北京或上海站点距离较近的代理IP,通过SLB 设备的流量特征匹配功能,分析用户点击页面产生的Host 头部报文信息,将用户按域名分配到不同的应用服务组中,解析流程如下。

1)本客户端向本地DNS 服务器查询指定域名。

2)省地DNS 服务器在本地/缓存中找不到指定域名时,会向权威根DNS 服务器查询。

3)权威根DNS 服务器返回国分云北京站点GSLB 设备的地址。

4)GSLB 设备根据应用服务器可用性信息及负载等信息,综合分发算法(如地理就近性等)返回合适的代理IP 地址。

5)客户端连接代理地址后,通过SLB 设备的流量特征匹配功能,分析用户点击域名产生的Host 域名头部报文信息,将用户按域名分别匹配至不同的服务器组中,实现应用的访问。

6 结语

调控云平台IaaS 层采用虚拟化技术实现了资源的按需分配和灵活调度。采用DNS 域名解析、负载均衡、反向代理、读写分离等技术实现了全域业务双活,保证了平台层的高可靠性、可扩展性与可维护性,满足了平台对于业务的连续性支撑,为后续虚拟化平台指明了建设方向,积累了大量工程实际建设经验。然而目前调控云应用模块尚有待进一步开发,结合新一代调控系统的建设开展调控业务相关的功能应用建设。

附录见本刊网络版(http://www.aeps-info.com/aeps/ch/index.aspx),扫英文摘要后二维码可以阅读网络全文。

猜你喜欢
虚拟化站点客户端
如何看待传统媒体新闻客户端的“断舍离”?
基于Web站点的SQL注入分析与防范
基于OpenStack虚拟化网络管理平台的设计与实现
2017~2018年冬季西北地区某站点流感流行特征分析
对基于Docker的虚拟化技术的几点探讨
县级台在突发事件报道中如何应用手机客户端
孵化垂直频道:新闻客户端新策略
首届欧洲自行车共享站点协商会召开
H3C CAS 云计算管理平台上虚拟化安全防护的实现
怕被人认出