一种LVS负载均衡器在云下的应用方法转让专利

申请号 : CN202010497853.6

文献号 : CN111641724B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张信杰李彦君胡章丰任秋峥

申请人 : 山东汇贸电子口岸有限公司

摘要 :

本发明公开一种LVS负载均衡器在云下的应用方法,涉及云计算虚拟服务领域;针对openstack公有云平台,通过LVS负载均衡虚拟节点进行负载均衡的配置,并转发数据包给后端服务器,通过后端服务器接收ovs流表,经过ovs流表处理对应的源IP及目的IP,修改相应的mac地址及端口,完成数据包的正确发送;利用本发明在公有云环境下无需修改后端服务器的任何配置即可实现LVS的DR模式,提高了负载均衡的效率,从而节省了运营资源,降低了运营成本。

权利要求 :

1.一种LVS负载均衡器在云下的应用方法,其特征是针对openstack公有云平台,判断是否存在LVS负载均衡虚拟节点,存在则向该LVS负载均衡虚拟节点发送创建负载均衡命令,否则创建LVS负载均衡虚拟节点,通过LVS负载均衡虚拟节点接收创建负载均衡命令,创建负载均衡的实例,并且经VIP配置到对应的网卡上,通过LVS负载均衡虚拟节点进行负载均衡的配置,通过LVS负载均衡虚拟节点接收添加后端服务器命令,将后端服务器添加到LVS管理之中,并转发数据包给后端服务器,通过后端服务器对应的宿主机接收ovs流表,经过ovs流表处理对应的源IP及目的IP,修改相应的mac地址及端口,完成数据包的正确发送,其中ovs流表处理过程:针对进入后端服务器的数据包,规则是目的IP是VIP,目的端口是后端服务器的服务端口,目的mac是后端服务器的mac,修改目的IP为后端服务器的IP;

针对后端服务器发出的数据包,规则是源IP是后端服务器IP,源端口是后端服务器的服务端口,源mac是后端服务器的mac,修改源IP为VIP。

2.一种LVS负载均衡器在云下的应用系统,其特征是包括配置模块及数据包传输模块,配置模块针对openstack公有云平台,判断是否存在LVS负载均衡虚拟节点,存在则向该LVS负载均衡虚拟节点发送创建负载均衡命令,否则创建LVS负载均衡虚拟节点,通过LVS负载均衡虚拟节点接收创建负载均衡命令,创建负载均衡的实例,并且经VIP配置到对应的网卡上,配置模块通过LVS负载均衡虚拟节点进行负载均衡的配置,通过LVS负载均衡虚拟节点接收添加后端服务器命令,将后端服务器添加到LVS管理之中,并转发数据包给后端服务器,数据包传输模块通过后端服务器接收ovs流表,经过ovs流表处理对应的源IP及目的IP,修改相应的mac地址及端口,完成数据包的正确发送,其中数据包传输模块利用ovs流表处理过程:针对进入后端服务器的数据包,规则是目的IP是VIP,目的端口是后端服务器的服务端口,目的mac是后端服务器的mac,修改目的IP为后端服务器的IP;

针对后端服务器发出的数据包,规则是源IP是后端服务器IP,源端口是后端服务器的服务端口,源mac是后端服务器的mac,修改源IP为VIP。

3.一种LVS负载均衡器在云下的应用装置,其特征是包括:至少一个存储器和至少一个处理器;

所述至少一个存储器,用于存储机器可读程序;

所述至少一个处理器,用于调用所述机器可读程序,执行权利要求1所述的一种LVS负载均衡器在云下的应用方法。

4.计算机可读介质,其特征是所述计算机可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行权利要求1所述的一种LVS负载均衡器在云下的应用方法。

说明书 :

一种LVS负载均衡器在云下的应用方法

技术领域

[0001] 本发明公开一种应用方法,涉及云计算虚拟服务领域,具体地说是一种LVS负载均衡器在云下的应用方法。

背景技术

[0002] 云计算通过对计算、网络、存储等各种物理资源的虚拟化抽象,为用户提供了极为方便的资源使用方式和灵活的资源扩展能力。负载均衡是云产品的一项基本功能,对数据包转发性能有比较高的要求,而LVS在四层转发方便,因此LVS成为云负载均衡实现的首要选择。LVS又被称作Linux虚拟服务器,是一个比较成熟的开源项目,通过ipvs模块实现功能,其主要工作于netfilter的INPUT链上。LVS具有多种工作模式如DR、NAT、FULLNAT等,其中DR数据包转发在二层,这种模式性能最好,但是DR模式需要对后端REALSERVER进行配置,如需要在后端服务器上配置VIP信息,且配置ARP相应处理等等,导致openstack公有云环境下实现LVS网负载均衡器的DR模式有很大的局限性。

发明内容

[0003] 本发明针对现有技术的问题,提供一种LVS负载均衡器在云下的应用方法,针对当前基于openstack公有云平台下LVS负载均衡器DR模式配置的局限,提出了DR模式下无需对后端服务器进行额外配置即可以使用的方法。
[0004] 本发明提出的具体方案是:
[0005] 一种LVS负载均衡器在云下的应用方法,针对openstack公有云平台,通过LVS负载均衡虚拟节点进行负载均衡的配置,并转发数据包给后端服务器,
[0006] 通过后端服务器接收ovs流表,经过ovs流表处理对应的源IP及目的IP,修改相应的mac地址及端口,完成数据包的正确发送。
[0007] 所述的一种LVS负载均衡器在云下的应用方法中判断是否存在LVS负载均衡虚拟节点,存在则向该LVS负载均衡虚拟节点发送创建负载均衡命令,否则创建LVS负载均衡虚拟节点。
[0008] 所述的一种LVS负载均衡器在云下的应用方法中通过LVS负载均衡虚拟节点接收创建负载均衡命令,创建负载均衡的实例,并且经VIP配置到对应的网卡上。
[0009] 所述的一种LVS负载均衡器在云下的应用方法中通过LVS负载均衡虚拟节点接收添加后端服务器命令,将后端服务器添加到LVS管理之中。
[0010] 所述的一种LVS负载均衡器在云下的应用方法中ovs流表处理过程:
[0011] 针对进入后端服务器的数据包,修改VIP为后端服务器的IP,目的mac为后端服务器的mac,目的端口为后端服务器的服务端口;
[0012] 针对后端服务器发出的数据包,修改后端服务器IP为VIP,源mac为后端服务器的mac,源端口为后端服务器的服务端口。
[0013] 一种LVS负载均衡器在云下的应用系统,包括配置模块及数据包传输模块,[0014] 配置模块针对openstack公有云平台,通过LVS负载均衡虚拟节点进行负载均衡的配置,并转发数据包给后端服务器,
[0015] 数据包传输模块通过后端服务器接收ovs流表,经过ovs流表处理对应的源IP及目的IP,修改相应的mac地址及端口,完成数据包的正确发送。
[0016] 一种LVS负载均衡器在云下的应用装置包括:至少一个存储器和至少一个处理器;
[0017] 所述至少一个存储器,用于存储机器可读程序;
[0018] 所述至少一个处理器,用于调用所述机器可读程序,执行所述的一种LVS负载均衡器在云下的应用方法。
[0019] 计算机可读介质,所述计算机可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行所述的一种LVS负载均衡器在云下的应用方法。
[0020] 本发明的有益之处是:
[0021] 本发明提供一种LVS负载均衡器在云下的应用方法,针对openstack公有云平台,通过LVS负载均衡虚拟节点进行负载均衡的配置,并转发数据包给后端服务器,通过后端服务器接收ovs流表,经过ovs流表处理对应的源IP及目的IP,修改相应的mac地址及端口,完成数据包的正确发送;利用本发明在公有云环境下无需修改后端服务器的任何配置即可实现LVS的DR模式,提高了负载均衡的效率,从而节省了运营资源,降低了运营成本。

附图说明

[0022] 图1是本发明方法应用示意图;
[0023] 图2是本发明方法流程示意图。

具体实施方式

[0024] OpenStack云计算平台包含两个主要模块:Nova和Swift,前者是NASA开发的虚拟服务器部署和业务计算模块;后者是Rackspace开发的分布式云存储模块,两者可以一起用,也可以分开单独用。OpenStack支持几乎所有类型的云环境,项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。
[0025] 下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定。
[0026] 本发明提供一种LVS负载均衡器在云下的应用方法,针对openstack公有云平台,通过LVS负载均衡虚拟节点进行负载均衡的配置,并转发数据包给后端服务器,
[0027] 通过后端服务器接收ovs流表,经过ovs流表处理对应的源IP及目的IP,修改相应的mac地址及端口,完成数据包的正确发送。
[0028] 上述过程中,针对openstack公有云平台,用户可在VPC空间下创建LVS负载均衡虚拟节点,在相同的VPC空间下创建后端服务器,通过LVS负载均衡虚拟节点进行负载均衡的配置并将后端服务器加入到LVS负载均衡器配置中,过LVS负载均衡虚拟节点转发数据包给后端服务器,
[0029] 通过后端服务器接收对应的宿主机下发的ovs流表,经过ovs流表处理对应的源IP及目的IP,修改相应的mac地址及端口,完成数据包的正确发送。
[0030] 利用本发明方法在公有云环境下无需修改后端服务器的任何配置即可实现LVS的DR模式,提高了负载均衡的效率,从而节省了运营资源,降低了运营成本。
[0031] 在本发明一个具体实施例中,说明了利用本发明方法在openstack公有云平台,用户可通过平台的控制台下发创建LVS负载均衡的命令,判断用户的VPC空间下是否存在LVS负载均衡虚拟节点,存在则向该LVS负载均衡虚拟节点发送创建负载均衡命令,否则创建LVS负载均衡虚拟节点,
[0032] LVS负载均衡虚拟节点接收创建负载均衡命令,于此同时负载均衡节点会创建一个负载均衡的实例以及接收用户负载均衡的配置请求,对负载均衡节点进行负载均衡的实际配置,如增加删除负载均衡实例、增加删除监听器、绑定解绑后端服务器等基本操作,并且经VIP配置到对应的网卡上,
[0033] LVS负载均衡虚拟节点接收控制台下发的添加后端服务器命令,将后端服务器添加到LVS管理之中,
[0034] 同时,控制台可向neutron发送下发流表的指令,后端服务器接收ovs流表,经过ovs流表处理对应的源IP及目的IP,修改相应的mac地址及端口,完成数据包的正确发送。
[0035] 上述实施例说明了在在openstack公有云平台,本发明方法实施的详细过程。
[0036] 在本发明另一实施例中,控制台向neutron发送下发流表的指令,添加后端服务器对应的流表,ovs流表处理过程:
[0037] 针对进入后端服务器的数据包,规则是目的IP是VIP,目的端口是后端服务器的服务端口,目的mac是后端服务器的mac,修改目的IP为后端服务器的IP;
[0038] 针对后端服务器发出的数据包,规则是源IP是后端服务器IP,源端口是后端服务器的服务端口,源mac是后端服务器的mac,修改源IP为VIP。
[0039] 然后Neutron收到控制台下发的流表指令,找到后端服务器对应的宿主机,添加对应的流表,
[0040] 用户的真实数据包到达后端服务器之前和后端服务器发出去的数据包,经过流表处理后,对应的IP会被修改,从而使数据包可以正确的到达目的地。
[0041] 上述实施例具体说明了流表处理IP、mac地址及端口的过程,使数据包的转发能够正确到达目的地,实现LVS负载均衡器的DR模式应用。
[0042] 本发明还提供一种LVS负载均衡器在云下的应用系统,包括配置模块及数据包传输模块,
[0043] 配置模块针对openstack公有云平台,通过LVS负载均衡虚拟节点进行负载均衡的配置,并转发数据包给后端服务器,
[0044] 数据包传输模块通过后端服务器接收ovs流表,经过ovs流表处理对应的源IP及目的IP,修改相应的mac地址及端口,完成数据包的正确发送。
[0045] 上述过程中,针对openstack公有云平台,用户可在VPC空间下利用本发明系统的配置模块创建LVS负载均衡虚拟节点,在相同的VPC空间下创建后端服务器,通过LVS负载均衡虚拟节点进行负载均衡的配置并将后端服务器加入到LVS负载均衡器配置中,过LVS负载均衡虚拟节点转发数据包给后端服务器,
[0046] 通过数据包传输模块使后端服务器接收对应的宿主机下发的ovs流表,经过ovs流表处理对应的源IP及目的IP,修改相应的mac地址及端口,完成数据包的正确发送。
[0047] 利用本发明系统在公有云环境下无需修改后端服务器的任何配置即可实现LVS的DR模式,提高了负载均衡的效率,从而节省了运营资源,降低了运营成本。
[0048] 在本发明系统的一个具体实施例中,说明了利用本发明系统在openstack公有云平台,用户可通过平台的控制台下发给配置模块创建LVS负载均衡的命令,判断用户的VPC空间下是否存在LVS负载均衡虚拟节点,存在则向该LVS负载均衡虚拟节点发送创建负载均衡命令,否则创建LVS负载均衡虚拟节点,
[0049] 配置模块创建的LVS负载均衡虚拟节点接收创建负载均衡命令,于此同时在负载均衡节点创建一个负载均衡的实例以及接收用户负载均衡的配置请求,对负载均衡节点进行负载均衡的实际配置,如增加删除负载均衡实例、增加删除监听器、绑定解绑后端服务器等基本操作,并且经VIP配置到对应的网卡上,
[0050] LVS负载均衡虚拟节点接收控制台下发的添加后端服务器命令,将后端服务器添加到LVS管理之中,
[0051] 同时,控制台可向neutron发送下发流表的指令,后端服务器接收ovs流表,经过ovs流表处理对应的源IP及目的IP,修改相应的mac地址及端口,完成数据包的正确发送。
[0052] 上述实施例说明了在在openstack公有云平台,本发明系统实施的详细过程。
[0053] 在本发明系统的另一实施例中,控制台向neutron发送下发流表的指令,添加后端服务器对应的流表,数据包传输模块通过ovs流表处理过程:
[0054] 针对进入后端服务器的数据包,规则是目的IP是VIP,目的端口是后端服务器的服务端口,目的mac是后端服务器的mac,修改目的IP为后端服务器的IP;
[0055] 针对后端服务器发出的数据包,规则是源IP是后端服务器IP,源端口是后端服务器的服务端口,源mac是后端服务器的mac,修改源IP为VIP。
[0056] 然后Neutron收到控制台下发的流表指令,找到后端服务器对应的宿主机,添加对应的流表,
[0057] 用户的真实数据包到达后端服务器之前和后端服务器发出去的数据包,经过流表处理后,对应的IP会被修改,从而使数据包可以正确的到达目的地。
[0058] 上述实施例具体说明了流表处理IP、mac地址及端口的过程,使数据包的转发能够正确到达目的地,实现LVS负载均衡器的DR模式应用。
[0059] 本发明还提供一种LVS负载均衡器在云下的应用装置包括:至少一个存储器和至少一个处理器;
[0060] 所述至少一个存储器,用于存储机器可读程序;
[0061] 所述至少一个处理器,用于调用所述机器可读程序,执行所述的一种LVS负载均衡器在云下的应用方法。
[0062] 以及计算机可读介质,所述计算机可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行所述的一种LVS负载均衡器在云下的应用方法。
[0063] 具体地,可以提供配有存储介质的系统或者装置,在该存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机(或CPU或MPU)读出并执行存储在存储介质中的程序代码。
[0064] 在这种情况下,从存储介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此程序代码和存储程序代码的存储介质构成了本发明的一部分。
[0065] 用于提供程序代码的存储介质实施例包括软盘、硬盘、磁光盘、光盘(如CD‑ROM、CD‑R、CD‑RW、DVD‑ROM、DVD‑RAM、DVD‑RW、DVD+RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机上下载程序代码。
[0066] 此外,应该清楚的是,不仅可以通过执行计算机所读出的程序代码,而且可以通过基于程序代码的指令使计算机上操作的操作系统等来完成部分或者全部的实际操作,从而实现上述实施例中任意一项实施例的功能。
[0067] 此外,可以理解的是,将由存储介质读出的程序代码写到插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展单元中设置的存储器中,随后基于程序代码的指令使安装在扩展板或者扩展单元上的CPU等来执行部分和全部实际操作,从而实现上述实施例中任一实施例的功能。
[0068] 需要说明的是,上述各流程和各系统结构图中不是所有的步骤和模块都是必须的,可以根据实际的需要忽略某些步骤或模块。各步骤的执行顺序不是固定的,可以根据需要进行调整。上述各实施例中描述的系统结构可以是物理结构,也可以是逻辑结构,即,有些模块可能由同一物理实体实现,或者,有些模块可能分由多个物理实体实现,或者,可以由多个独立设备中的某些部件共同实现。
[0069] 以上各实施例中,硬件单元可以通过机械方式或电气方式实现。例如,一个硬件单元可以包括永久性专用的电路或逻辑(如专门的处理器,FPGA或ASIC)来完成相应操作。硬件单元还可以包括可编程逻辑或电路(如通用处理器或其它可编程处理器),可以由软件进行临时的设置以完成相应操作。具体的实现方式(机械方式、或专用的永久性电路、或者临时设置的电路)可以基于成本和时间上的考虑来确定。
[0070] 以上所述实施例仅是为充分说明本发明而所举的较佳的实施例,本发明的保护范围不限于此。本技术领域的技术人员在本发明基础上所作的等同替代或变换,均在本发明的保护范围之内。本发明的保护范围以权利要求书为准。