四控服务器及四控服务器通信方法与流程

文档序号:12132603阅读:361来源:国知局
四控服务器及四控服务器通信方法与流程

本发明涉及服务器技术领域,特别涉及一种四控服务器及四控服务器通信方法。



背景技术:

目前传统的存储服务器主要有两种:双控和四控。双控包括两个控制器,两个控制器可以并行的IO业务流,允许其中一个节点出现故障而不影响正常的业务操作;四控包括四个控制器,四个控制器可以并行的处理IO业务流,允许最多三个控制器出现故障而不影响正常的业务。四控较双控具有更高的容错性和更高的效率,故高端服务器系统一般都以四控。

四控服务器为实现其并行处理效果,在硬件连接方式和软件通信方式上都比较复杂。硬件连接上需要四个控制器间任意两个都有链路连接,这样任意两点之间都可以通过直接链路通信。软件上四个节点要保持一致的状态,能够进行状态交换,相互之间还要一定的通信机制进行通信。即四控服务器连接方式及通信机制复杂度较高,增加了设计难度及成本。



技术实现要素:

本发明的目的是提供一种四控服务器及四控服务器通信方法,提高四控服务器进行数据同步时的效率,简化四控服务器的通信过程,且具有高效性和高容错性。

为解决上述技术问题,本发明提供一种四控服务器,包括:两组控制器;其中,每组控制器中包含两个相互连接的控制器;组间两两控制器之间均相互连接。

可选的,每组内的两个控制器之间通过PEX 8733链路连接;组间两两控制器之间均通过PEX 8796链路连接。

本发明还提供一种四控服务器通信方法,基于上述所述的四控服务器,包括:

当四控服务器进行数据同步时,两组控制器并行执行组内的两个控制器之间的数据同步;当各组组内的两个控制器之间的数据同步完成后,执行组间控制器的数据同步。

可选的,两组控制器并行执行组内的两个控制器之间的数据同步,包括:

两组控制器并行利用CMS模式执行组内的两个控制器之间的数据同步。

可选的,当第一组内的两个控制器为第一控制器和第二控制器,第二组内的两个控制器为第三控制器和第四控制器,执行组间控制器的数据同步,包括:

第一控制器与第四控制器和第二控制器与第三控制器并行执行数据同步。

可选的,当按照优先级从高到低的顺序设置第一控制器、第二控制器、第三控制器和第四控制器的优先级,还包括:

当四控服务器接收到请求后,按照控制器的优先级由高到低依次判断各控制器是否能响应所述请求;若能,则执行所述请求,若不能,则判断下一控制器。

可选的,该四控服务器通信方法还包括:

当存在一个控制器加入集群时,其他控制器同步加入到所述集群中。

本发明所提供的一种四控服务器,包括:两组控制器;其中,每组控制器中包含两个相互连接的控制器;组间两两控制器之间均相互连接;该四控服务器具有双控存储服务器中控制器连接方式简单的优点;该四控服务器的通信方法为当四控服务器进行数据同步时,两组控制器并行执行组内的两个控制器之间的数据同步;当各组组内的两个控制器之间的数据同步完成后,执行组间控制器的数据同步;能够提高四控服务器进行数据同步时的效率,简化四控服务器的通信过程,且具有高效性和高容错性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本发明实施例所提供的四控服务器的结构框图;

图2为本发明实施例所提供的另一四控服务器的结构框图。

具体实施方式

本发明的核心是提供一种四控服务器及四控服务器通信方法,提高四控服务器进行数据同步时的效率,简化四控服务器的通信过程,且具有高效性和高容错性。

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参考图1,图1为本发明实施例所提供的四控服务器的结构框图;包括:两组控制器(例如图1中的第一组和第二组,这里也可以成组为pair);其中,每组控制器中包含两个相互连接的控制器(例如第一组内包括第一控制器和第二控制器,第二组内包括第三控制器和第四控制器);组间两两控制器之间均相互连接。每个组中两个控制器之间可以直接通信,两组之间也可以通信,这样两组共四个控制器互联形成一个完整的四控互联存储服务器即上述四控服务器。

具体的,该实施例中四控服务器将四个控制器分为两组,且四个控制器两两相连即需要六条连接线连接,即可以实现任意两个控制器之间的链路进行通信。这里六条连接线可以是同一种总线(例如PEX 8733链路,或者PEX 8796链路),也可以是不同种总线(例如六条连接线可以使用PEX 8733链路以及PEX 8796链路)。由于现有技术中双控服务器的两个控制器之间是通过PEX 8733链路连接的,因此,为了有双控存储服务器中控制器连接方式简单的优点,且尽量对控制器做出小的改变可以将每组内的两个控制器之间通过PEX 8733链路连接。为了使四控服务器的四个控制器之间的通信更方便,即四控通信机制更加简单可靠,可以使组间两两控制器之间均通过PEX 8796链路连接。即优选的,请参考图2,图2为本发明实施例所提供的另一四控服务器的结构框图;每组内的两个控制器之间通过PEX 8733链路连接;组间两两控制器之间均通过PEX 8796链路连接。即通过六条链路将四个控制器两两互联。但是在pair内两个控制器采用PEX 8733链路连接,pair之间的节点通过PEX 8796链路连接,总共需要两条PEX 8733链路和四条PEX 8796链路。

基于上述技术方案,本发明实施例提供的四控服务器,将四控存储服务器的四个控制器分为两组,每组包含两个控制器(或者成服务器为节点)称为pair(即组),pair内两个节点相互连接通信,pair之间再相互连接通信,最终形成包含四个控制器的四控互联存储服务器。充分利用现有的双控存储服务器,进行最小改动,实现四控通信机制,从而节约成本,并提高存储服务器性能。

下面对本发明实施例提供的四控服务器通信方法进行介绍,下文描述的四控服务器通信方法与上文描述的四控服务器可相互对应参照。

本发明还提供一种四控服务器通信方法,基于上述所述的四控服务器的硬件基础上即将四个控制器分为两组的方式,该方法可以包括:

当四控服务器进行数据同步时,两组控制器并行执行组内的两个控制器之间的数据同步;当各组组内的两个控制器之间的数据同步完成后,执行组间控制器的数据同步。

具体的,传统的四控服务器的通信中四个节点(即四个控制器)都是平等的,任意两个节点都采用相同的通信方式。本实施例中将四个控制器两两一对分为两个pair(即分为两个组例如图1中的第一组和第二组)。pair内先进行通信,然后进行pair间的通信。就如同将两个传统双控连接起来,但又不是直接连接两个传统双控,需要任意两个节点都能进行通信即两组之间通过四条连接线连接。这样相比传统的四控服务器两个组内可以并行的进行组内通信,最后在进行组间通信提高数据通信的速率和效率。根据组内和组间的连接总线确定它们的通信方式。例如pair内和pair间可以采用不同的通信方式,pair内是PEX 8733链路通信,pair间是PEX 8796链路通信。其中,两组控制器并行利用CMS模式执行组内的两个控制器之间的数据同步。即每个pair内通过CMS(控制状态机)模式进行消息传递和保持状态一致性。

例如图1,当第一组内的两个控制器为第一控制器和第二控制器,第二组内的两个控制器为第三控制器和第四控制器,执行组间控制器的数据同步,可以是由第一控制器或第二控制器向第二组中两个控制器同步第一组的数据信息,由第三控制器或第四控制器向第一组中两个控制器同步第二组的数据信息,完成后在进行第一组和第二组的组内通信,也可以是由第一组的两个控制器分别对应第二组中的一个控制器进行相互之间的数据同步,例如第一控制器与第三控制器对应通信,第二控制器与第四控制器对应通信;或者是第一控制器与第四控制器对应通信,第二控制器与第三控制器对应通信;请参考图1,可以是第一控制器与第四控制器和第二控制器与第三控制器并行执行数据同步。以便进一步实现四个控制器之间的数据同步。相比前一种方式可以减少组间通信后的又一次组内通信。

传统的四控服务器中的四个控制器之间没有优先级之分,这样不能够利用简单的通信方式实现四控服务器之间的冗余等其他控制,因此,本实施例可以将四个控制器分为一个主控制器和三个从控制器。当服务器接收到请求后,若主控制器能响应该操作,则执行服务响应操作;如果不能,则转发给其从控制器响应该操作。还可以进一步将四个控制器均设置一个优先级例如当按照优先级从高到低的顺序设置第一控制器、第二控制器、第三控制器和第四控制器的优先级即四个控制器的优先级排序为第一控制器>第二控制器>第三控制器>第四控制器,还该方法包括:当四控服务器接收到请求后,按照控制器的优先级由高到低依次判断各控制器是否能响应所述请求;若能,则执行所述请求,若不能,则判断下一控制器。

具体的,服务器内的4个节点都运行相同的软件栈,并且能够监察所有的IO业务流。当服务器接收到请求后,若第一控制器能响应该操作,则执行服务响应操作;如果不能,则转发给其控制器响应该操作。转发过程就是判断第二控制器能响应该操作,则执行服务响应操作;如果不能,则判断第三控制器能响应该操作,则执行服务响应操作;如果不能,则判断第四控制器能响应该操作,则执行服务响应操作;若不能,则报错。

基于上述实施例,该四控服务器通信方法还包括:当存在一个控制器加入集群时,其他控制器同步加入到所述集群中。具体的,当服务器中一个控制器加入集群时,其它控制器自动加入集群。

当四个控制器设置优先级后,传统双控中确定一个控制器之后,通过PCIe端口直接查找与其互联控制器,有且只有一个,但由于其他四个控制器地位一致所以查找过程复杂。本实施例中确定一个控制器后,通过PEX8733端口找同一个pair内的另一个控制器,通过PEX8796端口找不同pair内的两个控制器。在每个pair内通过CMS(控制状态机)模式进行消息传递和保持状态一致性的情况下,还需要进行两个pair的消息传递和4个控制器的一致性状态,pair内可以并行执行,完成后再进行pair间的消息传递和一致性状态变换。

基于上述技术方案,本发明实施例提供的四控服务器通信方法,拥有双控存储服务器中控制器连接方式简单的优点,实现了四控服务器中四个控制器共同处理IO业务流,提高四控服务器进行数据同步时的效率,简化四控服务器的通信过程,具有传统四控的高效性和高容错性。

以上对本发明所提供的四控服务器及四控服务器通信方法进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1