水情分中心服务器群虚拟化改造方法及实现

2018-11-01 01:46金晨曦段仙琼杨海梅
水利信息化 2018年5期
关键词:水情中心站分中心

金晨曦 ,段仙琼 ,杨海梅

(1. 云南省水文水资源局,云南 昆明 650106;2. 长江水利委员会水文局西南诸河水文水资源勘测局,云南 昆明 650051;3. 云南省水文水资源局西双版纳分局,云南 景洪 666100)

0 引言

水文情报预报工作在水文工作中占据着极其重要的地位,是我国进行防汛抗旱工作的重要依据[1]。水情信息作为水文情报预报工作的数据基础,是情报预报工作的主要依据。水情分中心是实时雨水情数据落地入库的关键节点,也是实时雨水情数据进入数据传输、应用通道的第 1 站,在防汛抗旱体系中具有十分重要的地位,是支撑其他系统运行的基础部件[2]。自此实时雨水情数据有了身份信息,也就有了实际物理意义,可见水情分中心软硬件环境运行的效果对后面的汇集、传输等环节起着重要的作用。

实时雨水情数据在水情分中心的处理过程,大致可分为接收、解码、入库、传输(交换)及应用等几个阶段[3]。各个阶段对应不同的信息处理操作,也就对应不同的软硬件解决方案。为此对常见的解决方案容易存在的问题进行分析,并尝试使用虚拟化技术对出现的问题及弱点进行改造。

1 水情分中心典型现状及存在问题

现阶段大部分水情分中心的遥测中心站使用物理服务器,通过外接设备或者网络端口接收实时雨水情遥测数据[4],典型现状拓扑及数据流程如图1所示。

图1 水情分中心典型现状拓扑及数据流程

1.1 数据拓扑及流程

遥测中心站服务器通过网络或串口卡等设备接收遥测数据,经过解码后将数据存储在原始数据库中,再经由数据转储软件(功能),将数据转换格式后写入实时雨水情数据库,最后由数据交换软件传输至其它单位。

1.2 数据接收方式

现阶段大部分遥测中心站的数据接收方式可大致分为串口、USB 端口、RJ-45 标准网络端口等类型,实现方式大致如下:

1)串口。服务器一般使用串口卡连接串口Modem 或北斗卫星接收端,少部分使用串口服务器接收数据。

2)USB 端口。USB 设备与串口设备大体相同,部分 USB 设备采用模拟 USB 通信的方式,本质上还是一台串口 Modem,这类设备使用标准 USB端口与服务器连接。

3)RJ-45 标准网络端口。一般使用标准以太接口或者光纤接入局域网,服务器通过因特网固定 IP地址,经由防火墙接收从 2G(GPRS),3G,4G 移动通信网络或北斗卫星接收机接收发送过来的数据。

存在的典型问题如下:

1)如果 1 台服务器需接收多家遥测设备公司的站点信息,对应会在服务器上安装多套串口卡,对应多套中心站软件。如果中心站软件集成度不高,接收、解码、入库等功能用不同软件独立实现,这台服务器上运行的软件数量将比较可观。

2)不同公司的软件对运行环境有不同需求,极易发生配置冲突,不同公司对同一遥测中心站服务器上的软件进行维护时可能会相互影响,导致安装并配置好一家公司软件却又影响了原本正常运行的另一家公司软件的情况。既造成服务器设备接入繁杂混乱,又导致软、硬件环境配置维护困难。

1.3 数据转储方式

数据落地以后,一般被写入遥测中心站软件的原始数据库。该库表标准一般与后续交换阶段所普遍采用的 SL 323—2011《实时雨水情数据库表结构与标识符》中规定的实时雨水情数据库表(以下称交换库表)结构不同,所以,一般存在一个数据转储的过程,将原始数据库中的数据,抽取整理成符合交换库表结构的数据并写入交换系统数据库。而且,这个转储过程,各遥测中心站软件开发单位实现的方式不一,有的使用 SQL 存储过程,有的使用专门的转储软件,但绝大多数是将数据远程写入另一台服务器上的交换数据库。

存在的典型问题如下:

1)在数据转储过程中,无论是使用转储软件、SQL 存储过程,还是使用触发器将数据写入另一台服务器上的交换库,都存在效率低下的问题。首先,交换数据库将面对多台服务器的插入、删除、修改、查询操作,压力陡增;其次,不同公司的开发人员对于写库 SQL 语句的实现思路、运用熟练程度及代码优化程度均不同,代码的运行效率差异较大,极易造成被写入的交换库频繁出现锁冲突情况。极大降低了交换库的访问速度,严重时将直接导致交换库无法访问,出现宕机现象。

2)水情分中心数据管理人员信息安全意识薄弱,缺乏对遥测中心站软件开发维护公司的约束和管理,导致缺乏对数据库访问用户权限的约束,从而导致转储程序大量使用数据库超级管理员用户访问数据库。因此,实时雨水情数据库被随意读取和写入,随意创建架构,更改表结构等,影响包括交换系统在内的使用该数据库软件系统的稳定性。各维护公司可直接操作交换服务器上的所有数据库,包括实时雨水情、预报等数据库,这些数据库存在被完全备份、数据泄露的风险,影响数据安全性。

3)转储程序如果设计不完善,交换库维护重启时会发生转储程序宕机,从而导致转储功能失效,数据无法进入交换库的情况,影响系统可用性。并且常常存在转储程序将各数据库的访问用户名及密码以明文写入文本配置文件中的情况,一旦该服务器被非法访问,多台与之连接的数据库服务器均有数据泄露、被非法入侵的风险。

1.4 解决方案优缺点

现阶段水情分中心的软硬件解决方案主要有2 种。

1.4.1 多个业务流程在 1 台服务器上运行

优点:对该服务器的软硬件资源利用较为充分,出现问题只需在 1 台服务器上查找问题。

缺点如下:

1)整个系统容错率低。一旦共用的服务器出现问题,将影响该服务器上运行的业务流程,对数据的接收及应用将是毁灭性的打击。

2)软、硬件运行环境复杂导致系统难以维护。硬件方面,如果水情分中心遥测通信规约或接收软件没有统一标准,将导致不同公司的水情遥测中心站软件运行在 1 台服务器上,如果这些公司使用不同的串口 Modem 设备,则这台服务器上还需安装对应数量的串口卡。软件方面,不同公司对同一中心站服务器上的软件进行维护时可能会相互影响,相互掣肘。该服务器上运行的不同公司开发的软件,所需的运行环境也不尽相同。在配置某一软件运行环境时,可能会影响其它公司软件的运行,导致该服务器维护困难。往往在服务器上进行某项设置的更改或者系统软件的维护时,需要通知所有涉及该服务器运行软件对应公司的维护人员,充分听取意见后才能进行下一步的维护工作。水情分中心的维护人员只要稍不熟悉就可能导致整个业务流程中断,维护工作中的难度之大,风险之高可能会导致维护工作无法正常进行。

1.4.2 不同业务流程在不同的服务器上运行

优点:单台服务器出现问题,不影响业务处理的其他环节。

缺点:投资更大,硬件利用率较低,单台服务器性能不高。服务器重启需经历漫长的自检阶段,耗时长,业务中断时间长,反而导致维护人员不愿意积极更新、维护服务器软件环境。

2 水情分中心改造方案

针对典型现状出现的问题,发现使用虚拟化技术进行改造,会取得立竿见影的效果。

2.1 服务器虚拟化技术

虚拟化是指计算机系统在虚拟的平台上而不是真实的平台上运行。虚拟化技术可以充分利用硬件资源,简化软件的重新配置过程。CPU 的虚拟化技术可以单 CPU 模拟多 CPU 并行,允许 1 个平台同时运行多个操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。

虚拟化方案如图2 所示,使用多台物理服务器(Host Server,也称虚拟宿主服务器)安装虚拟化软件组成虚拟集群,实现在 1 台物理服务器上运行多台虚拟逻辑服务器,节约成本和机房空间;通过虚拟化集群可以实现 1 台虚拟逻辑服务器在多台物理服务器上动态迁移,当某个物理服务器宕机时可将虚拟逻辑服务器在线迁移到其它物理服务器,保证业务的连续性;另外可通过克隆模板快速部署虚拟逻辑服务器,提高业务系统上线速度。

图2 虚拟机体系结构图

2.2 改造方法

根据虚拟化技术的特性,针对水情分中心业务特点,定制了以下改造方法:

1)使用串口和 USB 口服务器实现串口、USB口等设备的网络化及虚拟化。串口和 USB 口等设备与服务器的连接变为局域网连接后,服务器与数据接收端通信无需串口卡等物理设备,可为后续服务器虚拟化做好准备。

2)对水情分中心服务器进行虚拟化改造。根据各服务器硬件条件不同,各物理服务器(虚拟宿主服务器)可以虚拟化出多台虚拟逻辑服务器。

3)将原来运行在同一服务器上的不同公司开发的中心站软件剥离出来,分别放入不同的虚拟逻辑服务器中运行,保证 1 台虚拟逻辑服务器中只有同一家公司的中心站软件运行。

4)在安装有水情中心站软件的虚拟逻辑服务器上新建实时雨水情数据库,并安装实时雨水情数据交换系统。

5)将各虚拟逻辑服务器上的实时雨水情数据交换系统,与建立在水情分中心核心实时雨水情数据库上的核心数据交换系统建立并配置交换关系,同时建立对应的站点转发关系。

6)理清水情分中心各数据库登录用户的访问权限。设置不同的具有只读、读写权限的数据库访问账户,将数据库的读写分离开来,严格控制数据写入途径。核心实时雨水情数据库只允许数据由建立在该库上的交换、数据维护等系统,以及数量、效率、安全性等可控的数据来源软件写入。

2.3 数据拓扑及流程

以现阶段的服务器硬件资源分析,1 台典型的配有 128 GB 内存,> 2 TB 硬盘剩余空间的物理服务器可以轻松虚拟出 4 台以上的虚拟逻辑服务器。因而水情分中心只需要 2 台物理服务器虚拟出 8 台虚拟逻辑服务器,即可基本解决所有不同公司中心站软件的部署。并且,可以根据水情分中心实时雨水情数据库的访问压力决定是将其迁入虚拟逻辑服务器还是作为单独的物理服务器部署。

改造后,经串口或 USB 端口设备落地的数据,在数据接收设备接收后,经由网络将数据包发送到在虚拟逻辑服务器中运行的中心站软件进行解码、入库等操作;然后由数据转储程序将数据转储到本机的实时雨水情数据库中。至此,数据中心站软件的所有职能已经完成,后续汇总至分中心核心实时雨水情数据库的工作,由安装在本机上的数据交换软件负责转发,无需中心站软件干预。改造后的系统架构及数据拓扑流程如图3 所示。

图3 改造后的系统架构及数据拓扑流程

3 水情分中心效益分析

水情分中心虚拟化改造,针对现阶段水情分中心的软硬件解决方案中的诸多缺点及存在的问题、隐患,给予了修正,在以下方面有质的改变:

1)数据可靠性方面。因交换系统有缓存机制,分中心核心交换数据库下线维护时,各遥测中心站服务器交换系统发送不成功的数据将暂存在本机交换系统的待发数据表中,核心交换数据库上线后将自动重新发送入库,基本不会丢失数据。

2)系统稳定性方面。不同公司开发的遥测中心站软件运行在不同的虚拟逻辑服务器中,各公司的软件只在本机上运行,不牵涉别的服务器。软件运行环境可以为本机软件高度定制,解决了多种数据软件共享软件环境带来的兼容性、稳定性和维护性等问题。

3)信息安全性方面。运行实时雨水情、洪水预报系统等水情分中心核心数据库的访问途径高度可控,数据来源单一,可追溯。各中心站软件不再直接访问核心数据库,杜绝了核心数据库访问密码泄露及被整库备份或者数据被非法导出等风险。

4)性能方面。由于核心数据库数据来源被精简,同时写入核心数据库的进程减少,大量数据都是经由数据交换系统批量入库的,效率较由多个不同程序写入更高,出现锁冲突的情况大为减少,从整体上提升了核心数据库的读写效率和稳定性。

5)维护方面。各中心站虚拟逻辑服务器与核心交换服务器之间的访问方式由直接访问变为间接交换,使得各服务器均可以独立维护。串口服务器的引入使得中心站软件不再与硬件强相关,可以很容易地更换硬件底层:使用物理或者虚拟逻辑服务器,亦或者让虚拟逻辑服务器在拥有不同硬件的宿主虚拟服务器之间动态迁移。

6)管理方面。水情分中心数据管理员主要管理核心数据库,各中心站虚拟逻辑服务器可由开发维护公司管理、维护,管理权限明确,范畴清晰,对于数据安全性、可靠性起到了管理作用。定期可对各中心站服务器的维护管理情况进行评估,有利于对遥测系统或者服务器维护服务外包情况进行质量评价。

同时,经过改造以后,整个水情分中心硬件系统的利用率更高,充分使用了每台服务器的硬件性能,提升了服务器密度,降低了机房供电压力。

4 水情分中心改造后可能存在的问题及解决方案

任何方案都有利弊,对虚拟化改造方案进行细致分析后发现可能产生如下问题:

1)服务器软件环境变多了,软件采购成本将有一定上浮;

2)每个虚拟逻辑服务器都需要维护,导致软件环境对应的维护工作总量变多了;

3)增加 1 层数据交换层级,可能会增加 5 min数据上传的时间。

对于可能出现的问题,可以采用以下方案进行应对:

1)软件环境的采购成本远小于同等数量的物理服务器。在服务器软件大规模使用开源软件以后,软件采购费用将大幅下降。

2)表面上虽然需要维护的软件环境增加了,但系统因不同公司维护或配置错误造成的不可用情况大大降低,整个系统的稳定性得到了极大提高,停机修复系统问题的次数和时间都减少了,系统的整体可用性提高了。对比付出的一些维护时间的代价,是值得的。

3)各级交换系统可以设置数据轮询时间,从而可以控制数据在水情分中心交换环节的滞留时间,以达到用户的时效性需求。

5 结语

探讨的适用于水情分中心的虚拟化改造方法,通过引入虚拟化技术,结合数据端口的网络化技术,将不同厂家的遥测中心站套件剥离至虚拟逻辑服务器中独立运行,并使用数据交换技术的柔性连接代替数据直接入库的刚性连接,作为星型数据拓扑网络的连接方式,辅之以数据权限安全设计,使新的系统架构及拓扑流程更合理,在数据可靠性、系统稳定性、信息安全性、读写性能、数据维护及管理等方面,均有质的改变。同时,鉴于实现该改造的技术难度并不高,有利于大面积推广使用。另一方面,即使建立了统一的数据接收平台,服务器虚拟化技术带来的高密度、高能效、模块化等优势仍然是水情分中心系统架构优化中无法忽视的特点,值得重点考虑及深入研究。

猜你喜欢
水情中心站分中心
浙江大学基础医学实验教学中心机能分中心
浙江大学基础医学实验教学中心机能分中心
曹新刚
基于单片机的简易水情检测系统装置
甜水情
一带一路
添加带外控制设备网不通
高速公路监控分中心网络配置探析
党旗引领铸铁军 挥洒青春展风采——湖北省环境监测中心站第二党支部党建工作侧记
各地分中心 海选现场