Linux虚拟服务器LVS自动化运维方法及运维系统与流程

文档序号:12595683阅读:170来源:国知局
Linux虚拟服务器LVS自动化运维方法及运维系统与流程

本发明属于通信领域,特别是涉及一种Linux虚拟服务器LVS自动化运维方法及Linux虚拟服务器运维系统。



背景技术:

随着因特网规模的不断增长,用户对系统反应时间的迅速高效及服务的不间断的要求越来越强烈,不希望访问网站的时候出现系统故障,频繁看到“请求超时”或者“服务器繁忙”。网络各个单一核心设备根本上也是无法承担因数据流量、业务量和访问量的快速增长,而产生处理能力和计算强度的相应快速增大。在这种情况下,若购买新设备做大量的硬件升级而不使用现有设备利用现有资源,则将必是一种对现有资源的极度浪费。设备的性能无论多卓越,也必然无法满足一次次的业务量提升,硬件的一次次升级成本的一次次高额投入也将是永无止境的资源浪费,造成原有系统扩展成本太高,甚至演变成不可扩展的系统,需要推倒重来的困境。

专利文献CN106095526A公开的一种虚拟服务器集群的部署系统包括:控制设备以及至少一个待部署的虚拟服务器集群,所述虚拟服务器集群包括至少两台服务器;所述控制设备,用于获取待部署的虚拟服务器集群的待配置参数;获取预置的配置脚本;将所述待配置参数以及所述配置脚本发送给所述虚拟服务器集群中的服务器;向所述虚拟服务器集群中的服务器发送配置指令;所述服务器,用于在接收到所述配置指令时,执行所述配置脚本,配置所述待配置参数。该专利提高了部署虚拟服务器集群的效率,但该专利无法针对数据写入,更新,删除请求和占绝大多数访问的查询请求进行分别处理,不能解决数据查询能力的可扩展性,无法防止自身的单点故障导致整个虚拟服务器无法提供服务,不具备高可用性,扩展灵活性,低扩展成本。

现有关于本发明所要解决的技术问题,其具体需求如下:针对写入,更新,删除请求和占绝大多数访问的查询请求进行分别处理,解决数据查询能力的可扩展性,防止自身的单点故障导致整个集群无法提供服务,具备高可用性,扩展灵活性,低扩展成本。

在背景技术部分中公开的上述信息仅仅用于增强对本发明背景的理解,因此可能包含不构成在本国中本领域普通技术人员公知的现有技术的信息。



技术实现要素:

本发明的目的是通过以下技术方案予以实现。

根据本发明的一方面,一种Linux虚拟服务器LVS自动化运维方法包括以下步骤:

在第一步骤中,Linux虚拟服务器包括一个用于写入的主服务器和多个用于查询的从服务器,用户通过HTTP请求访问Linux虚拟服务器。

在第二步骤中,当web访问为写入、更新或删除请求时,所述主服务器响应该请求,当web访问为查询请求时,包括主LVS和从LVS的负载均衡器接收到查询请求后,按设置的权重比将所述查询请求分发到任意一台从服务器。

在第三步骤中,Keepalived模块监测从服务器是否可用,自动把存在问题的从服务器踢出集群,并按照预定的权重分配查询任务。

在第四步骤中,接收所述查询任务的从服务器查询并将查询结果返回给用户。

优选地,在第三步骤中,Keepalived模块监测主LVS是否可用,然后Keepalived模块中的调度器根据各个从服务器的负载情况动态地选择一台从服务器,将请求报文的数据帧的目标MAC地址改为所述从服务器的MAC地址。

优选地,在第三步骤中,所述从服务器接收到请求时,目标IP为所述虚拟IP地址,然后所述从服务器响应请求,之后根据其路由信息将响应的数据包发送回给用户,并且源IP地址为虚拟IP地址。

优选地,在第二步骤中,负载均衡器为DNS混合负载均衡器、VS/TUN或VS/DR。

优选地,在第三步骤中,当存在问题的从服务器工作正常后,Keepalived模块自动将其加入到Linux虚拟服务器。

优选地,多个用于查询的从服务器实时同步所述主服务器。

优选地,在第三步骤中,所述从服务器为云端服务器。

根据本发明的另一方面,一种实施所述的Linux虚拟服务器LVS自动化运维方法的Linux虚拟服务器运维系统包括服务器群、负载均衡器、Keepalived模块、执行命令的处理器和存储命令的存储器,所述服务器群包括主服务器和多个从服务器,负载均衡器包括主LVS和从LVS。

优选地,所述处理器是通用处理器、数字信号处理器、专用集成电路ASIC,现场可编程门阵列FPGA、模拟电路或数字电路。

优选地,所述存储器包括一个或多个只读存储器ROM、随机存取存储器RAM、快闪存储器或电子可擦除可编程只读存储器EEPROM。

上述说明仅是本发明技术方案的概述,为了能够使得本发明的技术手段更加清楚明白,达到本领域技术人员可依照说明书的内容予以实施的程度,并且为了能够让本发明的上述和其它目的、特征和优点能够更明显易懂,下面以本发明的具体实施方式进行举例说明。

附图说明

通过阅读下文优选的具体实施方式中的详细描述,本发明各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。说明书附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。显而易见地,下面描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。而且在整个附图中,用相同的附图标记表示相同的部件。

在附图中:

图1是根据本发明一个实施例的Linux虚拟服务器LVS自动化运维方法的步骤示意图;

图2是根据本发明一个实施例的实施Linux虚拟服务器LVS自动化运维方法的逻辑流程图;

图3是根据本发明一个实施例的实施Linux虚拟服务器LVS自动化运维方法的工作流程图。

图4是根据本发明一个实施例的实施Linux虚拟服务器LVS自动化运维方法的Linux虚拟服务器运维系统的结构示意图。

图5是根据本发明一个实施例的实施Linux虚拟服务器LVS自动化运维方法的Linux虚拟服务器运维系统的网络拓扑图。

以下结合附图和实施例对本发明作进一步的解释。

具体实施方式

下面将参照附图更详细地描述本发明的具体实施例。虽然附图中显示了本发明的具体实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。

需要说明的是,在说明书及权利要求当中使用了某些词汇来指称特定组件。本领域技术人员应可以理解,技术人员可能会用不同名词来称呼同一个组件。本说明书及权利要求并不以名词的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的准则。如在通篇说明书及权利要求当中所提及的“包含”或“包括”为一开放式用语,故应解释成“包含但不限定于”。说明书后续描述为实施本发明的较佳实施方式,然所述描述乃以说明书的一般原则为目的,并非用以限定本发明的范围。本发明的保护范围当视所附权利要求所界定者为准。

为便于对本发明实施例的理解,下面将结合附图以几个具体实施例为例做进一步的解释说明,且各个附图并不构成对本发明实施例的限定。

图1为本发明的一个实施例的Linux虚拟服务器LVS自动化运维方法的步骤示意图,本发明实施例将结合图1进行具体说明。

如图1所示,一种Linux虚拟服务器LVS自动化运维方法包括以下步骤:

在第一步骤S1中,Linux虚拟服务器包括一个用于写入的主服务器和多个用于查询的从服务器,用户通过HTTP请求访问Linux虚拟服务器。

在第二步骤S2中,当web访问为写入、更新或删除请求时,所述主服务器响应该请求,当web访问为查询请求时,包括主LVS和从LVS的负载均衡器LVS接收到查询请求后,按设置的权重比将所述查询请求分发到任意一台从服务器。

在第三步骤S3中,Keepalived模块监测从服务器是否可用,自动把存在问题的从服务器踢出集群,并按照预定的权重分配查询任务。

在第四步骤S4中,接收所述查询任务的从服务器查询并将查询结果返回给用户。

在一个实施例中,在第三步骤S3中,Keepalived模块监测主LVS是否可用,然后Keepalived模块中的调度器根据各个从服务器的负载情况动态地选择一台从服务器,将请求报文的数据帧的目标MAC地址改为所述从服务器的MAC地址。

在一个实施例中,在第三步骤S3中,所述从服务器接收到请求时,目标IP为所述虚拟IP地址VIP,然后所述从服务器响应请求,之后根据其路由信息将响应的数据包发送回给用户,并且源IP地址为虚拟IP地址VIP。

在一个实施例中,在第二步骤S2中,负载均衡器LVS为DNS混合负载均衡器、VS/TUN或VS/DR。

在一个实施例中,在第三步骤S3中,当存在问题的从服务器工作正常后,Keepalived模块自动将其加入到Linux虚拟服务器。

在一个实施例中,多个用于查询的从服务器实时同步所述主服务器。

在一个实施例中,在第三步骤S3中,所述从服务器为云端服务器。

图2是根据本发明一个实施例的实施Linux虚拟服务器LVS自动化运维方法的逻辑流程图,步骤1:用户的访问通过dns域名解释到我们的vip上,通过keepalived模块的健康监测判断主lvs是否健康状态,如果主lvs是健康状态就把用户访问交给主lvs来分配到如后端web服务器的从服务器,如果主lvs不是健康状态就把用户访问转移到备用lvs上来分配到后端的web服务器。步骤2:无论是主lvs还是后备lvs接到用户的访问请求后,都会对后端的web服务器做健康监测,自动把有问题的web服务器踢出集群,按照keepalived设置的权重分配连接。

图3是根据本发明一个实施例的实施Linux虚拟服务器LVS自动化运维方法的工作流程图。如图3所示,在一个实施例中,将报文直接路由给目标真实服务器。在DR模式中,首先利用keepalived模块的健康监测机制监测主的lvs是否健康作出lvs的高可用性,然后通过keepalived模块的调度器根据各个真实服务器的负载情况,连接数多少等,动态地选择一台服务器,不修改目标IP地址和目标端口,也不封装IP报文,而是将请求报文的数据帧的目标MAC地址改为真实服务器的MAC地址。然后再将修改的数据帧在服务器组的局域网上发送。因为数据帧的MAC地址是真实服务器的MAC地址,并且又在同一个局域网。那么根据局域网的通讯原理,真实复位是一定能够收到由LVS+KEEPALIVED发出的数据包。真实服务器接收到请求数据包的时候,解开IP包头查看到的目标IP是VIP。此时只有自己的IP符合目标IP才会接收进来,所以我们需要在本地的回环借口上面配置VIP。另:由于网络接口都会进行ARP广播响应,但集群的其他机器都有这个VIP的lo接口,都响应就会冲突。所以我们需要把真实服务器的lo接口的ARP响应关闭掉。然后真实服务器做成请求响应,之后根据自己的路由信息将这个响应数据包发送回给客户,并且源IP地址还是VIP。

数据流的整个流程如下:

1、通过在调度器LVS+KEEPALIVED上修改数据包的目的MAC地址实现转发。注意源地址仍然是CIP,目的地址仍然是VIP地址。

2、请求的报文经过调度器,而RS响应处理后的报文无需经过调度器LVS+KEEPALIVED,因此并发访问量大时使用效率很高。

3、因为DR模式是通过MAC地址改写机制实现转发,因此所有RS节点和调度器LVS+KEEPALIVED只能在一个局域网里面。

4、RS主机需要绑定VIP地址在LO接口上,并且需要配置ARP抑制。

5、RS节点的默认网关不需要配置成LVS+KEEPALIVED,而是直接配置为上级路由的网关,能让RS直接出网就可以。

6、由于DR模式的调度器仅做MAC地址的改写,所以调度器LVS+KEEPALIVED就不能改写目标端口,那么RS服务器就得使用和VIP相同的端口提供服务。

图4是根据本发明一个实施例的实施Linux虚拟服务器LVS自动化运维方法的Linux虚拟服务器运维系统的结构示意图。运维系统包括服务器群1、负载均衡器LVS、Keepalived模块2、执行命令的处理器7、用于通信的通信总线和存储命令的存储器8,其特征在于:所述服务器群1包括主服务器3和多个从服务器4,负载均衡器LVS包括主LVS5和从LVS6。

一个实施例中,所述处理器是通用处理器、数字信号处理器、专用集成电路ASIC,现场可编程门阵列FPGA、模拟电路或数字电路。

一个实施例中,所述存储器包括一个或多个只读存储器ROM、随机存取存储器RAM、快闪存储器或电子可擦除可编程只读存储器EEPROM。

为了进一步理解本发明,图5是根据本发明一个实施例的实施Linux虚拟服务器LVS自动化运维方法的Linux虚拟服务器运维系统的网络拓扑图。如图5所示,用户发出查询请求,负载均衡层包括负载均衡器LVS和Keepalived模块2,负载均衡层还可以包括备份的负载均衡器LVS和Keepalived模块2,负载均衡层通过交换机将查询请求连接到从服务器。

本发明首先解决了多台主服务器的数据写入,更新,删除,查询和数据的一致性问题。其次解决了数据查询能力的可扩展性,同时为了防止LVS负载均衡器自身的单点故障导致整个“mysql-查询”集群无法提供服务,因此还得利用Keepalived模块实现LVS负载均衡器的高可用性,负载均衡能够充分的利用现有的网络结构,在网络结构的基础之上扩展“mysql-查询”集群的带宽和网络设备、加强数据查询的可用性及快速性、提高数据查询处理能力,从而提供了一种廉价有效透明的方法,使mysql-查询集群具有高可用性,扩展灵活性,扩展成本低等特点。

尽管以上结合附图对本发明的实施方案进行了描述,但本发明并不局限于上述的具体实施方案和应用领域,上述的具体实施方案仅仅是示意性的、指导性的,而不是限制性的。本领域的普通技术人员在本说明书的启示下和在不脱离本发明权利要求所保护的范围的情况下,还可以做出很多种的形式,这些均属于本发明保护之列。

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