一种构造大规模高可用机群操作系统的方法

文档序号:6420837阅读:105来源:国知局
专利名称:一种构造大规模高可用机群操作系统的方法
技术领域
本发明涉及计算机系统技术领域,特别涉及一种构造大规模高可用机群操作系统的方法。
背景技术
机群自问世以来,以其良好的可扩展性和富有竞争力的性能/价格比迅速成为高性能计算的主流体系结构,也在因特网服务、数据库服务等商业领域得到广泛应用。
机群操作系统建立在结点操作系统基础之上,为普通用户、软件开发者和系统管理员提供单一系统映像支撑,是机群中最基本的系统软件集。
高可用性是机群系统的一个重要要求,一个高可用的机群操作系统要求自身是高可靠的同时,必需能在机群系统失效时及时探测和修复失效。机群系统的失效主要包括应用失效、节点失效和网络失效。应用的失效需要应用本身提供失效的处理,而如果机群操作系统能够及时提供节点失效和网络失效信息,应用从而能对失效情况做一个完整的判断。因此,在机群操作系统中实现及时的节点运行状态和节点网络状态的探测,可以为操作系统上层模块提供可靠而及时的失效信息,从而保证机群操作系统是高可靠的。当系统出现故障时,系统管理员能够及时的获取故障信息,并分析故障原因,有利于及时排除故障。位于机群操作系统之上的应用程序可以及时的得知失效信息,并利用自己的失效处理机制,进行必要的处理,保证应用的正常执行。
机群操作系统的节点运行状态和网络状态监控采用集中式控制或者分布式控制这两种方式。如图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白色填充的椭圆形表示的是需要具有高可用特性的系统软件或者充分利用机群特性的商业应用软件。
权利要求
1.一种构造大规模高可用机群操作系统的方法,采用集中控制与分布控制相结合的体系结构,将机群系统分为多个物理分区,其特征在于每个节点安装一个本地侦测进程装置,每个物理分区安装一个管理进程装置,分区内的节点运行状态与网络状态监控采用集中式控制,而分区管理进程装置之间采用分布式控制。
2.根据权利要求1所述的构造大规模高可用机群操作系统的方法,其特征在于该方法采用分布式控制与集中式控制相结合的结构。
3.根据权利要求1所述的构造大规模高可用机群操作系统的方法,其特征在于该方法将机群系统物理上分为多个分区。
4.根据权利要求1所述的构造大规模高可用机群操作系统的方法,其特征在于每个分区内的节点运行状态与网络状态监控采用集中式控制。
5.根据权利要求1所述的构造大规模高可用机群操作系统的方法,其特征在于由一个管理进程装置对其所在分区的节点状态与网络连通度进行统一管理。
6.根据权利要求1所述的构造大规模高可用机群操作系统的方法,其特征在于每个分区的管理进程装置之间采用分布式结构,它们在逻辑上完全对等。
7.根据权利要求1所述的构造大规模高可用机群操作系统的方法,其特征在于每个分区的管理进程装置之间一起协同工作,保持机群所有节点运行状态和网络状态的一致视图。
8.根据权利要求1所述的构造大规模高可用机群操作系统的方法,其特征在于使用该方法,机群中的每一个节点上都装有一个本地侦测进程装置。
9.根据权利要求1所述的构造大规模高可用机群操作系统的方法,其特征在于该方法,在机群每一个物理分区中都有一个分区节点状态与网络连通度的管理进程装置。
10.根据权利要求1所述的构造大规模高可用机群操作系统的方法,其特征在于该方法,分区内每个节点的本地侦测进程装置通过所有的网络向分区管理进程装置发送心跳。
11.根据权利要求1所述的构造大规模高可用机群操作系统的方法,其特征在于分区管理进程装置根据每个节点上的本地侦测进程装置发送的心跳的信息得到本地侦测进程装置所在节点的网络状态和节点运行状态。
12.根据权利要求1所述的构造大规模高可用机群操作系统的方法,其特征在于该方法,分区管理进程装置之间通过分布式方式管理,对外提供机群所有节点运行状态和网络状态的一致视图。
13.根据权利要求1所述的构造大规模高可用机群操作系统的方法,其特征在于该方法,分区管理进程装置能为机群的上层系统软件提供高可用的支持。
14.根据权利要求1所述的构造大规模高可用机群操作系统的方法,其特征在于该方法,分区管理进程装置能为充分利用机群特性的商业应用软件提供高可用的支持。
15.根据权利要求1所述的构造大规模高可用机群操作系统的方法,其特征在于该方法,只要将机群系统软件部署在分区管理进程装置所在的节点,系统软件就可以得到分区管理进程装置提供的高可用服务。
16.根据权利要求1所述的构造大规模高可用机群操作系统的方法,其特征在于该方法,只要将商业应用软件部署在分区管理进程装置所在的节点,充分利用机群特性的商业应用软件就可以得到分区管理进程装置提供的高可用服务。
17.根据权利要求1的构造大规模高可用机群操作系统的方法,其步骤如下步骤(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的心跳,则将状态置为正常。
18.根据权利要求17的构造大规模高可用机群操作系统的方法,管理进程装置开始正常工作之前的准备流程,具体步骤为步骤(9-1)、在物理分区上启动管理进程装置;步骤(9-2)、第一个物理分区的管理进程装置作为leader(分布式组的临时管理者);步骤(9-3)、其他物理分区的管理进程装置向leader发送加入请求;步骤(9-4)、leader收到所有分区管理进程装置的加入请求后,通知它们初始化成功;步骤(9-5)、leader收到所有分区管理进程装置的通知应答后,初始化成功。态置为正常。
19.根据权利要求17的构造大规模高可用机群操作系统的方法,本地侦测进程装置开始正常工作之前的准备流程,具体步骤为步骤(11-1)、分区管理进程装置初始化成功后,将本分区的节点状态全部设置为不可用;步骤(11-2)、启动分区内每个节点上的本地侦测进程装置;步骤(11-3)、分区内所有节点上的本地侦测进程装置向本分区内的管理进程装置发送心跳;步骤(11-4)、管理进程装置收到所管理的分区内节点上的本地侦测进程装置发送的心跳后,将对应的节点状态置为可用;步骤(11-5)、本地侦测进程装置定时向本分区内的管理进程装置发送心跳,并接收本分区内的管理进程装置命令,形成分区内的集中式管理结构。
全文摘要
一种构造大规模高可用机群操作系统的方法,该方法将机群系统分为多个物理分区,每个物理分区安装一个管理进程装置,而每个节点上都安装有一个本地侦测进程装置。本地侦测进程装置通过所有的网络向本分区内的管理进程装置发送心跳,而管理进程装置根据接收到的心跳的信息获得所在节点的网络状态和节点运行状态,从而对分区进行集中式监控和统一管理。每个分区的管理进程装置之间采用分布式结构,它们在逻辑上完全对等,一起协同工作,并保持机群所有节点运行状态和网络状态的一致视图。该方法不仅能够提供大规模机群的节点和网络状态信息,并且能为机群系统软件和充分利用机群特性的商业应用软件提供高可用服务支持。
文档编号G06F11/30GK1547119SQ20031011703
公开日2004年11月17日 申请日期2003年12月4日 优先权日2003年12月4日
发明者詹剑锋, 王磊, 黄伟, 孟丹 申请人:中国科学院计算技术研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1