用于在服务器系统中路由业务的方法和系统的制作方法

文档序号:6398377阅读:153来源:国知局
专利名称:用于在服务器系统中路由业务的方法和系统的制作方法
技术领域
本发明一般地涉及计算机服务器系统,更具体地,涉及用于在服务器系统中路由业务的方法和系统。
背景技术
在当今的环境中,计算机系统通常包括多个部件,诸如服务器、硬盘驱动器以及其它外围设备。这些部件通常被存放于机架之上。对于大型的公司,可以有数百个存放机架并且这些机架占用很大的场地空间。而且,因为这些部件通常是独立的部件,即,它们不是集成的,诸如软盘驱动器、键盘和显示器等资源不能被共享。
纽约Armonk的国际商业机器公司(International Business MachinesCorp.)已经开发了一种系统,该系统将上述的计算机系统捆绑成一个紧凑的操作单元。这个系统被称为IBM eServer BladeCenterTM。BladeCenter是一个7U的模块机壳(chassis),其能够容纳多达14个独立的服务器片(blade)。一个服务器片或片是一种计算机部件,其具有处理器、存储器、硬盘存储器和工业标准服务器的固件。每个片被“热插入”到机壳的一个槽内。该机壳还容纳有诸如电源模块、交换模块、管理模块以及送风模块等支持性资源。因此,该机壳允许各个片共享支持性资源基础设施。
出于冗余的目的,在该机壳中安装了两个以太网交换模块(ESM)。ESM为片服务器系统提供以太网交换能力。每个交换模块的主要目的是提供服务器片、管理模块以及外部网络基础设施之间的以太网互连。
ESM是较高层功能的ESM,例如,OSI第4层-路由层及更上层,它们有能力在连接着多个服务器片的不同以太网端口之间实现负载平衡。每个ESM执行一种标准的负载平衡算法,该算法用于在多个服务器片之间路由业务,从而负载被均匀地分布在各片上。这种负载平衡算法基于工业标准虚拟路由器冗余协议。该标准没有以ESM说明其实现。这种标准算法专用于该实现,并可基于轮转式(round robin)选择、最短连接或响应时间。
尽管如此,当多个服务器片中的一个失效时还是会产生问题。因为该标准的负载平衡算法未考虑即将发生的片失效,所以业务被路由到将要失效的服务器片上直到该片真的失效了为止。在这种情况下,该片将立刻断开所有存在的连接。用户应用程序必须认识到该断开并重新建立每个连接。对于访问该服务器系统的单独的用户,这一连串的事件具有高度的破坏性,这是因为该用户将经历大约40秒的服务停歇。累积地来看,如果该失效的片在失效前在以全部能力运行,即,正在全负荷运行,则其破坏性的影响将被扩大几倍。
在正常运行状态下服务器片不会立刻失效。由于各种原因存在有服务衰退。在一种情况下,服务器片请求,即用户,已经超出了该服务器片的处理能力。此处,虚拟路由技术抑制该请求从而限制新用户的数目。因此,衰退中的服务器片能够为其当前的用户提供服务。尽管如此,如果服务器片经历着诸如高温或超出了额定电压等的环境的衰退,则现有技术的服务器片没有办法在虚拟路由算法中将这些状态考虑在内。
因此,存在着对用于在服务器系统中路由业务的系统和方法的需要,该系统和方法对于服务器的衰退环境问题是敏感的。该系统和方法应当允许依据每个服务器的运行健康状态动态地调整负载平衡算法。本发明就是为了满足这种需求。

发明内容
本发明公开了一种用于在服务器系统中路由业务的方法以及使用该方法的计算机系统。在第一个方面,该方法包括检测多个服务器中的一个服务器的第一状态,并且响应所述的第一状态调整到该服务器的业务。在第二方面,一种计算机系统,包括多个服务器,其中多个服务器中的每个服务器都包括用于检测服务器内的第一状态的监视机制;多个交换模块,连接于所述的多个服务器;一个管理模块,也连接于所述的多个服务器;以及一个业务控制机制连接于所述管理模块,其中当在服务器中检测到了所述的第一状态时,所述业务控制机制使得多个交换模块中的每个交换模块调整到该服务器的业务。


图1是表示了BladeCenter的前部的透视图。
图2是BladeCenter后部的透视图。
图3是表示了服务器片系统的管理子系统的示意图。
图4是根据本发明的优选实施例的服务器片系统的示意性方框图。
图5是表示了根据本发明的优选实施例,业务控制机制路由业务的方法的流程图。
具体实施例方式
本发明一般地涉及服务器系统,更具体地,涉及用于在服务器系统中路由业务的方法和系统。提供下面的说明以便使得本领域的普通技术人员可以做出并使用本发明,并且这是在专利申请和其要求的背景下提供的。虽然将以BladeCenter说明本发明的优选实施例,但是对于本领域的技术人员来说,对此处说明的优选实施例以及总体原则和特征的各种修改是显而易见的。因此,本发明并不旨在限于给出的实施例,而是将涵盖与此处说明的原则和特征相一致的最宽泛的范围。
根据本发明的优选实施例,连接于多个服务器的每个服务器的业务控制机制监视每个服务器的任何的环境衰退迹象,例如,超出了额定的温度或电压。当业务控制机制检测到了服务器中的衰退迹象时,它使到该服务器的其它业务停止。为了做到这一点,该业务控制机制指示每个ESM调整其负载平衡算法,这样一来在衰退状态存在时就不能建立到该服务器的新的连接。通过当服务器出现衰退迹象时限制到该服务器的新的业务,如果该服务器最终失效了,可能潜在地被断开的连接的数目被大大地减少了。因此,对用户群体的破坏性影响被最小化。而且,如果没有新的连接被建立,则该服务器的健康状态可能会改善,例如,电源消耗可能会更少并且由于更少的连接而使得环境条件有可能会改善。
为了说明本发明的特征,请参考下面的讨论和附图,其描述了一种计算机系统,例如BladeCenter,该系统可以结合本发明使用。图1是BladeCenter系统100的分解的透视图。参考此图,主机壳102容纳该系统的所有部件。多达14个服务器片104(或其它片,诸如存储片)被热插入到机壳102前面的14个槽中。片104可以被“热交换”而不影响该系统100中其它片104的运行。服务器片104a可以使用任何微处理器技术,只要其兼容于系统100的机械的和电的接口以及供电和冷却要求。
中间平面电路板106被近似地安置在机壳102的中部,并且包括两排连接器108、108’。14个槽中的每个槽包括一对中间平面连接器,例如,108a、108a’,它们一个位于另一个之上,并且每对中间平面连接器,例如,108a、108a’与每个服务器片104a的后部的边上的一对连接器(未示出)相匹配。
图2是BladeCenter系统100的后部的透视图,其中相似的部件被以相似的标号标识。参考图1和图2,第二机壳202也容纳各种用于冷却、供电、管理以及交换的可以热插拔的部件。第二机壳202滑动并被闩锁入主机壳102的后部。如图1和2所示,两个可热插拔的送风器204a,204b为片系统部件提供冷却。四个可热插拔的供电模块206为服务器片和其它部件提供电源。管理模块MM1和MM2(208a、208b)是可热插拔的部件并且提供基本的管理功能,诸如控制,监视、报警、重新启动和诊断。管理模块208还提供管理共享的资源所需的其它功能,诸如,复用键盘/视频/鼠标(KVM)(未示出)以便为各个片服务器104提供本地控制台以及配置系统100和交换模块210。
管理模块208与系统100的所有关键部件通信,这些关键部件包括交换模块210、供电模块206和送风模块204以及片服务器104本身。管理模块208检测这些部件中的每一个的存在、缺失及其状态。当安装有两个管理模块时,第一模块,例如,MM1(208a),承担当前管理角色,而第二模块MM2(208b)充当备用模块。
第二机壳202还容纳多至4个交换模块SM1到SM4(210a-210d)。每个交换模块包括几个用于连接到外部网络基础设施的外部数据端口(未示出)。每个交换模块210还连接于每个片104。交换模块210的主要用途是提供服务器片(104a-104n)和外部网络基础设施之间的互连。另外还存在用于交换管理目的的到该管理模块的局域网(LAN)连接。根据应用,该外部接口可以被配置成满足各种带宽和功能要求。
图3是服务器片系统的管理子系统300的示意图,其中类似的部件使用类似的标号。参考此图,每个管理模块(208a、208b)具有到每个交换模块(210a-210d)的独立的以太网链路302。这仅仅为控制和管理的目的提供了到每个交换模块(210)的安全的高速通信路径。此外,管理模块(208a、208b)通过两个众所周知的串行I2C总线(304)和交换模块(210a-210d)连接,该总线提供了管理模块(208a、208b)和交换模块(210a-210d)之间的“带外”通信。管理模块(208)使用I2C串行总线304在内部提供交换模块(210)的控制,即,在每个交换模块(210a-210d)内配置参数。管理模块(208a,208b)还通过两个用于管理模块(208a、208b)和服务器片(104a-104n)之间的“带外”通信的串行总线(308)连接于服务器片(104a-104n)。
图4是根据本发明的优选实施例的服务器系统400的示意性方框图。出于清晰的目的,图4给出了一个管理模块402、三个片404a-404c、两个ESM406a、406b。然而应当理解,下面说明的原理可以适用于多于一个管理模块、多于三个片以及多于两个ESM。
每个片404a-404c包括几个将其连接于每个ESM406a、406b的内部端口405。因此,每个片404a-404c可以访问ESM406a、406b中的每一个。ESM406a、406b执行到每个服务器片404a-404c的以太网业务的负载平衡。在任意给定的时刻,每个服务器片404a-404c保持着多个以太网连接,每个连接代表着与一个用户的一个会话。如果片服务器,例如404a由于某种原因失效了,则所有连接都被断开并且必须重新建立/重新路由到其它服务器片404b、404c。这个过程大致要花费40秒,这将在受影响的用户的服务中产生很大的破坏。
本发明解决这个问题。每个片404a-404c包括一个监视机制412a-412c,其监视片404a-404c中的环境状态,诸如,片温度、电压和存储器错误。在本发明的优选实施例中,监视机制412a-412c基于不同的环境状态设置阈值。该阈值代表可接受的运行环境。如果任何环境状态超过(或低于)相关联的阈值,监视机制412a-412c检测该状态并向管理模块402发送警告。这样,通过监视机制412a-412c,该系统400检测潜在的片衰退迹象,并且可以在服务器片404a-404c达到灾难性的失效之前能够采取校正措施。
在本发明的优选实施例中,业务控制机制416被连接于每个片404a-404c以及每个ESM406a、406b。在一个实施例中,该业务控制机制416位于管理模块402内并且因此利用“带外”串行总线410通过在每个片中的专用的服务处理器408a-408c与每个片404a-404c通信。在另一个实施例中,该业务控制机制416是独立的模块,其连接于服务处理器408a-408c并连接于ESM406a、406b。
优选地,业务控制机制416与ESM通信以便监视片404a-404c和交换模块406a、406b之间的业务流。业务控制机制416还与每个服务处理器408a-408c通信以便确定每个服务器片404a-404c的环境的健康状态。如果服务器片(例如,404a)显示出了正在衰退的迹象,上述迹象是通过服务处理器408a在“带外”串行总线410之上进行传送的,该业务控制机制416通过连接418向每个ESM406a、406b发送消息,指示它们停止建立到正在衰退的服务器片404a的新的连接直到正在衰退的服务器片404a恢复为止。通过以这种方式限制到正在衰退的服务器片404a的新的连接,如果其衰退的环境状态是基于负载的,则该正在衰退的服务器片404a被给予了恢复的机会。在正在衰退的服务器片404a失效了的情况下,对用户的不利的影响被最小化了。
图5是表示了根据本发明的优选实施例业务控制机制416路由业务的过程的流程图。当监视机制,例如,512a检测到服务器片404a中的正在衰退的环境状态时,该过程500在步骤502处开始。该正在衰退的状态可以是任何潜在的失效的指示,包括,但是不限于,高的温度或电压的测量值、过多的存储器错误数目或是PCI/PCIX并行总线错误。所有这些状态在由服务器片404a中的监视机制412a检测出之后被服务处理器408a记录。监视机制412a优选地通过服务处理器408a和总线410向业务控制机制416发送警告。
在步骤504,业务控制机制416向每个ESM406a、406b发送消息指示它们调整到该已衰退服务器片404a的业务。在优选实施例中,每个ESM406a、406b通过从负载平衡算法中移除,即,排除该已衰退的服务器片404a,调整负载分布。结果,不为该已衰退的片404a建立新的连接。在另一个实施例中,到已衰退的服务器片404a的新的连接的数目被减少而不是完全被消除。在任一情况下,到已衰退的片404a的已存在的连接不受影响。
接着,或同时,业务控制机制416在步骤506中设置用于监视时间的定时器。该监视时间是一个时间段,在其之后业务控制机制查找来自已衰退的服务器片404a中的监视机制412a的更新。该监视时间通常在几分钟的范围内以便避免过度反应并且可以平滑掉已衰退的和未衰退的状态之间的过渡。在监视时间期间,由于减少了的业务,该衰退的服务器片404a的状态可能是稳定的。例如,该衰退的片的状态可能是由业务高峰引起的,该业务高峰产生了功率的相应的高的消耗,引起了温度峰值的产生。通过减少到衰退的片404a的业务,该状态可能稳定下来并返回到正常状态。
在步骤508,业务控制机制416在监视时间超时后检查衰退的片404a的状态。如果该衰退的片404a已经恢复,即,片404a正运行于阈值之内,在步骤512该业务控制机制416向每个ESM406a、406b发送消息以便重新调整到已恢复的服务器片404a的业务到其正常水平。在优选实施例中,ESM406a、406b中的每一个都将恢复的服务器片404a包括回负载平衡算法从而建立新的连接。如果该已衰退的片404a未能恢复(在步骤510确定),即,片404a中的正在衰退的状态持续存在或已经恶化,则业务控制机制416在步骤514复位定时器并且重复步骤508和510。
最后,如果状况没有改善,系统管理员将被报警并且该已衰退的服务器片404a将被关闭。然而,因为限制了新的连接,此时只有最少数目的连接被断开。因此,服务器片404a关闭的不利的影响被最小化了。
虽然在BladeCenter的环境中说明了本发明的优选实施例,负载平衡机制416的功能可以在任何计算机环境中实现,在该计算机环境中服务器是被紧密地连接在一起的。因此,虽然已经依据给出的实施例说明了本发明,本领域的普通技术人员将容易理解可以有各实施例的变形,且这些变形在本发明的精神和范围之内。因此,本领域的普通技术人员可以做出多种修改而不脱离所附的权利要求书的精神和范围。
权利要求
1.一种用于在服务器系统中路由业务的方法,该服务器系统包括多个服务器,所述的方法包括如下的步骤a)检测多个服务器中的一个服务器的第一状态;以及b)响应所述第一状态调整到该服务器的业务。
2.如权利要求1所述的方法,其中所述的多个服务器连接于多个交换模块。
3.如权利要求2所述的方法,其中所述调整步骤(b)进一步包括步骤(b1)向多个交换模块中的每个模块发送消息;以及(b2)响应所述的消息在多个交换模块的每个模块中从负载平衡算法中排除掉该服务器从而不会建立到该服务器的新的连接。
4.如权利要求3所述的方法,其中所述调整步骤(b)还包括(b3)保持到该服务器的已存在的连接。
5.如权利要求1所述的方法,还包括c)设置用于监视时间的定时器。
6.如权利要求5所述的方法,其中所述的第一状态是该服务器中由超出的温度或电压、过多的存储器错误数目或PCI/PCIX并行总线错误中的一个产生的正在衰退的环境状态。
7.如权利要求6所述的方法,还包括如下的步骤d)在所述的监视时间超时后检查该服务器中的所述的正在衰退的环境状态;以及e)如果该服务器恢复了,重新调整到该服务器的业务。
8.如权利要求7所述的方法,其中所述重新调整步骤(e)包括(e1)向多个交换模块中的每个模块发送另一个消息;以及(e2)响应所述的另一个消息在多个交换模块中的每个模块中将该服务器包括回负载平衡算法中,使得到该服务器的业务回到其正常水平。
9.如权利要求7所述的方法,还包括f)如果该服务器未能恢复,复位该定时器;以及g)重复步骤(d)-(f)。
10.如权利要求9所述的方法,还包括(h)向管理员发送报警。
11.如权利要求1所述的方法,其中所述的第一状态是指示潜在的服务器失效的非临界的环境状态。
12.一种计算机可读的介质,该介质包括用于在服务器系统中路由业务的程序指令,所述的服务器系统包括多个服务器,所述的指令用于a)检测多个服务器中的一个服务器的第一状态;以及b)响应所述的第一状态调整到该服务器的业务。
13.如权利要求12所述的计算机可读的介质,其中所述的多个服务器连接于多个交换模块。
14.如权利要求13所述的计算机可读的介质,其中所述的调整指令(b)还包括用于如下方面的指令(b1)向多个交换模块中的每个模块发送消息;以及(b2)响应所述的消息在多个交换模块的每个模块中从负载平衡算法中排除掉该服务器,从而不会建立到该服务器的新的连接。
15.如权利要求14所述的计算机可读的介质,其中所述调整指令(b)还包括(b3)保持到该服务器的已存在的连接。
16.如权利要求12所述的计算机可读的介质,还包括c)设置用于监视时间的定时器。
17.如权利要求16所述的计算机可读的介质,其中所述的第一状态是该服务器中由超出的温度或电压、过多的存储器错误数目或PCI/PCIX并行总线错误中的一个产生的正在衰退的环境状态。
18.如权利要求17所述的计算机可读的介质,还包括用于如下方面的指令d)在所述的监视时间超时后检查该服务器中的所述的正在衰退的环境状态;以及e)如果该服务器恢复了,重新调整到该服务器的业务。
19.如权利要求18所述的计算机可读的介质,其中所述重新调整指令(e)包括(e1)向多个交换模块中的每个模块发送另一个消息;以及(e2)响应所述的另一个消息在多个交换模块中的每个模块中将该服务器包括回负载平衡算法中,使得到该服务器的业务回到其正常水平。
20.如权利要求18所述的计算机可读的介质,还包括f)如果该服务器未能恢复,复位该定时器;以及g)重复指令(d)-(f)。
21.如权利要求20所述的计算机可读的介质,还包括(h)向管理员发送报警。
22.如权利要求12所述的计算机可读的介质,其中所述的第一状态是指示潜在的服务器失效的非临界的环境状态。
23.一种用于在服务器系统中路由业务的系统,该服务器系统包括多个服务器,所述的系统包括多个服务器中的每个服务器内的用于检测服务器中的第一状态的监视机制;与所述的多个服务器相连接的多个交换模块;以及与所述的多个服务器中的每个服务器以及多个交换模块中的每个交换模块相连接的业务控制机制,其中该业务控制机制包括用于当在服务器内检测到了所述的第一状态时,使得多个交换模块中的每个交换模块调整到该服务器的业务的装置。
24.如权利要求23所述的系统,其中所述的业务控制机制包括用于向多个交换模块中的每个交换模块发送消息的装置。
25.如权利要求24所述的系统,其中所述交换模块中的每个交换模块执行负载平衡算法,并且所述交换模块中的每个交换模块包括用于响应所述的消息将该服务器从所述的负载平衡算法中排除掉从而不会建立到该服务器的新的连接的装置。
26.如权利要求25所述的系统,其中所述交换模块中的每个交换模块还包括用于保持到该服务器的已存在的连接的装置。
27.如权利要求23所述的系统,其中业务控制机制还包括用于设置监视时间的定时装置。
28.如权利要求27所述的系统,其中所述的第一状态是在该服务器中由超出的温度或电压、过多的存储器错误数目或PCI/PCIX并行总线错误中的一个产生的正在衰退的环境状态。
29.如权利要求28所述的系统,其中业务控制机制还包括用于在所述的监视时间超时后检查所述的正在衰退的环境状态的装置;以及用于如果该服务器恢复了,则使得每一交换模块重新调整到该服务器的业务的装置。
30.如权利要求29所述的系统,其中业务控制机制还包括用于向多个交换模块中的每个交换模块发送另一个消息的装置。
31.如权利要求30所述的系统,其中每个交换模块还包括用于响应所述的另一个消息将该服务器包括回负载平衡算法中使得到该服务器的业务回到其正常水平的装置。
32.如权利要求29所述的系统,其中所述的业务控制机制还包括用于如果该服务器未能恢复则复位所述定时器的装置。
33.如权利要求32所述的系统,还包括用于向管理员发送报警的装置。
34.一种计算机系统,包括多个服务器,其中所述的多个服务器中的每个服务器包括用于检测服务器内的第一状态的监视机制;与所述的多个服务器相连接的多个交换模块;与所述的多个服务器中的每个服务器以及所述的多个交换模块中的每个交换模块相连接的管理模块;以及与所述的管理模块相连接的业务控制机制,其中当在服务器内检测到所述的第一状态时,所述的业务控制机制使得所述的多个交换模块中的每个交换模块调整到该服务器的业务。
35.如权利要求34所述的系统,其中业务控制机制包括用于向所述的多个交换模块中的每个交换模块发送消息的装置。
36.如权利要求35所述的系统,其中所述的交换模块中的每个交换模块执行负载平衡算法,并且所述的交换模块中的每个交换模块还包括用于响应所述的消息从所述的负载平衡算法中排除掉该服务器从而不会建立到该服务器的新的连接的装置。
37.如权利要求36所述的系统,其中所述的交换模块中的每个交换模块还包括用于保持到该服务器的已存在的连接的装置。
38.如权利要求34所述的系统,其中所述业务控制机制还包括用于设置监视时间的定时装置。
39.如权利要求38所述的系统,其中所述的第一状态是在该服务器中由超出的温度或电压、过多的存储器错误数目或PCI/PCIX并行总线错误中的一个产生的正在衰退的环境状态。
40.如权利要求39所述的系统,其中所述业务控制机制还包括用于在所述的监视时间超时后检查该服务器中的所述的正在衰退的环境状态的装置;以及用于如果该服务器恢复了,则使得每一交换模块重新调整到该服务器的业务的装置。
41.如权利要求40所述的系统,其中所述业务控制机制还包括用于向多个交换模块中的每个交换模块发送另一个消息的装置。
42.如权利要求41所述的系统,其中每个交换模块还包括用于响应所述的另一个消息将该服务器包括回负载平衡算法中使得到该服务器的业务回到其正常水平的装置。
43.如权利要求40所述的系统,其中所述业务控制机制还包括用于如果该服务器未能恢复则复位所述定时器的装置。
44.如权利要求43所述的系统,其中所述管理模块包括用于向管理员发送报警的装置。
全文摘要
本发明公开了一种用于在服务器系统中路由业务的方法以及一种使用该方法的计算机系统。在第一方面,该方法包括检测多个服务器中的一个服务器的第一状态并且响应所述的第一状态调整到该服务器的业务。在第二方面,一种计算机系统包括多个服务器,其中所述的多个服务器中的每个服务器包括用于检测服务器内的第一状态的监视机制;与所述的多个服务器相连接的多个交换模块;管理模块;以及与该管理模块相连接的业务控制机制,其中当在服务器内检测到了所述的第一状态时,所述的业务控制机制使得所述的多个交换模块中的每个交换模块调整到该服务器的业务。
文档编号G06F15/173GK1578254SQ20041003413
公开日2005年2月9日 申请日期2004年4月22日 优先权日2003年6月30日
发明者E·S·苏费恩, J·E·博兰 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1