基于VCS的黑龙江省气象收发系统的设计与实现
2023-11-23王东岳杨英奎张兆伟
王东岳 刘 浩 杨英奎 张兆伟
(黑龙江省气象数据中心, 哈尔滨 150030)
0 引言
近年来,我国不断加快气象现代化建设。目前,我国已建成了世界上规模最大、覆盖最全的综合气象观测系统[1],气象观测与探测的数据的种类、数量与发送频次也大大的增加[2]。黑龙江省气象部门于“9210”工程中建设的收发系统[3],其存储结构与系统性能无法满足连续且稳定传输综合气象观测数据的要求。基于这个情况,该研究详细说明了赛门铁克的VERITAS Cluster Server(简称VCS)集群系统的集群技术特点及基于VCS集群技术设计并实现的气象收发系统,为气象海量数据传输提供了稳定的技术保障,其收发系统构建模式也可适用于其他行业中,具备推广价值。
1 “9210”工程建设的收发系统与运行状况
通过国家气象局的第一个现代化工程“9210”项目,黑龙江省气象局在1995年建设了一套基于传统集群技实现的气象收发系统,其硬件构成是一个挂载磁盘阵列的主服务器与一个备份服务器组成一个集群系统,主备服务器通过以太网交换机实现高可用性(High Availability,简称HA)软件的通信;在主机的收发系统正常运转时,备机的收发系统不启动,当主机故障时,主机备机之间通过HA 软件完成业务切换(图1)。
图1 “9210”气象收发系统架构图
2004年后,随着地观测技术的进步与探测手段的增加,气象数据传输量实现了百千倍的增长。这种情况下,基于传统集群技术实现的收发系统在传输数据时出现了以下问题,一是在主服务器发生故障时,主备切换的时间大于两次地面观测的时间间隔,导致下一个时次的观资料不能在规定时间内传输成功;二是发生故障的主服务器资料不能与备份服务器实现气象资料共享,基于这部分资料的运行的业务其工作进度会受到影响。
2 黑龙江气象收发系统设计
全国综合气观测系统建成后,观测与探测业务全面进入自动化时代,观测频次提高4至8倍,数据量增加5倍以上,数据传输速度优化至秒级,每日收发系统需要处理的数据,其数量与种类都较之前大大增加;国家气象局通过卫星广播系统建(简称cmacast)向省级气象局下发的数据也从60G bytes增加到200G bytes。气象通信的要求是每日24 h不间断传输,处理相对复杂,对计算机操作系统和文件系统提出了很高的要求。首先保证整个系统的长期稳定性,不能出现任何系统级的故障。其次,系统的运行效率要求高,气象实时数据的特点是数量大、种类多和处理复杂,并且单个数据的量不是很大,因此,要求系统不仅具有很高的 I/O 吞吐能力,而且具备很高的效率。未来新增数据量可能会成倍增加,因此系统的灵活性和可扩展性也是要考虑的因素。
设计方案是整合多台服务器组与一个磁盘阵列组成一个 Cluster( 集群) 系统,通过共享文件系统在服务器间共享数据及控制信息,通过集群技术保障数据象数据收集与分发的稳定性。集群技术的应用基本摆脱了过去通信系统常采用的HA架构带来的问题,当一个主机故障需要退出集群时,基本上不存在系统资源在各主机间的切换,同时摆脱了备份系统中闲置节点的资源浪费问题。这个集群系统应该具有对整个系统的运行状态和应用运行状态的集中监控能力,方便用户的操作和监视,对于整个系统中单个节点的故障具有自动切换其应用的能力,不能影响整个系统和应用的运行。集群的负载均衡还体现在收集与分发任务的负载均衡,而这部分是通过本系统软件自身来实现的。集群共享文件系统保证了集群中所有节点可以并发访问存储阵列中的数据,实现了节点间高速的数据交换和共享,为其业务在多节点上并行处理提供了数据共享的保证,同时利用应用软件同步技术实现其业务统计应用的分布并行环境,为其业务性能及稳定提供了充足的扩充保障。
3 VCS集群技术的特点
赛门铁克的VERITAS Cluster Server(简称VCS),是一项稳定、高效的集群技术。VCS支持包括命令行、GUI和WEB在内的多种对集群的监控和管理方式。尤其是通过对WEB管理方式的支持,实现了对集群管理的可移植性。系统管理员无论身在何处,都可以随时通过任意终端上的WEB浏览器了解到自己集群的运行状态。VCS对标准化应用和客户化应用的支持都通过相关的AGENT实现。支持的标准应用包括(但不限于): Oracle,Oracle RAC,Sybase,Informix,DB2, SAP,Iplanet,Netscape,Apache,NFS,Netbackup等。在通常的业务中,大多数的集群系统都以双服务器的形式出现,这种构造非常简单,但系统的计算资源只能利用50%(如果两台机器是同等级的),随着SAN环境的日益普及,多机系统共享存储设备已成为可能,这也就为多机集群创造了条件。因为在多机的集群环境中,可以通过一台备用服务器对N台主服务器实现高可用。比如,一台备机,19台主机时,整个集群环境中的计算资源利用率可以达到95%。由此可见,在SAN环境中节点数量的支持能力越强,集群扩展性就越高,集群的计算资源利用率也越高。VCS在SAN环境中能支持到32个节点。
在集群环境中对文件系统共享的支持非常重要,这不但可以节省存储空间(比如对WEB SERVER等应用,不需要在每台服务器上都部署WEB CONTENTS),更重要的是,可以应用提升切换的速度。因为在非共享文件系统的集群环境中,应用的切换时间主要由一下几个方面构成:在服务器 A上中止应用,卸载文件系统,然后在服务器 B上挂载文件系统,启动应用。由此可见,切换中主要的过程是在做存储设备的逻辑迁移。如果采用了共享文件系统的技术,则切换应用的过程就大大简化了。因为存储本来就已经共享,只需要在服务器 A上中止应用,然后直接在服务器 B上启动应用即可,这样切换的时间大大缩短。为了实现这样的效果,赛门铁克通过Storage Foundation Cluster File System(简称SFCFS)实现了在SAN环境内或SCSI环境内的存储直接共享,即多机可以通过SCSI或SAN环境直接访问同一个文件系统。
VCS采用GAB/LLT作为心跳协议,这种协议相比TCP/IP 协议更加精简,传输效率更高。由于默认的心跳通过两个物理网卡实现,所以可靠性也更高。除此以外,还可以通过公用网络实现低优先级心跳。利用磁盘阵列的SCSI-3 PR功能,VCS更可以实现I/O fencing功能,完全保证了共享数据不会因为集群心跳的故障导致损坏。
4 黑龙江省气象收发系统的实现
基于气象通信要求与VCS集群技术特点,搭建黑龙江省气象收发系统,其硬件组成为4个服务器,一套磁盘阵列、一部光纤交换机(SAN)用于4个服务器与磁盘阵列连接、两部以太网交换机,一部用于心跳线的互联,一部用户业务的通信。其硬件实现架构(图2)。
图2 收发系统硬件架构图
设计收发系统的操作系统为Linux,软件组成为VCS集群管理软件,负载均衡、消息中间件、收集系统、分发系统和ftp服务。其软件实现架构(图3)。
图3 收发系统软件架构图
VCS的SFCFS技术使得集群服务器以共享的方式挂载磁盘阵列,互斥访问保障了共享文件的安全。在共享文系统中针对种类的报文种类创建相应的接收目录,远程台站通过ftp协议上传报文。VCS管理软件的将集群服务器的ftp服务作为资源纳入管理[4],负载均衡技术能够比较每个服务器的ftp连接数,启动最小连接数的服务器应答远程的ftp请求并建立连接,实现了ftp服务的均衡。
数据收集系统,支持本地收集与远程收集两种方式,这两种收集方式对用户来说是一致的、透明的。系统支持短文件名长度从8至20长度的数据,同时支持报文级和文件级数据传输,通过配置文件能够灵活设置文件名变换、压缩/解压缩和业务处理等各种预处理逻辑,适应未来业务的变化和拓展[5]。
收集系统与分发系统之间需要传输海量的气象资料,收集与分发系统采用的I/O扫描方式获得文件的列表大大地增加系统对I/O的访问量,严重降低系统的运行效率,为此收集与分发系统之间采用消息中间件方式进行通信,收集系统将收集的成功的插入消息中间件的队列中,分发系统根据消息队列的信息分发具体文件,收件系统与分发系统是生产与消费的关系,这样既能保证分发数据的完整,又可以减少收发进程对I/O设备访问过多造成的效率下降[6]。消息中间件采用RabbiteMQ实现。
分发系统根据不同的分发协议编写分发程序,但都遵循统一的接口规范。同一分发目标地址的多个任务可以在同一进程内依次完成,对于ftp 协议而言这样做可以减少 ftp 在建立连接、认证登录的耗时,提高分发能力。分发任务进行由调度程序根据消息中间件的分发队列消息激活,使得分发任务可以进行优先级控制,进而可实现多用户并发和同一用户多任务并发的调度[7]。
5 收发系统的测试
基于VCS集群技术的实现的气象收发系统,对其连续90 d的运行数据进行采样,采样数据分别为CPU使用率、故障平均切换时间、数据收发量,以确定系统的稳定性[8],其各项参数计算公式如下,对比结果(表1)。
表1 系统性能测试结果表
CPU使用率,记录系统每台服务器的CPU使用率,采集时间的整点10 min,是系统分发地面自动地面观测数据的相对集中的时间点,其计算公式如下:
01/24
System_CPUUse_Rate=(CPUUse_Rate_01+
CPUUse_Rate_02+CPUUse_Rate_03+CPUUse_
Rate_04)/4
其中,CPUUse_Rate_Hour_01为1号机的每小时CPU使用率采样数据,对其1 d的采样数据累加后除以24,得到每天CPU使用率。对其90的CPU使用率采样累加除以90,得到其连续90 d的CPU使用率,同理得到2、3、4号服务器的CPU使用率采样数据。对1、2、3、4号服务器的CPU采样数据累加后除以4,得到系统的CPU使用率。故障切换时间为90 d内收发系统集群任一节点出现故障,其业务由其他节点接管的时间除以故障的次数。其计算公式如下:
其中n为收发系统的任意主机出现的故障总计次数,fault_toggle_time 为每次任意主机故障,其运行业务切换到其他主句的时间,Fault_Toggle_Time_Avg为故障切换平均时间。
数据收发量为累加连续90 d内系统接收与发送字节数,求和数据除以90得到平均每日的数据收发量,公式如下:
其中Send_Bytes_Day为收发系统每日发送数据的字节数,Send_Bytes_Avg为90 d系统平均发送数据的字节数。
从表1可得,对的黑龙江省气象收发系统的连续运行90 d的参数进行采集,其结果符合预期,说明基于VCS技术设计并实现的收发系统能够稳定、可靠的接收与发送每日的海量气象数据,从而提升黑龙江气象信息系统的通信能力。
6 结语
气象综合观测体系的建立,观测与探测的数据出现了几倍的增长,早起的收发系统的存储于性能很难及时地处理海量的气象数据。针对这个问题,该研究采用了VCS集群的共享文件系统技术,利用了消息中间件与负载均衡技术,构建了黑龙江气象收发系统。经过系统测试,收发系统的CPU使用率、故障切换平均时间与发送字节数这3个关键指标都能达到系统稳定运行的要求。说明系统在实际运行中,能够稳定、及时地接收与发送海量的气象数据,实现气象资料的高效收集与分发。基于VCS的收发系统的建设能够极大地提高黑龙江气象信息系统的处理能力,为地方经济建设与社会发展提供更好的气象服务。