CN100429629C - 一种构造大规模高可用机群操作系统的方法 - Google Patents
一种构造大规模高可用机群操作系统的方法 Download PDFInfo
- Publication number
- CN100429629C CN100429629C CNB200310117036XA CN200310117036A CN100429629C CN 100429629 C CN100429629 C CN 100429629C CN B200310117036X A CNB200310117036X A CN B200310117036XA CN 200310117036 A CN200310117036 A CN 200310117036A CN 100429629 C CN100429629 C CN 100429629C
- Authority
- CN
- China
- Prior art keywords
- node
- process device
- state
- subregion
- cluster
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Hardware Redundancy (AREA)
- Debugging And Monitoring (AREA)
Abstract
一种构造大规模高可用机群操作系统的方法,该方法将机群系统分为多个物理分区,每个物理分区安装一个管理进程装置,而每个节点上都安装有一个本地侦测进程装置。本地侦测进程装置通过所有的网络向本分区内的管理进程装置发送心跳,而管理进程装置根据接收到的心跳的信息获得所在节点的网络状态和节点运行状态,从而对分区进行集中式监控和统一管理。每个分区的管理进程装置之间采用分布式结构,它们在逻辑上完全对等,一起协同工作,并保持机群所有节点运行状态和网络状态的一致视图。该方法不仅能够提供大规模机群的节点和网络状态信息,并且能为机群系统软件和充分利用机群特性的商业应用软件提供高可用服务支持。
Description
技术领域
本发明涉及计算机系统技术领域,特别涉及一种构造大规模高可用机群操作系统的方法。
技术背景
机群自问世以来,以其良好的可扩展性和富有竞争力的性能/价格比迅速成为高性能计算的主流体系结构,也在因特网服务、数据库服务等商业领域得到广泛应用。
机群操作系统建立在结点操作系统基础之上,为普通用户、软件开发者和系统管理员提供单一系统映像支撑,是机群中最基本的系统软件集。
高可用性是机群系统的一个重要要求,一个高可用的机群操作系统要求自身是高可靠的同时,必需能在机群系统失效时及时探测和修复失效。机群系统的失效主要包括应用失效、节点失效和网络失效。应用的失效需要应用本身提供失效的处理,而如果机群操作系统能够及时提供节点失效和网络失效信息,应用从而能对失效情况做一个完整的判断。因此,在机群操作系统中实现及时的节点运行状态和节点网络状态的探测,可以为操作系统上层模块提供可靠而及时的失效信息,从而保证机群操作系统是高可靠的。当系统出现故障时,系统管理员能够及时的获取故障信息,并分析故障原因,有利于及时排除故障。位于机群操作系统之上的应用程序可以及时的得知失效信息,并利用自己的失效处理机制,进行必要的处理,保证应用的正常执行。
机群操作系统的节点运行状态和网络状态监控采用集中式控制或者分布式控制这两种方式。如图1所示,集中式的方式是由一个管理进程装置负责机群所有节点的运行状态和网络状态监控,该管理进程装置收集机群所有节点的运行状态和网络状态的信息。如图2所示,分布式的方式是由多个管理进程装置协同工作一块完成机群节点的运行状态和网络状态监控,所有的管理进程装置逻辑上完全对等,它们在一起协同工作,并保持机群所有节点运行状态和网络状态的一致视图。
现有的机群操作系统的节点运行状态和网络状态监控多采用集中式控制的方式,但是这种结构随着机群系统规模的不断增大,会使管理进程装置的负载增大,而成为系统瓶颈,与此同时管理进程装置也是系统的单一失效点,为了保证它的高可用性,还需要作相应的复杂处理。如果采用完全对等的分布式控制结构,也就是在每个节点上都运行一个管理进程装置,对于大规模系统而言,会使得协议非常复杂,虽然没有某个节点成为瓶颈,但是整个系统每个节点的负载都会加重。为了解决上述问题,需要采用分层的结构。如图3显示的是分层的集中式控制,也就是将系统分为多个分区,分区内部采用集中式控制的方式,由一个进程装置集中管理分区内所有节点的运行状态和网络状态监控。分区之间也采用集中式控制的方式,一个系统的管理进程装置管理所有分区的管理进程装置。分层的集中式控制,可以解决扩展性的问题,但是仍然没有解决单一失效点的问题(最上层的集中管理进程装置会成为单一失效点)。如图4显示的是分层的分布式控制,就是将系统分为多个分区,分区内部采用完全对等的分布式结构,在每个节点上都运行一个管理进程装置;分区之间也采用分布式控制的方式,每个分区选择一个管理进程装置组成分布式的管理结构。分层的分布式控制,存在协议非常复杂性的问题,而且在具体实现时会很复杂,很难保证软件的可靠性。
发明内容
本发明的目的在于设计一种构造大规模高可用机群操作系统的方法,该方法能够提供大规模机群的节点状态和网络状态的监控,并为机群系统软件和充分利用机群特性的商业应用软件提供高可用服务支持。
一种构造大规模高可用机群操作系统的方法,采用集中控制与分布控制相结合的体系结构,将机群系统分为多个物理分区,每个节点安装一个本地侦测进程装置,每个物理分区安装一个管理进程装置,分区内的节点运行状态与网络状态监控采用集中式控制,而分区管理进程装置之间采用分布式控制。
该方法采用分布式控制与集中式控制相结合的结构。
该方法将机群系统物理上分为多个分区。
每个分区内的节点运行状态与网络状态监控采用集中式控制。
由一个管理进程装置对其所在分区的节点状态与网络连通度进行统一管理。
该方法采用集中控制与分布式控制相结合的体系结构。将机群系统分为多个物理分区,每个物理分区安装一个管理进程装置,而每个节点上都安装有一个本地侦测进程装置。本地侦测进程装置通过所有的网络向本分区内的管理进程装置发送心跳(heartbeat),心跳即被监测节点定时(如每隔1秒)发出心跳信号,如果监测程序在一定时间内没有收到任何从某节点发出的心跳信号,则判断该节点发生故障。而管理进程装置根据本地侦测进程装置发送的心跳信息获得所在节点的网络状态和节点运行状态,从而对分区内的节点运行状态与网络状态进行集中式监控和统一管理。每个分区的管理进程装置之间采用分布式结构,它们在逻辑上完全对等,一起协同工作,并保持机群所有节点运行状态和网络状态的一致视图。
本发明的效果体现在:
1.本方法适用于大规模机群系统,可以解决在大规模的机群系统情况下完全使用集中式结构或对等式结构进行机群节点运行状态和节点网络状态监控的弊端。
2.本方法所采用的结合集中式控制和分布式控制的结构具有良好的可扩展性.可以适应节点增加和减少、分区增加和较少等系统的变化。
3.本方法解决了单一失效点问题,具有高可用性。可以为机群系统软件提供高可用服务支持,也可以为充分利用机群特性的商业应用软件提供高可用支持.。
附图说明
图1是集中式的机群节点状态和网络状态监控结构图。
图2是分布式的机群节点状态和网络状态监控结构图。
图3是分层的集中式机群节点状态和网络状态监控结构图。
图4是分层的分布式机群节点状态和网络状态监控结构图。
图5是结合分布式控制和集中式控制的构造大规模高可用机群操作系统的方法所采用的体系结构。
图6是本地侦测进程装置的构造图。
图7是是分区管理进程装置的构造图。
图8是分区管理进程装置初始化成功后的示意图。
图9是分区管理进程装置开始正常工作之前的准备流程。
图10是本地侦测进程装置初始化成功后的示意图。
图11是本地侦测进程装置开始正常工作之前的准备流程。
图12是系统正常工作的流程。
图13是高可用服务使用的示意图。
具体实施方式
部署:
如图5所示,机群每一个节点上都装有一个本地侦测进程装置,机群的每一个物理分区都有一个管理进程装置,分区管理进程装置负责管理分区节点状态与网络连通度,管理进程装置之间采用分布式控制方式管理。图5中GSD(Group Service Daemon)是每个物理分区内节点和网络联通状态的管理进程装置(简称管理进程装置)。WD(watch Daemon)是每一个节点上都安装的本地侦测进程装置(简称本地侦测进程装置)。
图6是本地侦测进程装置的构造图,其软件模块包括心跳发送以及接受命令模块,硬件则包括多套物理网络,内存以及CPU。
图7是分区管理进程装置的构造图,其软件模块包括接收心跳模块以及失效处理模块,硬件则包括多套物理网络,内存以及CPU。
初始化:
如图8所示,机群每一个物理分区中的管理进程装置初始化成采用分布式方式管理的组。
图9给出了管理进程装置开始正常工作之前的准备流程,具体为:步骤(9-1)、在物理分区上启动管理进程装置;步骤(9-2)、第一个物理分区的管理进程装置作为leader(分布式组的临时管理者);步骤(9-3)、其他物理分区的管理进程装置向leader发送加入请求;步骤(9-4)、leader收到所有分区管理进程装置的加入请求后,通知它们初始化成功;步骤(9-5)、leader收到所有分区管理进程装置的通知应答后,初始化成功。
管理进程装置完成准备流程之后,本地侦测进程装置在开始正常工作之前完成准备流程,如图10所示,在分区内形成集中式管理的结构。
如图11给出了本地侦测进程装置开始正常工作之前的准备流程,具体为:步骤(11-1)、分区管理进程装置初始化成功后,将本分区的节点状态全部设置为不可用;步骤(11-2)、启动分区内每个节点上的本地侦测进程装置;步骤(11-3)、分区内所有节点上的本地侦测进程装置向本分区内的管理进程装置发送心跳;步骤(11-4)、管理进程装置收到所管理的分区内节点上的本地侦测进程装置发送的心跳后,将对应的节点状态置为可用;步骤(11-5)、本地侦测进程装置定时向本分区内的管理进程装置发送心跳,并接收本分区内的管理进程装置命令,形成分区内的集中式管理结构。
正常工作流程:
管理进程装置和本地侦测装置完成准备流程后,GSD开始对本分区的节点进行监控,图12给出了正常工作流程,具体描述如下:步骤(12-1)、GSD将本分区的节点状态全部置为不可用。步骤(12-2)、收到某个节点上的本地侦测进程装置(WD)的加入请求后进行回应,并将节点状态改为可用。步骤(12-3)、WD加入成功后会用多套网络向GSD发送心跳,GSD接收到WD的心跳后,记录接收时间。步骤(12-4)、GSD通过定期察看WD的心跳时间标记,来判断WD的网络状态和节点死活。步骤(12-5)、如果GSD在一段时间内收不到WD通过某套网络发送的心跳,将该节点的该套网络状态置为故障状态。如果发现某个节点的所有网络状态都为故障状态,则说明该节点可能出现故障或是该节点上的WD出现故障。
节点出现故障的处理流程为:步骤(12-6)、GSD一段时间收不到心跳,则通过多套网络发送查询消息:如果收到应答,GSD不作任何操作。如果GSD没有收到应答,则分析错误类型。如果返回的错误类型是“连接拒绝”,说明进程故障,将节点状态置为“WD故障状态”,将网络状态恢复为正常,并且通过远程命令重启WD进程。如果返回的错误类型是“资源临时不可获得”,将节点关闭,并将节点状态置为“节点故障”。步骤(12-7)、如果节点状态为WD故障,一段时间内收不到多套网络的心跳,将节点关闭,并将节点状态置为“节点故障”。如果节点状态为WD故障,收到WD的心跳,则将状态置为正常。步骤(12-8)、如果节点状态为故障状态,收到WD的心跳,则将状态置为正常。
本分区内的管理进程装置初始化后,形成通过分布式方式管理的组,对外提供机群所有节点的运行状态和网络状态的一致视图。
如图13所示,本分区内的管理进程装置可以为上层的机群系统软件提供高可用的支持,只要将机群系统软件部署在本分区内的管理进程装置(GSD)所在的节点,并且调用GSD提供的接口,系统软件就可以得到本分区内的管理进程装置提供的高可用服务。图中不同于GSD白色填充的椭圆形表示的是需要具有高可用特性的系统软件或者充分利用机群特性的商业应用软件。
Claims (8)
1、一种构造大规模高可用机群操作系统的方法,采用集中控制与分布控制相结合的体系结构,将机群系统分为多个物理分区,其特征在于,该方法为每个节点安装一个本地侦测进程装置,为每个物理分区安装一个管理进程装置,分区内的节点运行状态与网络状态监控采用集中式控制,而分区管理进程装置之间采用分布式控制,分区内每个节点的本地侦测进程装置通过所有的网络向分区管理进程装置发送心跳,分区管理进程装置根据每个节点上的本地侦测进程装置发送的心跳的信息得到本地侦测进程装置所在节点的网络状态和节点运行状态。
2、根据权利要求1所述的构造大规模高可用机群操作系统的方法,其特征在于:在机群每一个物理分区中都有一个分区节点状态与网络连通度的管理进程装置,该管理进程装置对其所在分区的节点状态与网络连通度进行统一管理。
3、根据权利要求1所述的构造大规模高可用机群操作系统的方法,其特征在于每个分区的管理进程装置之间采用分布式结构,它们在逻辑上完全对等。
4、根据权利要求1所述的构造大规模高可用机群操作系统的方法,其特征在于:每个分区的管理进程装置之间通过分布式方式管理一起协同工作,保持机群所有节点运行状态和网络状态的一致视图。
5、根据权利要求1的构造大规模高可用机群操作系统的方法,其步骤如下:
步骤12-1、管理进程装置GSD将本分区的节点状态全部置为不可用;
步骤12-2、收到某个节点上的本地侦测进程装置WD的加入请求后,GSD进行回应,并将节点状态改为可用;
步骤12-3、WD加入成功后会用多套网络向GSD发送心跳,GSD接收到WD的心跳后,记录接收时间;
步骤12-4、GSD通过定期察看WD的心跳时间标记,判断WD的网络状态和节点死活:步骤12-5、如果GSD在一段时间内收不到WD通过某套网络发送的心跳,将该节点的该套网络状态置为故障状态;如果发现某个节点的所有网络状态都为故障状态,则该节点可能出现故障或是该节点上的WD出现故障,对出现的故障进行处理。
6、根据权利要求5的构造大规模高可用机群操作系统的方法,其特征在于,所述对出现的故障进行处理包括:
步骤12-6、如果节点状态为正常,一段时间收不到心跳,GSD通过多套网络发送查询消息:如果收到应答,GSD不作任何操作;如果GSD没有收到应答,则分析错误类型;如果返回的错误类型是“连接拒绝”,说明进程故障,将节点状态置为“WD故障状态”,将网络状态恢复为正常,并且通过远程命令重启WD进程,如果返回的错误类型是“资源临时不可获得”,将节点关闭,并将节点状态置为“节点故障”;
步骤12-7、如果节点状态为WD故障,一段时间内收不到多套网络的心跳,将节点关闭,并将节点状态置为“节点故障”。如果节点状态为WD故障,收到WD的心跳,则将状态置为正常;
步骤12-8、如果节点状态为故障状态,收到WD的心跳,则将状态置为正常。
7、根据权利要求5的构造大规模高可用机群操作系统的方法,其特征在于,该方法在管理进程装置开始正常工作之前进一步包括一准备流程,具体步骤为:
步骤9-1、在物理分区上启动管理进程装置;
步骤9-2、第一个物理分区的管理进程装置作为分布式组的临时管理者leader;
步骤9-3、其他物理分区的管理进程装置向leader发送加入请求;
步骤9-4、leader收到所有分区管理进程装置的加入请求后,通知它们初始化成功;
步骤9-5、leader收到所有分区管理进程装置的通知应答后,初始化成功,状态置为正常。
8、根据权利要求5的构造大规模高可用机群操作系统的方法,其特征在于,该方法在本地侦测进程装置开始正常工作之前进一步包括一准备流程,具体步骤为:
步骤11-1、分区管理进程装置初始化成功后,将本分区的节点状态全部设置为不可用;
步骤11-2、启动分区内每个节点上的本地侦测进程装置;
步骤11-3、分区内所有节点上的本地侦测进程装置向本分区内的管理进程装置发送心跳;
步骤11-4、管理进程装置收到所管理的分区内节点上的本地侦测进程装置发送的心跳后,将对应的节点状态置为可用;
步骤11-5、本地侦测进程装置定时向本分区内的管理进程装置发送心跳,并接收本分区内的管理进程装置命令,形成分区内的集中式管理结构。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB200310117036XA CN100429629C (zh) | 2003-12-04 | 2003-12-04 | 一种构造大规模高可用机群操作系统的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB200310117036XA CN100429629C (zh) | 2003-12-04 | 2003-12-04 | 一种构造大规模高可用机群操作系统的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1547119A CN1547119A (zh) | 2004-11-17 |
CN100429629C true CN100429629C (zh) | 2008-10-29 |
Family
ID=34337678
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB200310117036XA Expired - Fee Related CN100429629C (zh) | 2003-12-04 | 2003-12-04 | 一种构造大规模高可用机群操作系统的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100429629C (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100375080C (zh) * | 2005-04-15 | 2008-03-12 | 中国人民解放军国防科学技术大学 | 大规模分布共享系统中的输入输出分组节流方法 |
CN102571960A (zh) * | 2012-01-12 | 2012-07-11 | 浪潮(北京)电子信息产业有限公司 | 一种实现高可用集群状态监控的方法及装置 |
CN102594596B (zh) * | 2012-02-15 | 2014-08-20 | 华为技术有限公司 | 识别集群网络中可用分区的方法、装置及集群网络系统 |
CN102629942B (zh) * | 2012-03-22 | 2014-09-24 | 广东威创视讯科技股份有限公司 | 云台控制方法、系统及集中式云台控制节点 |
US10318618B2 (en) * | 2014-06-18 | 2019-06-11 | Microsoft Technology Licensing, Llc | Consistent views of partitioned data in eventually consistent systems |
CN105187804A (zh) * | 2015-10-10 | 2015-12-23 | 上海慧体网络科技有限公司 | 一种跨因特网集中监控海量远程运动场馆硬件的方法 |
CN107402968A (zh) * | 2017-06-26 | 2017-11-28 | 北京小度信息科技有限公司 | 运行控制方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6253230B1 (en) * | 1998-09-22 | 2001-06-26 | International Business Machines Corporation | Distributed scalable device for selecting a server from a server cluster and a switched path to the selected server |
CN1123838C (zh) * | 1996-10-28 | 2003-10-08 | 三菱电机株式会社 | 群集控制系统 |
-
2003
- 2003-12-04 CN CNB200310117036XA patent/CN100429629C/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1123838C (zh) * | 1996-10-28 | 2003-10-08 | 三菱电机株式会社 | 群集控制系统 |
US6253230B1 (en) * | 1998-09-22 | 2001-06-26 | International Business Machines Corporation | Distributed scalable device for selecting a server from a server cluster and a switched path to the selected server |
Also Published As
Publication number | Publication date |
---|---|
CN1547119A (zh) | 2004-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7451359B1 (en) | Heartbeat mechanism for cluster systems | |
US6983317B1 (en) | Enterprise management system | |
US8055735B2 (en) | Method and system for forming a cluster of networked nodes | |
US20180351793A1 (en) | System and method for providing secure and redundant communications and processing for a collection of internet of things (iot) devices | |
CA2467813C (en) | Real composite objects for providing high availability of resources on networked systems | |
US8032780B2 (en) | Virtualization based high availability cluster system and method for managing failure in virtualization based high availability cluster system | |
US20180351792A1 (en) | System and method for providing secure and redundant communications and processing for a collection of internet of things (iot) devices | |
US8301599B2 (en) | Cluster arrangement | |
CN102325192A (zh) | 云计算实现方法和系统 | |
KR20090061522A (ko) | 대규모 클러스터 모니터링 시스템과 그의 자동 구축 및복구 방법 | |
WO2021031983A1 (zh) | 一种汽车诊断云平台系统、业务实现方法 | |
CN108259270A (zh) | 一种数据中心统一管理系统设计方法 | |
CN105659562A (zh) | 利用簇中并行性进行容障处理 | |
US9674033B2 (en) | High performance and grid computing with liveliness and deadlines fault tolerant data distributor quality of service | |
WO2009100304A1 (en) | System and method for network management using self-discovering thin agents | |
CN100429629C (zh) | 一种构造大规模高可用机群操作系统的方法 | |
CN114064414A (zh) | 一种高可用的集群状态监控方法及系统 | |
CN107071189B (zh) | 一种通讯设备物理接口的连接方法 | |
CA2504170C (en) | Clustering system and method having interconnect | |
Gaj | The concept of a multi-network approach for a dynamic distribution of application relationships | |
Abdullah et al. | Reliable and efficient hierarchical organization model for computational grid | |
CN112380288A (zh) | 去中心化分布式数据处理系统 | |
Deconinck et al. | Fault tolerance in massively parallel systems | |
CN115550371B (zh) | 基于Kubernetes的Pod调度方法、系统及云平台 | |
JP2829040B2 (ja) | 情報集配信システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20081029 Termination date: 20191204 |