一种配置服务器集群的方法和装置的制作方法

文档序号:7856981阅读:161来源:国知局
专利名称:一种配置服务器集群的方法和装置的制作方法
技术领域
本发明涉及虚拟服务器,特别涉及一种用于配置虚拟服务器集群(cluster)的方法和装置。
背景技术
虚拟服务器作为网络接入设备,负责流量的负载均衡,必须要具有高可用性和高性能。目前高可用性是通过VRRP (Virtual Router Redundancy Protocol,虚拟路由器冗余协议)心跳协议来实现的。VRRP心跳协议设计的目的是为了解决静态路由引发的单点故障问题。VRRP的核心是一个选择协议,可以把一个虚拟路由器的责任动态分配到局域网上的VRRP路由器中的一台。控制虚拟路由器IP地址的VRRP路由器称为主路由器,它负责转
发数据包到这些虚拟IP地址。一旦主路由器不可用,这种选择过程就提供了动态的故障转移机制,这就允许虚拟路由器的IP地址可以作为终端主机的默认第一跳路由器。使用VRRP的好处是有更高的默认路径的可用性,而无需在每个终端主机上配置动态路由或路由发现协议。为了使用VRRP心跳协议,虚拟服务器在配置时,使用了用户态程序Keepalived。Keepalived实现了 VRRP心跳协议,并在VRRP心跳发生变化时,负责VIP的管理。图I中示出了现有技术中虚拟服务器集群的一般配置采用两台虚拟服务器,虚拟服务器之间采用VRRP心跳协议,在选取出来的主虚拟服务器(优先级=110)上绑定虚拟IP,并对外提供服务。并且主虚拟服务器定期发出VRRP心跳,以便备虚拟服务器(优先级=90)知道主虚拟服务器仍然有效。其中,主虚拟服务器是通过VRRP心跳协议中的优先级(Priority)字段来决定的,优先级最大的成为主虚拟服务器。在主虚拟服务器的服务程序出现故障的时候,两台虚拟服务器的状态会变为如图2所示的状态备虚拟服务器监听VRRP心跳,在没有收到主虚拟服务器的心跳报文的情况下,就自动成为主虚拟服务器,接管虚拟IP,对外提供服务。然后,备虚拟服务器定期发送VRRP心跳报文。后续,当主虚拟服务器的服务恢复后,会主动抢占备虚拟服务器上的虚拟IP,重新成为主虚拟服务器,流量也就会重新回到主虚拟服务器上。通过上述过程,当一台虚拟服务器的服务出现故障的时候,另外一台虚拟服务器可以很快地接管服务,实现了高可用性。VRRP协议是一种路由选择协议,在进行路由选择时,只能有一个主路由器进行路由转发。对应到虚拟服务器使用的场景,一个虚拟IP在一段时间内只能绑定在一台虚拟服务器上,这样,就会导致如下问题(I)单个虚拟服务器成为性能瓶颈因为特定虚拟IP的流量在一定时间内只能被转发到一台虚拟服务器上,如果该虚拟IP对应的流量很大,该虚拟服务器就会成为性能瓶颈;(2)虚拟服务器集群的扩展较为复杂一般情况下,会使用两台虚拟服务器组成一个集群来提供服务,但随着业务数目和流量的增加,集群性能会遇到瓶颈,此时需要扩展虚拟服务器集群,有如下两种手段来进行扩展(a)新建一个两台虚拟服务器的集群,其问题是需要人为地在多个集群间划分业务,以进行流量均衡,如果某个业务流量变大,还需要随时进行调整,(b)增加虚拟服务器到原有集群,其问题是需要人为地为每个业务划分各台虚拟服务器的优先级,以便实现各虚拟服务器的流量均衡以及各个业务的高可用性,以三台虚拟服务器(假设分别为虚拟服务器A、虚拟服务器B、虚拟服务器C)的集群为例,假设该集群承担三项业务(业务I、业务2、业务3)。在理想配置下,业务I设置的优先级为虚拟服务器A->110,虚拟服务器B->90,虚拟服务器C->70 ;业务2设置的优先级为虚拟服务器B->110,虚拟服务器A->90,虚拟服务器C->70 ;业务3设置的优先级为虚拟服务器C_>110,虚拟服务器B->90,虚拟服务器A->70。这样,在正常工作的情况下,三个业务的流量分别落到三台虚拟服务器上。但是如果再增加一台虚拟服务器D的话,那么该虚拟服务器D上各业务的优先级设置就非常复杂和繁琐了。

发明内容
为了至少解决上述技术问题,本发明提供了一种用于配置虚拟服务器集群的方法和装置。根据本发明第一方面,提供了一种用于配置虚拟服务器集群的方法,包括在虚拟服务器集群中的多个虚拟服务器上以及在与所述多个虚拟服务器相连接的路由设备上运行动态路由协议实例;从所述多个虚拟服务器分别向所述路由设备发送相应的虚拟IP的链路信息;根据所述相应的虚拟IP的链路信息,在所述路由设备上生成用于所述多个虚拟服务器的相应的多路路由;以及通过多路路由,从所述路由设备将与虚拟IP相对应的业务流量分配到相应的虚拟服务器。优选地,在所述多路路由是多路等价路由的情况下,通过多路路由从所述路由设备将与虚拟IP相对应的业务流量分配到相应的虚拟服务器的步骤包括通过所述多路等价路由,从所述路由设备将与虚拟IP相对应的业务流量平均分配到相应的虚拟服务器。优选地,所述通过多路路由从所述路由设备将与虚拟IP相对应的业务流量分配到相应的虚拟服务器的步骤包括通过所述多路路由,从所述路由设备将与虚拟IP相对应的业务流量按照虚拟服务器的优先级分配到相应的虚拟服务器。优选地,所述方法还包括在所述从所述多个虚拟服务器分别向所述路由设备发送相应的虚拟IP的链路信息的步骤之前,将所述虚拟IP绑定到相应的虚拟服务器。优选地,所述方法还包括在所述从所述多个虚拟服务器分别向所述路由设备发送相应的虚拟IP的链路信息的步骤之前,在虚拟服务器上禁止回应针对所述虚拟IP的请求报文并且禁止源地址为所述虚拟IP的请求报文。优选地,所述方法还包括在所述根据所述相应的虚拟IP的链路信息在所述路由设备上生成用于所述多个虚拟服务器的相应的多路路由的步骤之后,并且在所述通过多路路由从所述路由设备将与虚拟IP相对应的业务流量分配到相应的虚拟服务器的步骤之
N / .
目U,对与所述多个虚拟服务器相连接的多个物理服务器进行健康检查。
优选地,在与某个虚拟服务器相连接并且与相应的虚拟IP相对应的各物理服务器中,如果健康检查失败的物理服务器的比例高于预先定义的阈值,则不将与所述虚拟IP相对应的业务流量分配到所述虚拟服务器。优选地,在与某个虚拟服务器相连接并且与相应的虚拟IP相对应的各物理服务器中,如果存在健康检查失败的物理服务器,并且健康检查失败的物理服务器的比例低于预先定义的阈值,则降低所述虚拟服务器的优先级。根据本发明第二方面,提供了一种用于配置虚拟服务器集群的装置,包括运行模块,用于在虚拟服务器集群中的多个虚拟服务器上以及在与所述多个虚拟服务器相连接的路由设备上运行动态路由协议实例;发送模块,用于从所述多个虚拟服务器分别向所述路由设备发送相应的虚拟IP的链路信息;生成模块,用于根据所述相应的虚拟IP的链路信息,在所述路由设备上生成用于所述多个虚拟服务器的相应的多路路由;以及分配模块,用于通过多路路由,从所述路由设备将与虚拟IP相对应的业务流量分配到相应的虚拟服务器。优选地,在所述多路路由是多路等价路由的情况下,所述分配模块通过所述多路等价路由,从所述路由设备将与虚拟IP相对应的业务流量平均分配到相应的虚拟服务器。优选地,所述分配模块通过所述多路路由,从所述路由设备将与虚拟IP相对应的业务流量按照虚拟服务器的优先级分配到相应的虚拟服务器。优选地,所述装置还包括绑定模块,用于在所述发送模块从所述多个虚拟服务器分别向所述路由设备发送相应的虚拟IP的链路信息之前,将所述虚拟IP绑定到相应的虚拟服务器。优选地,所述装置还包括禁止模块,用于在所述发送模块从所述多个虚拟服务器分别向所述路由设备发送相应的虚拟IP的链路信息之前,在虚拟服务器上禁止回应针对所述虚拟IP的请求报文并且禁止源地址为所述虚拟IP的请求报文。优选地,所述装置还包括健康检查模块,用于在所述生成模块根据所述相应的虚拟IP的链路信息在所述路由设备上生成用于所述多个虚拟服务器的相应的多路路由之后,并且在所述分配模块通过多路路由从所述路由设备将与虚拟IP相对应的业务流量分配到相应的虚拟服务器之前,对与所述多个虚拟服务器相连接的多个物理服务器进行健康检查。优选地,在与某个虚拟服务器相连接并且与相应的虚拟IP相对应的各物理服务器中,如果健康检查失败的物理服务器的比例高于预先定义的阈值,则所述分配模块不将与所述虚拟IP相对应的业务流量分配到所述虚拟服务器。优选地,在与某个虚拟服务器相连接并且与相应的虚拟IP相对应的各物理服务器中,如果存在健康检查失败的物理服务器,并且健康检查失败的物理服务器的比例低于预先定义的阈值,则所述分配模块降低所述虚拟服务器的优先级。本发明提供了一种用于配置虚拟服务器集群的方法和装置。本发明通过将业务虚拟IP上的流量平均或者按照虚拟服务器的优先级分配到多个虚拟服务器上,解决了单个虚拟服务器的性能瓶颈问题;同时,根据本发明的实施例,虚拟服务器集群的扩展也变得简单方便在需要对虚拟服务器集群进行扩展时,只需要增加相应数量的虚拟服务器,并且运行动态路由协议示例即可,虚拟服务器集群上的业务流量就会自动进行重新分配,平均或者按照虚拟服务器的优先级分配到所有的虚拟服务器(包括新增的虚拟服务器)上,极大地降低了运维成本。


根据以下结合附图的详细描述,本发明的以上和其它目的和特征将变得更加清楚,其中图I是现有技术中虚拟服务器集群的一般配置的示意性框图;图2是现有技术中虚拟服务器集群在住虚拟服务器出现故障时的一般配置的示意性框图;图3是根据本发明的实施例的用于配置虚拟服务器集群的方法的流程图;图4是根据本发明的实施例的示例系统配置的框图;以及图5是根据本发明的实施例的用于配置虚拟服务器集群的装置的框图。
具体实施例方式在以下的详细描述中,为了说明和示例的目的,描述若干个具体细节,以便提供对于各实施例的全面理解。然而,对于本领域普通技术人员而言,可以在没有这些具体细节的情况下实现这些实施例。在以下描述中使用的部件名称仅仅是为了容易说明,而不是为了进行任何限制。图3是根据本发明的实施例的用于配置虚拟服务器集群的方法的流程图。根据本发明,虚拟服务器可以包括基于各种操作系统的虚拟服务器,例如基于Linux的虚拟服务器、基于Unix的虚拟服务器、基于Windows的虚拟服务器、基于Mac OS的虚拟服务器等等。在下文中,将以基于Linux的虚拟服务器为例,对本发明的原理进行示例性描述,然而此描述仅仅是示例性的,本发明的范围并不限于此,本发明的原理也可以适用于基于其它操作系统的各种虚拟服务器。根据本发明的实施例,在用于配置虚拟服务器集群的方法100中,一开始,执行步骤SlOl :在虚拟服务器集群中的多个虚拟服务器上以及在与所述多个虚拟服务器相连接的路由设备上运行动态路由协议实例。根据本发明的实施例,所述动态路由协议可以包括路由信息协议(RoutingInformation Protocol, RIP)、边界网关协议(Border Gateway Protocol, BGP)、开放式最短路径优先协议(Open Shortest Path First, 0SPF)等等。在下文中,将以OSPF协议为例,对本发明的原理进行示例性表述,然而此描述仅仅是示例性的,本发明的原理同样适用于其它动态路由协议。首先,要在基于Linux的虚拟服务器集群中的多个虚拟服务器上运行OSPF协议实例。根据本发明的实施例,可以使用开源工具quagga中的zebra和ospfd组件来实现对OSPF协议的支持,其中zebra负责本地路由表的更新,而ospfd负责ospf协议的实现,并与其他运行ospfd的设备进行通信。在配置ospfd时,需要把VIP的网段放到ospfd的区域设置中。
另外,要在与所述多个虚拟服务器相连接的路由设备上运行动态路由协议实例。除此之外,还要在所述路由设备上配置等价路由。根据本发明的实施例,所述路由设备可以是路由器或交换机。根据本发明的实施例,应当将所述多个虚拟服务器的网卡配置在不同的网段,还应当保证路由器/交换机与各虚拟服务器运行的OSPF示例不处于OSPF协议定义的相同的区域内。另外,为了使各虚拟服务器与路由器/交换机能够正常地学习到邻居关系并进行通信,它们需要设置相同的区域以及验证类型。在步骤SlOl之后,执行步骤S103:从所述多个虚拟服务器分别向所述路由设备发送相应的虚拟IP的链路信息。根据本发明的实施例,在执行步骤S103之前,可以先执行步骤S1001 :将所述虚拟IP绑定到相应的虚拟服务器。为了使OSPF协议能够正常工作,需要将虚拟IP绑定到本地相应的虚拟服务器的输入输出接口上。另外,在执行步骤S103之前,还可以先执行步骤S1001’ 在虚拟服务器上禁止回
应针对所述虚拟IP的请求报文并且禁止源地址为所述虚拟IP的请求报文。举例来说,可以将虚拟服务器的所有网卡的arp_ign0re设置为1,即,禁止回应针对虚拟IP的arp请求报文,以防止arp信息对OSPF的干扰;并且可以设置虚拟服务器所有网卡的arp_ann0UCe为2,即,禁止源地址为虚拟IP的请求报文,这同样是为了防止arp信息对OSPF的干扰。在步骤S103之后,执行步骤S105 :根据所述相应的虚拟IP的链路信息,在所述路由设备上生成用于所述多个虚拟服务器的相应的多路路由。根据本发明的实施例,所述多路路由可以是多路等价路由或者非等价的多路路由。之后,执行步骤S107 :通过多路路由,从所述路由设备将与虚拟IP相对应的业务流量分配到相应的虚拟服务器。其中,在所述多路路由是多路等价路由的情况下,在步骤S107中,通过所述多路等价路由,从所述路由设备将与虚拟IP相对应的业务流量平均分配到相应的虚拟服务器。而在所述多路路由是非等价路由的情况下,则通过所述多路路由,从所述路由设备将与虚拟IP相对应的业务流量按照虚拟服务器的优先级分配到相应的虚拟服务器。例如参见图4,其中示出了根据本发明的实施例的示例系统配置的框图。如图4所示,虚拟服务器集群通过与它们相连接的路由设备向客户端提供服务。假设共有η个虚拟IP—虚拟ΙΡ_1至虚拟ΙΡ_η,虚拟服务器1、2、3与虚拟ΙΡ_1绑定,虚拟ΙΡ_1上的业务流量要分配到虚拟服务器1、2、3这3个虚拟服务器上。假设路由设备用于虚拟服务器I、2、3的多路路由并非等价路由,并且假设虚拟服务器1、2、3分别具有90、100、110的优先级。在此情况下,通过所述多路路由,从所述路由设备将与虚拟ΙΡ_1相对应的业务流量按照上述优先级分配到虚拟服务器I、2、3。此时,具有最高优先级(110)的虚拟服务器3将被分配到最多的业务流量。应当注意,上述系统配置和各虚拟服务器优先级的设置仅仅是示例,本领域技术人员能够理解本发明的原理同样适用于其它系统配置和优先级设置。根据本发明的实施例,在上述步骤S105之后、步骤S107之前,还可以执行步骤S106 :对与所述多个虚拟服务器相连接的多个物理服务器进行健康检查。其中,在与某个虚拟服务器相连接并且与相应的虚拟IP相对应的各物理服务器中,如果健康检查失败的物理服务器的比例高于预先定义的阈值,则不将与所述虚拟IP相对应的业务流量分配到所述虚拟服务器。
可选地,在基于Linux的虚拟服务器中,对于物理服务器的健康检查是通过程序keepalived实现的,为了实现上述功能,需要修改keepalived程序在某个虚拟IP对应的物理服务器健康检查失败的比例高于预先定义的阈值时,调用ip命令删除所绑定的虚拟IP0仍以图4中的系统配置为例,假设虚拟服务器I后端包括三个物理服务器物理服务器a、b、c。假设在健康检查中,物理服务器a和b健康检查失败,而物理服务器c健康检查成功,假定上述预先定义的阈值为60%,那么健康检查失败的物理服务器的比例高于预先定义的阈值,路由设备就不再将与虚拟IP_1相对应的业务流量分配到虚拟服务器I。根据本发明的实施例,在与某个虚拟服务器相连接并且与相应的虚拟IP相对应的各物理服务器中,如果存在健康检查失败的物理服务器,并且健康检查失败的物理服务器的比例低于预先定义的阈值,则降低所述虚拟服务器的优先级。仍以图4中的系统配置为例,如果在健康检查中,物理服务器a健康检查失败,而物理服务器b和c健康检查成功,仍假定上述预先定义的阈值为60%,此时健康检查失败的物理服务器的比例低于预先定义的阈值,此时可以降低虚拟服务器I的优先级,从而减少分配给虚拟服务器I的虚拟IP_1的业务流量。本发明提供了一种用于配置虚拟服务器集群的方法。本发明通过将业务虚拟IP上的流量平均或者按照虚拟服务器的优先级分配到多个虚拟服务器上,解决了单个虚拟服务器的性能瓶颈问题;同时,根据本发明的实施例,虚拟服务器集群的扩展也变得简单方便在需要对虚拟服务器集群进行扩展时,只需要增加相应数量的虚拟服务器,并且运行动态路由协议示例即可,虚拟服务器集群上的业务流量就会自动进行重新分配,平均或者按照虚拟服务器的优先级分配到所有的虚拟服务器(包括新增的虚拟服务器)上,极大地降低了运维成本。与上述的方法100相对应,本发明还提供了一种用于配置虚拟服务器集群的装置200,参见图5,该装置200包括运行模块201,用于在虚拟服务器集群中的多个虚拟服务器上以及在与所述多个虚拟服务器相连接的路由设备上运行动态路由协议实例,该运行模块201可以用于执行上述方法100中的步骤SlOl ;发送模块203,用于从所述多个虚拟服务器分别向所述路由设备发送相应的虚拟IP的链路信息,该发送模块203可以用于执行上述方法100中的步骤S103 ;生成模块205,用于根据所述相应的虚拟IP的链路信息,在所述路由设备上生成用于所述多个虚拟服务器的相应的多路路由,该生成模块205可以用于执行上述方法100中的步骤S105 ;以及分配模块207,用于通过多路路由,从所述路由设备将与虚拟IP相对应的业务流量分配到相应的虚拟服务器,该分配模块207可以用于执行上述方法100中的步骤S107。在本发明的优选实施例中,在所述多路路由是多路等价路由的情况下,所述分配模块207通过所述多路等价路由,从所述路由设备将与虚拟IP相对应的业务流量平均分配到相应的虚拟服务器。在本发明的优选实施例中,所述分配模块207通过所述多路路由,从所述路由设备将与虚拟IP相对应的业务流量按照虚拟服务器的优先级分配到相应的虚拟服务器。
在本发明的优选实施例中,所述装置200还包括绑定模块2001,用于在所述发送模块203从所述多个虚拟服务器分别向所述路由设备发送相应的虚拟IP的链路信息之前,将所述虚拟IP绑定到相应的虚拟服务器,该绑定模块2001可以用于执行上述方法100中的步骤S1001。在本发明的优选实施例中,所述装置200还包括禁止模块2001’,用于在所述发送模块203从所述多个虚拟服务器分别向所述路由设备发送相应的虚拟IP的链路信息之前,在虚拟服务器上禁止回应针对所述虚拟IP的请求报文并且禁止源地址为所述虚拟IP的请求报文,该禁止模块20 01’可以用于执行上述方法100中的步骤S1001’。在本发明的优选实施例中,所述装置200还包括健康检查模块206,用于在所述生成模块205根据所述相应的虚拟IP的链路信息在所述路由设备上生成用于所述多个虚拟服务器的相应的多路路由之后,并且在所述分配模块207通过多路路由从所述路由设备将与虚拟IP相对应的业务流量分配到相应的虚拟服务器之前,对与所述多个虚拟服务器相连接的多个物理服务器进行健康检查,该健康检查模块206可以用于执行上述方法100中的步骤S106。在本发明的优选实施例中,在与某个虚拟服务器相连接并且与相应的虚拟IP相对应的各物理服务器中,如果健康检查失败的物理服务器的比例高于预先定义的阈值,则所述分配模块207不将与所述虚拟IP相对应的业务流量分配到所述虚拟服务器。在本发明的优选实施例中,在与某个虚拟服务器相连接并且与相应的虚拟IP相对应的各物理服务器中,如果存在健康检查失败的物理服务器,并且健康检查失败的物理服务器的比例低于预先定义的阈值,则所述分配模块207降低所述虚拟服务器的优先级。由于上述各装置实施例与前述各方法实施例相对应,因此不再对各装置实施例进行详细描述。本发明可以以任何适当的形式实现,包括硬件、软件、固件或者它们的任意组合。可选地,本发明可以至少部分地实现为运行在一个或多个处理器和/或数字信号处理器上的计算机软件。本发明的实施例的装置和模块可以在物理上、功能上和逻辑上以任何适当的方式实现。根据本发明的各个功能可以在单个单元中、在多个单元中或者作为其他功能单元的一部分来实现。同样地,本发明可以在单个单元中实现,或者可以在物理上和功能上分布在不同单元和处理器之间。尽管已经结合一些实施例描述了本发明,但是本发明并不意在限于本文阐述的特定形式。相反地,本发明的范围仅由所附权利要求书限定。此外,尽管特征可能看起来是结合特定实施例而被描述的,但是本领域普通技术人员应当认识到,依照本发明可以组合所描述的实施例的各种特征。在权利要求书中,措词“包括”并不排除其他模块或步骤的存在。此外,尽管单独被列出,但是多个模块或方法步骤可以由例如单个单元或处理器实现。此外,尽管单独的特征可能包含在不同的权利要求中,但是这些特征可能地可以有利地加以组合,并且包含在不同的权利要求中并不意味着特征的组合是不可行的。此外,特征包含于一种权利要求类别(例如方法权利要求)中并不意味着限于该类别,而是表示该特征同样可适当地应用于其他权利要求类别(例如装置权利要求)。此外,权利要求中特征的顺序并不意味着必须的任何特定顺序。并且,方法权利要求中各步骤的顺序并不意味着这些步骤必须按照该顺序来执行。相反地,这些步骤可以以任何适当的顺序执行。此外,单数形式的表述并没有排除复数。因此,对于“一”、“一个”、“第一”、“第二”等等的引用并没有排除
复数。权利要求中的附图标记仅仅是标号,而不应当将其视为对权利要求的范围的限制。
权利要求
1.一种用于配置虚拟服务器集群的方法(100),包括 在虚拟服务器集群中的多个虚拟服务器上以及在与所述多个虚拟服务器相连接的路由设备上运行动态路由协议实例(SlOl); 从所述多个虚拟服务器分别向所述路由设备发送相应的虚拟IP的链路信息(S103); 根据所述相应的虚拟IP的链路信息,在所述路由设备上生成用于所述多个虚拟服务器的相应的多路路由(S105);以及 通过多路路由,从所述路由设备将与虚拟IP相对应的业务流量分配到相应的虚拟服务器(S107)。
2.如权利要求I所述的方法,其中在所述多路路由是多路等价路由的情况下,通过多路路由从所述路由设备将与虚拟IP相对应的业务流量分配到相应的虚拟服务器(S107)的步骤包括通过所述多路等价路由,从所述路由设备将与虚拟IP相对应的业务流量平均分配到相应的虚拟服务器。
3.如权利要求I所述的方法,所述通过多路路由从所述路由设备将与虚拟IP相对应的业务流量分配到相应的虚拟服务器(S107)的步骤包括通过所述多路路由,从所述路由设备将与虚拟IP相对应的业务流量按照虚拟服务器的优先级分配到相应的虚拟服务器。
4.如权利要求1-3中任一项所述的方法,还包括在所述从所述多个虚拟服务器分别向所述路由设备发送相应的虚拟IP的链路信息(S103)的步骤之前,将所述虚拟IP绑定到相应的虚拟服务器(S1001)。
5.如权利要求1-3中任一项所述的方法,还包括在所述从所述多个虚拟服务器分别向所述路由设备发送相应的虚拟IP的链路信息(S103)的步骤之前,在虚拟服务器上禁止回应针对所述虚拟IP的请求报文并且禁止源地址为所述虚拟IP的请求报文(S1001’)。
6.如权利要求1-3中任一项所述的方法,还包括 在所述根据所述相应的虚拟IP的链路信息在所述路由设备上生成用于所述多个虚拟服务器的相应的多路路由(S105)的步骤之后,并且在所述通过多路路由从所述路由设备将与虚拟IP相对应的业务流量分配到相应的虚拟服务器(S107)的步骤之前, 对与所述多个虚拟服务器相连接的多个物理服务器进行健康检查(S106)。
7.如权利要求6所述的方法,其中在与某个虚拟服务器相连接并且与相应的虚拟IP相对应的各物理服务器中,如果健康检查失败的物理服务器的比例高于预先定义的阈值,则不将与所述虚拟IP相对应的业务流量分配到所述虚拟服务器。
8.如权利要求6所述的方法,其中在与某个虚拟服务器相连接并且与相应的虚拟IP相对应的各物理服务器中,如果存在健康检查失败的物理服务器,并且健康检查失败的物理服务器的比例低于预先定义的阈值,则降低所述虚拟服务器的优先级。
9.一种用于配置虚拟服务器集群的装置(200),包括 运行模块(201),用于在虚拟服务器集群中的多个虚拟服务器上以及在与所述多个虚拟服务器相连接的路由设备上运行动态路由协议实例; 发送模块(203),用于从所述多个虚拟服务器分别向所述路由设备发送相应的虚拟IP的链路信息; 生成模块(205),用于根据所述相应的虚拟IP的链路信息,在所述路由设备上生成用于所述多个虚拟服务器的相应的多路路由;以及分配模块(207),用于通过多路路由,从所述路由设备将与虚拟IP相对应的业务流量分配到相应的虚拟服务器。
10.如权利要求9所述的装置,其中在所述多路路由是多路等价路由的情况下,所述分配模块(207)通过所述多路等价路由,从所述路由设备将与虚拟IP相对应的业务流量平均分配到相应的虚拟服务器。
11.如权利要求9所述的装置,所述分配模块(207)通过所述多路路由,从所述路由设备将与虚拟IP相对应的业务流量按照虚拟服务器的优先级分配到相应的虚拟服务器。
12.如权利要求9-11中任一项所述的装置,还包括绑定模块(2001),用于在所述发送模块(203)从所述多个虚拟服务器分别向所述路由设备发送相应的虚拟IP的链路信息之前,将所述虚拟IP绑定到相应的虚拟服务器。
13.如权利要求9-11中任一项所述的装置,还包括禁止模块(2001’),用于在所述发送模块(203)从所述多个虚拟服务器分别向所述路由设备发送相应的虚拟IP的链路信息之前,在虚拟服务器上禁止回应针对所述虚拟IP的请求报文并且禁止源地址为所述虚拟IP的请求报文。
14.如权利要求9-11中任一项所述的装置,还包括 健康检查模块(206),用于在所述生成模块(205)根据所述相应的虚拟IP的链路信息在所述路由设备上生成用于所述多个虚拟服务器的相应的多路路由之后,并且在所述分配模块(207)通过多路路由从所述路由设备将与虚拟IP相对应的业务流量分配到相应的虚拟服务器之前,对与所述多个虚拟服务器相连接的多个物理服务器进行健康检查。
15.如权利要求14所述的装置,其中在与某个虚拟服务器相连接并且与相应的虚拟IP相对应的各物理服务器中,如果健康检查失败的物理服务器的比例高于预先定义的阈值,则所述分配模块(207)不将与所述虚拟IP相对应的业务流量分配到所述虚拟服务器。
16.如权利要求14所述的装置,其中在与某个虚拟服务器相连接并且与相应的虚拟IP相对应的各物理服务器中,如果存在健康检查失败的物理服务器,并且健康检查失败的物理服务器的比例低于预先定义的阈值,则所述分配模块(207)降低所述虚拟服务器的优先级。
全文摘要
本发明的实施例提供了一种用于配置服务器集群的方法和装置。所述方法包括在虚拟服务器集群中的多个虚拟服务器上以及在与所述多个虚拟服务器相连接的路由设备上运行动态路由协议实例;从所述多个虚拟服务器分别向所述路由设备发送相应的虚拟IP的链路信息;根据所述相应的虚拟IP的链路信息,在所述路由设备上生成用于所述多个虚拟服务器的相应的多路路由;以及通过多路路由,从所述路由设备将与虚拟IP相对应的业务流量分配到相应的虚拟服务器。本发明解决了单个虚拟服务器的性能瓶颈问题,并且使得虚拟服务器集群的扩展也变得简单方便,极大地降低了运维成本。
文档编号H04L29/06GK102821044SQ201210265130
公开日2012年12月12日 申请日期2012年7月27日 优先权日2012年7月27日
发明者陈建 申请人:北京奇虎科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1