集群负载均衡技术在石油企业中的应用探讨
2022-07-05王茹刘锐吕欢欢
王茹 刘锐 吕欢欢
摘要:随着企业软硬件产品增多导致服务器忙闲不均,急需通过结构化的方式整合资源,来进行统一调度。文章调研并分类企业专业应用软件的资源使用需求,同时构建负载均衡集群系统,探索使用多种调度方法,实现平衡分配与调度。
关键词:集群;负载均衡;Linux专业软件;LVS;作业调度
中图分类号:TN929.52 文献标识码:A
文章编号:1009-3044(2022)14-0094-03
1 引言
随着世界各国互联网的规模不断扩大,信息技术无处不在,各行各业远程办公需求不断增加,国内外企业信息化建设的稳步发展,软件需求趋向多样,用户规模不断扩大,数据流量爆发式增长,计算强度空前提高,导致硬件设备不断增多,人们对于服务器的响应能力、可扩展性、可用性的需求越来越高,服务器访问忙闲不均问题日益增大。同时,由于硬件设备和软件系统的增多,运维人员面对着不同配置的硬件以及不同应用需求的软件,对于管理的易用性也有了较高的要求。仅是改善单个服务器的配置已不能满足及时地处理用户请求、增加网络吞吐量、提高设备冗余率的要求。只有通过服务器集群系统,将多台服务器用局域网连成一个整体结构,并使用负载均衡器对用户提交的应用任务进行统一调度,才能高速有效地协同完成各类工作。
本文对各类负载均衡算法进行比较和探讨,为企业系统建设提供有效依据。
2 企业软件对系统负载均衡的需求
石油行业油气勘探开发研究、油气地质开发评价、非常规油气勘探开发以及油气田工程设计等等需要使用多种研究方法和技术手段,在计算机应用技术方面,高性能计算、虚拟化、云计算、高精度图形处理、三维图像远程交互等,在计算机硬件方面,机架式服务器、刀片服务器、工作站、并行机、存储系统,以及近百套专业应用软件的配合支持,多人多专业共同完成复杂的生产任务,为勘探开发钻采的综合研究提供强大支持。而不同的生产任务,对应着不同的应用技术、硬件资源、软件资源需求,如何进行科学的分配,如何进行有效的调度,如何利用最少的资源完成最多的应用需求,是企业在信息化建设方面需要研究的问题。而石油行业使用的软件中,Linux系统应用软件占有极大的比重。因此,本文对基于Linux操作系统的石油专业应用软件,对计算资源的使用需求进行分类,研究适用于Linux集群的负载均衡方法。
通过广泛调研与业务分析,根据专业软件在进行作业分析与计算中,使用到的CPU、内存、I/O、网络、图形处理等资源情况,将现有基于Linux系统的石油专业软件分类为内存需求型、CPU需求型和图形处理需求型三类。下面依次对各类软件中的典型代表进行介绍:
内存需求型:代表软件为Petrel、Permod等全局分析处理类模块。这类软件通常有频繁的交互需求,为了保证过程的顺畅,避免反复读取存储数据,消耗I/O资源及网络资源,会预先将大量的数据读入内存。这样从用户的角度,几乎感受不到交互操作的卡顿,可以很平滑地完成整个操作流程,但同时导致了服务器的内存占用率始终处于较高的水平。
CPU需求型:代表软件为Eclipse、CMG、Echos、Omega等油藏数模和地震资料處理类软件。通常在它们的计算密集型模块,需要进行逻辑判断,并且反复迭代,用大部分时间来进行复合函数运算,将前一次的结果作为下一次的初始值,进行再次计算。这就导致CPU始终处在判断和运算中,利用率始终处于较高水平。遇到较大的体数据时,甚至需要将其预先切割成几块数据,分别发送不同的服务器,同时进行作业任务。才能保证,在研究人员可以接受的时长内,得到所需的结果。
图形处理需求型:代表软件模块为Geoprobe、Geoviz、Jason以及Petrel的解释功能模块等。此类模块主要为用户提供三维可视化的功能,在三维空间内对地层的构造样式、岩性、沉积特点等进行解释和计算[1]。其中涉及对地震体所包含的海量数据模型的三维变换、二维投影以及实时渲染,对计算机图形处理器GPU的性能要求较高,也面临着一些CPU资源的消耗。目前,越来越广泛的远程办公需要,也促使三维图像的远程交互技术得到了更多的发展和应用。
从以上的分类可以看出,随着硬件设备和软件产品的不断增多,服务器访问量增加,而每一类专业软件都有它特定的资源需求,长时间下来,必然导致了服务器的忙闲不均。另一方面,使用软件的用户对后台有多少台服务器可以提供服务、每台服务器上的应用并发数量及资源使用情况并不了解,只能试探着进行登录和使用。这就导致有的服务器面临多人挤兑,无法满足生产需要,而同时,有的服务器却未被充分使用,甚至被人忽略的情况。急需一个统一的调度方法,来帮助使用者和运维人员,对资源进行合理的管理和分配。
3 集群负载均衡方法探讨
服务器集群系统,是多台构造相同或不同的设备形成的硬件服务器机群,它们对内协同工作,对外透明,只是提供定向服务[2]。集群系统可以将服务器(刀片式、机架式、塔式等)、工作站、台式电脑等组成机群,并根据系统的伸缩需求,随时在其中增加、删除硬件,保证高可用。服务器机群结构不要求紧凑,对硬件配置也没有硬性要求,因此即使使用价格低廉的设备,也可以实现较高的系统性能。对于企业设备的采购和更新都十分友好,还可以达到降本增效的目的。
我们将服务器上所有请求服务,所需时间的总和,称为该设备的负载[3]。若系统目前完成所有请求,所需时间较短,则称该系统负载较低;若系统目前完成所有请求,所需时间较长,则称系统负载较高。当有新的作业请求到达时,负载较低的机器可以很快地处理,及时完成并反馈运行结果。反之,负载较高的机器,需要先处理(或同时处理)之前到达的请求,新到的任务,因为需要排队等待资源,而延长对于该请求运行结果的反馈时间。
负载均衡集群系统,通常按照以下方法搭建:将一个服务器集群系统通过网络连接到一个专门进行作业调度的负载均衡服务器;服务器集群后端可以连接存储系统,负载均衡服务器前端连接客户端,具体结构如图1所示。负载均衡器将客户端的各类请求分配、调度到后端的服务器集群中[4]。用户无须知道提供服务的真实服务器是哪台,只向负载均衡服务器发送消息,请求完成提交的任务,负载均衡器来进行后续的应答和操作。对于用户来说,整个体验过程方便。而如果负载均衡算法使用得当,作业在系统中的分配较平衡,整个集群的处理能力也会非常高效。
通过学习国内外现有技术,我们研究了如下的集群系统负载均衡调度算法。结合企业专业软件的特点,逐步尝试应用,摸索出了适用于基于石油企业Linux集群的负载均衡调度算法。
3.1 转换网络地址调度
负载均衡服务器在收到作业请求时,首先找到需要将该作业分配给的后台实际服务器,并重写原请求的源地址(为负载均衡器)、目标地址(为实际服务器),再将作业分派给实际服务器。当实际服务器完成请求,需要应答时,负载均衡器再反向重写报文头信息,并返回客户端,完成整个负载调度,如图2。
通过实验发现,该模式的伸缩能力不强,在服务器节点数量较少时,作业请求较少时,调度流畅。但随着加入集群的服务器结点数和用户请求的作业數上升时,请求和响应报文都需要通过负载均衡调度器,调度器及与其相连的网络成为系统的新瓶颈。如何减轻调度器的负担,成为新的问题。因此,我们尝试使用IP隧道方式来进行作业分配与调度。
3.2 IP隧道方式调度
为降低负载均衡器的工作体量,考虑将作业申请资源的请求,即“调度器——实际服务器”一一连接,改为通过IP隧道的方式,建立调度器对一组处理相同业务的实际服务器,一对多连接的模式。每次动态选择一台,转发至实际服务器,同时,将“实际服务器——调度器——客户端”连接,优化为“实际服务器——客户端”直接反馈的模式,即实际服务器将响应结果不通过调度器,直接返回给用户,如图3。
在此集群系统中,负载均衡器只是将作业申请调度到各后端服务器,应答的信息由后端的实际服务器直接返回至客户端。这样,负载均衡服务器降低了一半以上的工作量,可以只处理作业申请请求,而不会成为系统运行的阻碍[5]。但是这种方法中,IP隧道本身也需要消耗资源,而每一台真实服务器,如果不支持隧道协议,就无法完成加入集群的功能。从这方面来说,提高了运维的难度与硬件成本,对于早年购买的设备不够友好。利用企业机房设备通过局域网互联的优势,我们探索利用更小的资源开销,来完成集群负载均衡的效果。
3.3 直接路由调度
考虑到专业应用软硬件资源大部分情况属于企业内部使用资源,不通过互联网,只使用内部局域网,负载均衡器与实际服务器连接在同一个网段中的特点。当作业请求到达负载调度器,可以对照路由表信息,找到实际服务器的物理地址,并改写请求报文表头,将请求信息广播给实际服务器[6],如图4。
同IP通道模式一样,直接路由调度模式中,负载均衡器只需处理“客户端——调度器——实际服务器”间的单向信息流转,应答包由实际服务器直接发送给客户端。但与IP通道模式不同的是,直接路由调度避免了IP通道协议的要求及开销,对可加入集群的硬件设备无“门槛”限制,是对企业最适用的方法。
展望未来,随着服务器和应用软件数量的增加、网络模式的变化、用户需求的精细化等情况,我们还可以考虑将转换网络地址、IP通道、直接路由三种调度方式进行组合。例如,负载均衡器与实际服务器若在同一物理网段,则使用直接路由调度的方式,若不在同一物理网段,则采用IP通道协议;对于网络安全级别要求高的应用,使用网络地址转换的方式来调用,以保证不暴露后端服务器的实际地址等等。根据不同的应用需求,匹配合适的调度算法,来进行资源的负载平衡。
4 结论
本文根据石油企业的实际应用需求,将基于Linux系统的专业软件分类为内存需求型、CPU需求型和图形处理需求型三类。并探索通过构建负载均衡集群系统,解决因软硬件资源增多、服务器访问量增加而导致的设备忙闲不均等问题。
通过实践提出转换网络地址调度、IP隧道调度和直接路由调度三种方法。本文对比三者的优缺点,并结合行业特点和实际应用需求,提出以直接路由调度法为基础的负载均衡方法,以达到提高资源利用率、降低成本的目的。
参考文献:
[1] 康鲲鹏.时移地震流动单元自动追踪与解释成果分析[J].电子设计工程,2010,18(12):80-84.
[2] 丛庆,沈夏炯.普招网报系统中服务器集群与缓存的研究[J].电脑知识与技术,2009,5(34):9631-9633.
[3] 路红霞.基于多网卡绑定的负载均衡技术的研究[D].东营:中国石油大学(华东),2009.
[4] 彭军,徐燕.Linux服务器负载均衡的研究与实现[J].计算机与数字工程,2012,40(12):105-108.
[5] 谢晓勇.智能网络磁盘(IND)集群存储系统设计与实现[D].长沙:中南大学,2006.
[6] 冯坚.基于LVS和Openfiler的网络教学平台服务器集群系统的设计与实现[J].广东广播电视大学学报,2010,19(1):104-108.
收稿日期:2021-12-26
作者简介:王茹(1988—),女,山西省绛县人,中级工程师,硕士,研究方向为计算机应用技术;刘锐(1987—),山东寿光人,中级工程师,硕士,研究方向为计算机应用技术;吕欢欢(1987—),女,广西玉林人,中级工程师,硕士,研究方向为海洋工程。