国产化服务器集群高可用关键技术研究
赵博颖 王宇耕 李世巍
生成PDF 清样下载 引用

复制成功

导出题录

参考文献( GB/T 7714-2015 ) 复制

赵博颖 王宇耕 李世巍,. 国产化服务器集群高可用关键技术研究[J]. 信息通信与技术,2024.3. DOI:10.12721/ccn.2024.157302.
摘要:
航天航空等领域对服务器设备的高可用性有着极高的要求,对于设备可能出现的硬件、软件故障应有完备的应对措施。本文基于国产化服务器平台对集群高可用技术进行研究,引入先进的高可用集群管理框架,对故障监测、应急切换等关键问题深入分析,实现对服务器内所有节点运行状态的实时监测以及故障应用的及时恢复,提高服务器系统的稳定性和可用性。
关键词: 国产化;服务器集群;高可用
DOI:10.12721/ccn.2024.157302
基金资助:

1. 引言

国产化服务器集群中处理核心任务的计算节点一旦出现故障,会导致数据链的断裂,信息的丢失,极有可能造成灾难性的后果。为了保证计算服务的高可用性,本文设计实现了一种容错支持系统。容错支持系统主要用于对服务器平台内所有计算节点的协同管理,解决由于单个计算或控制单元失效引起的系统故障。同时对各个节点的关键业务、运行状态进行监测,对服务故障进行恢复,必要时基于冗余的计算和控制单元,进行主备节点的业务迁移,从而提高业务系统的稳定性、可用性,提升系统对软硬件故障的容错能力。

2. 系统基本框架

容错支持系统引入先进的高可用集群管理框架,主要架构分为心跳层、成员层、资源管理层和服务层。分层结构见下图:

图片3.png图1 容错支持系统分层结构

最下一层是心跳层,服务器集群中各个计算节点之间实时互相监测,确保第一时间获取节点或服务的故障状态,这一层包含的组件发送心跳信息及其资料,来向上层发布自己的工作状态。

第二层是心跳成员层。该层负责充分连通所有节点并同步观察其所有成员。它基于心跳层获得的资料来执行这一任务。逻辑上照顾系统服务,并为系统更高层提供一个有组织的集群拓扑结构。

第三层是资源管理层。主要由资源管理、信息基准、策略与转换等组件构成,主要根据既定策略进行资源的分配与集群更改。这一层的每一个动作都通过系统资源管理,它是保持系统信息的基础。

第四层是服务层,主要是一些服务代理,一般是一个shell脚本,用以实现服务的启动、停止与监测控制。集群管理软件提供了2种不同的资源代理脚本。一是Linux的LSB 脚本,二是开放集群框架脚本。实际应用中,用户只需根据自身需求进行自定义脚本编写即可完成资源代理操作。

3. 关键技术研究

a)故障监测

故障监测是指实时监测一个节点或服务的状态并确定其工作是否正常。容错支持系统中定义节点状态和服务状态值分别如下:

表1 节点状态值

截图1740107655.png


表2 服务状态值

截图1740107688.png


这里故障监测功能采用心跳机制[2]来实现。引入三种方式检查节点或服务状态:检查通信状态的ping机制、报告服务状态的register机制和可由管理员定制脚本的health check机制。通过自定义的服务代理脚本进行对应用服务的监测。设计中可灵活调整应用服务的监测频率,考虑到监测频率过小对系统造成的负担,集群管理系统中设置应用服务监测频率为1s。多次测试得出从负载异常到检测发现问题,时间在500ms左右,满足实际应用的要求。

容错支持系统定期将节点的实时状态信息作为心跳信号通过心跳网络传递给其它所有节点,其他节点如果在一定时间内没有收到该节点的心跳信号,则认为该节点发生故障;若收到节点的心跳信号,则会根据心跳信号内容进一步评估该节点是否发生故障。

心跳信号中通常包括应用服务状态、节点到外网络的连通性、操作系统状态等,这些可用于判定节点是否正常以及服务切换时选择接管节点的依据。心跳信号传输时,采用加密、认证等机制以保证节点间的通信安全,防止机密数据被窃取、避免未经授权的节点加入到高可用系统中,或者未经授权的节点状态信息影响到节点的切换。

b)应急切换

应急切换是指集群系统中一个节点失效时其应用服务被自动和透明地切换到另一个节点上继续提供服务。应急切换不但提供高可用性,而且可以用于人为地切换服务[1],进行在线系统维护和软件升级,提高系统的可维护性。

当确定一个提供服务的主节点失效时,容错支持系统将根据预先配置决定由哪个节点去接管它的服务。接管节点首先要通知当前主节点停止其所有应用服务、释放资源,接管节点在获得被释放的资源后才能启动服务,需要释放的资源主要包括共享存储设备、IP地址等,以避免两个节点同时使用产生冲突。在特殊情况下,主节点系统可能挂起、无法释放资源,接管节点可通过STONITH设备让主节点重新启动来释放资源。STONITH是一种用于同时给系统节点提供电源的智能电源设备,节点可通过串口线或网线向STONITH设备发出指令断开或复位其它节点的电源。

c)数据高可用

容错支持系统引入数据库数据实时同步机制,业务系统产生的业务数据在入库的同时,数据实时的备份到其他节点。当故障发生时,集群系统实时将数据库实例和业务访问数据库的服务路由切换到备份节点;故障解除时,集群自动将故障恢复节点加入到可用序列中,同时将数据实时备份到故障备份节点,最终达到数据库数据完全自愈。

4. 结束语

针对国产化服务器集群系统高可用性的需求,本文设计实现了一种容错支持系统,通过心跳层、成员层、资源管理层以及服务层等四层架构来实现对集群系统软硬件资源的实时监测与管理。

参考文献

[1]刘思尧.基于Linux平台的高可用集群管理系统的研究与实现[D].西北大学[2023-09-18]

[2]李勇.基于Linux高可用集群关键技术研究与实现[J].自动化技术与应用, 2020, 39(5):4

》在线投稿系统

*文章题目:
*作者姓名:
*电子邮箱:
*通讯地址:
*联系方式:

  备      注:

*上传稿件:

支持上传.doc,.docx,.pdf,.txt,.wps文件

投稿须知:

1、审稿结果将于1~7个工作日以邮件告知,请注意查收(包含录用通知书、审稿意见、知网CNKI查重报告)。

2、提交投稿后,若7个工作日之内未接到录用通知,则说明该文章未被录用,请另投他刊。

3、凡投寄本刊稿件,如在内容上有侵权行为或不妥之处,均应文责自负。本刊有权对来稿进行文字编辑、加工和修改,如不同意,请附说明,以便妥善处理。

4、多作者文稿署名时须征得其他作者同意,排好先后次序,通知用稿后不再改动。

5、凡投往本刊稿件一经录用发表,其版权归本刊所有。

6、本刊已全文录入中国知网、万方、维普等数据库,如作者不同意被收录,请提前申明,未申明者,本刊一律视为同意被收录。

7、请勿一稿多投。