一种多网卡绑定配置方法及系统与流程

文档序号:16323118发布日期:2018-12-19 05:47阅读:266来源:国知局
一种多网卡绑定配置方法及系统与流程

本发明涉及计算机技术领域,特别涉及一种多网卡绑定配置方法及系统。

背景技术

多网卡绑定技术是将多块网卡绑定同一服务器的ip地址,并以该ip地址对外提供服务,由此可实现网卡的带宽扩容、高可用或者负载均衡能力。

目前,主要通过人工方式对云计算系统中的服务器进行多网卡绑定,即工作人员预先确定网卡绑定分组中的网卡名称与服务器ip地址中的对应关系,再逐个登录云计算系统中的服务器,根据该服务器对应的网卡名称,对其网络信息进行重新配置。

由于云计算系统中的服务器数量较多,采用上述人工方式进行多网卡绑定的效率较低。



技术实现要素:

本发明实施例提供了一种多网卡绑定配置方法及系统,能提高多网卡绑定的效率。

第一方面,本发明实施例提供了一种多网卡绑定配置方法,包括:

采集至少一个待绑定服务器的当前网络信息,以及每一个所述待绑定服务器的属性信息;

根据每一个所述当前网络信息以及所述属性信息,确定所述至少一个待绑定服务器对应的网络配置信息;

根据所述属性信息,将所述网络配置信息发送给对应的每一个所述待绑定服务器;

针对每一个所述待绑定服务器,执行:根据所述网络配置信息,对所述待绑定服务器进行绑定配置。

优选地,

所述根据所述当前网络信息以及所述属性信息,确定所述至少一个待绑定服务器对应的网络配置信息,包括:

根据每一个所述当前网络信息中的vlan信息和所述属性信息,将所述至少一个待绑定服务器分成至少一个绑定组;其中,每一个所述绑定组中的各个所述待绑定服务器的vlan信息相同;

根据每一个所述绑定组对应的vlan信息,确定每一个所述绑定组对应的所述网络配置信息。

优选地,

所述根据每一个所述绑定组对应的vlan信息,确定每一个所述绑定组对应的所述网络配置信息,包括:

针对每一个所述绑定组,均执行:

根据所述vlan信息,确定所述绑定组对应的网段信息,以及所述网段信息对应的至少一个ip地址;

所述根据所述网络配置信息,对所述待绑定服务器进行网卡绑定配置,包括:

根据所述网段信息对应的所述至少一个ip地址,为每一个所述待绑定服务器分配目标ip地址;

根据所述网段信息,对每一个所述待绑定服务器的当前网络信息进行更改。

优选地,

当所述绑定组中的所述待绑定服务器的数量为至少两个时,

所述根据所述网段信息对应的所述至少一个ip地址,为每一个所述待绑定服务器分配目标ip地址,包括:

循环执行以下步骤,直至各个所述待绑定服务器均分配有所述目标ip地址;

a1:从所述绑定组中未分配的待绑定服务器中选择出当前服务器;

a2:从所述至少一个ip地址中选择一个未被分配的ip地址作为所述目标ip地址;

a3:将所述目标ip地址分配给所述当前服务器,并执行a1;

优选地,

当所述绑定组中的所述待绑定服务器的数量为至少两个时,

在所述根据所述网段信息对应的所述至少一个ip地址,为每一个所述待绑定服务器分配目标ip地址之后,在所述根据所述网段信息,对每一个所述待绑定服务器的当前网络信息进行更改之前,进一步包括:

根据以下公式,计算每两个所述待绑定服务器分别对应的两个目标ip地址之间的差异值;当所述差异值不为0时,执行所述根据所述网段信息,对每一个所述待绑定服务器的当前网络信息进行更改;

其中,s表征所述差异值,a表征所述目标ip地址的字符串长度,m表征所述两个目标ip地址中第一目标ip地址对应的二进制ascii值,n表征所述两个目标ip地址中第二目标ip地址对应的二进制ascii值。

优选地,

在所述根据所述网络配置信息,对所述待绑定服务器进行网卡绑定配置之后,进一步包括:

针对每一个所述待绑定服务器,均执行:

确定所述待绑定服务器的网卡对应的网络状态;

确定所述网络状态是否为连通状态,如果是,确定所述待绑定服务器中的因特网包探索器是否处于连通状态,如果是,确定网卡绑定配置后的所述待绑定服务器处于网络连通状态。

第二方面,本发明实施例提供了一种多网卡绑定配置系统,包括:采集模块、确定模块和配置模块;其中,

所述采集模块,用于采集至少一个待绑定服务器的当前网络信息,以及每一个所述待绑定服务器的属性信息;

所述确定模块,用于根据每一个所述当前网络信息以及所述属性信息,确定所述至少一个待绑定服务器对应的网络配置信息;

所述配置模块,用于根据所述属性信息,将所述网络配置信息发送给对应的每一个所述待绑定服务器;并针对每一个所述待绑定服务器,执行:根据所述网络配置信息,对所述待绑定服务器进行绑定配置。

优选地,

所述确定模块,用于根据每一个所述当前网络信息中的vlan信息和所述属性信息,将所述至少一个待绑定服务器分成至少一个绑定组;其中,每一个所述绑定组中的各个所述待绑定服务器的vlan信息相同;根据每一个所述绑定组对应的vlan信息,确定每一个所述绑定组对应的所述网络配置信息。

优选地,

所述确定模块,用于针对每一个所述绑定组,均执行:根据所述vlan信息,确定所述绑定组对应的网段信息,以及所述网段信息对应的至少一个ip地址;

所述配置模块,用于根据所述网段信息对应的所述至少一个ip地址,为每一个所述待绑定服务器分配目标ip地址,并根据所述网段信息,对每一个所述待绑定服务器的当前网络信息进行更改。

优选地,

所述配置模块,用于当所述绑定组中的所述待绑定服务器的数量为至少两个时,循环执行以下步骤,直至各个所述待绑定服务器均分配有所述目标ip地址;a1:从所述绑定组中未分配的待绑定服务器中选择出当前服务器;a2:从所述至少一个ip地址中选择一个未被分配的ip地址作为所述目标ip地址;a3:将所述目标ip地址分配给所述当前服务器,并执行a1;

优选地,

所述配置模块,用于当所述绑定组中的所述待绑定服务器的数量为至少两个时,根据以下公式,计算每两个所述待绑定服务器分别对应的两个目标ip地址之间的差异值;当所述差异值不为0时,执行所述根据所述网段信息,对每一个所述待绑定服务器的当前网络信息进行更改;

其中,s表征所述差异值,a表征所述目标ip地址的字符串长度,m表征所述两个目标ip地址中第一目标ip地址对应的二进制ascii值,n表征所述两个目标ip地址中第二目标ip地址对应的二进制ascii值。

优选地,

进一步包括:验证模块;其中,

所述验证模块,用于针对每一个所述待绑定服务器,均执行:确定所述待绑定服务器的网卡对应的网络状态;确定所述网络状态是否为连通状态,如果是,确定所述待绑定服务器中的因特网包探索器是否处于连通状态,如果是,确定网卡绑定配置后的所述待绑定服务器处于网络连通状态。

本发明实施例提供了一种多网卡绑定配置方法及系统,通过采集至少一个待绑定服务器的当前网络信息以及属性信息,根据采集的当前网络信息和属性信息确定网络配置信息,再将确定出的网络配置信息发送给每一个待绑定服务器,以根据网络配置信息,对每一个待绑定服务器进行绑定配置,由此实现了自动进行多个待绑定服务器的多网卡绑定配置,而无需采用人工方式逐个进行配置,从而提高了多网卡绑定的效率。

附图说明

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

图1是本发明一个实施例提供的一种多网卡绑定配置方法的流程图;

图2是本发明另一个实施例提供的一种多网卡绑定配置方法的流程图;

图3是本发明一个实施例提供的一种多网卡绑定配置系统的结构示意图;

图4是本发明另一个实施例提供的一种多网卡绑定配置系统的结构示意图;

图5是本发明又一个实施例提供的一种多网卡绑定配置系统的结构示意图。

具体实施方式

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

如图1所示,本发明实施例提供了一种多网卡绑定配置方法,该方法可以包括以下步骤:

步骤101:采集至少一个待绑定服务器的当前网络信息,以及每一个所述待绑定服务器的属性信息;

步骤102:根据每一个所述当前网络信息以及所述属性信息,确定所述至少一个待绑定服务器对应的网络配置信息;

步骤103:根据所述属性信息,将所述网络配置信息发送给对应的每一个所述待绑定服务器;

步骤104:针对每一个所述待绑定服务器,执行:根据所述网络配置信息,对所述待绑定服务器进行绑定配置。

上述实施例中,通过采集至少一个待绑定服务器的当前网络信息以及属性信息,根据采集的当前网络信息和属性信息确定网络配置信息,再将确定出的网络配置信息发送给每一个待绑定服务器,以根据网络配置信息,对每一个待绑定服务器进行绑定配置,由此实现了自动进行多个待绑定服务器的多网卡绑定配置,而无需采用人工方式逐个进行配置,从而提高了多网卡绑定的效率。

本发明一个实施例中,步骤102的具体实施方式,可以包括:

根据每一个所述当前网络信息中的vlan信息和所述属性信息,将所述至少一个待绑定服务器分成至少一个绑定组;其中,每一个所述绑定组中的各个所述待绑定服务器的vlan信息相同;

根据每一个所述绑定组对应的vlan信息,确定每一个所述绑定组对应的所述网络配置信息。

例如,待绑定服务器a和待绑定服务器b的vlan信息相同,则将绑定服务器a和待绑定服务器b划分为同一个绑定组,再根据其相同的vlan信息,确定相应的网络配置信息,例如确定待绑定服务器a和待绑定服务器b分别对应的ip地址。由此,将相同vlan信息的待绑定服务器划分为同一个绑定组,并以组为单位确定网络配置信息,相较于逐个对服务器进行配置来说,有利于提高多网卡配置的效率。

本发明一个实施例中,所述根据每一个所述绑定组对应的vlan信息,确定每一个所述绑定组对应的所述网络配置信息,包括:

针对每一个所述绑定组,均执行:

根据所述vlan信息,确定所述绑定组对应的网段信息,以及所述网段信息对应的至少一个ip地址;

所述根据所述网络配置信息,对所述待绑定服务器进行网卡绑定配置,包括:

根据所述网段信息对应的所述至少一个ip地址,为每一个所述待绑定服务器分配目标ip地址;

根据所述网段信息,对每一个所述待绑定服务器的当前网络信息进行更改。

每一个vlan信息均有对应的网段信息,每个网段信息对应有多个ip地址,因此可根据每个绑定组的vlan信息,先确定该绑定组的网段信息,以及网段信息对应的ip地址,再将确定出的ip地址分配给该绑定组内的各个待绑定服务器,以避免各个待绑定服务器的ip地址发生冲突。

具体地,当所述绑定组中的所述待绑定服务器的数量为至少两个时,

所述根据所述网段信息对应的所述至少一个ip地址,为每一个所述待绑定服务器分配目标ip地址,包括:

循环执行以下步骤,直至各个所述待绑定服务器均分配有所述目标ip地址;

a1:从所述绑定组中未分配的待绑定服务器中选择出当前服务器;

a2:从所述至少一个ip地址中选择一个未被分配的ip地址作为所述目标ip地址;

a3:将所述目标ip地址分配给所述当前服务器,并执行a1。

例如,一个绑定组里有待绑定服务器a和待绑定服务器b,网段信息对应的ip地址有ip地址c、ip地址d和ip地址e。先将待绑定服务器a作为当前服务器,先将ip地址c分配给待绑定服务器a,然后再将待绑定服务器b作为当前服务器,并从未选择过的ip地址d和ip地址e中选择一个目标ip地址,例如选择出的为ip地址d,将其分配给待绑定服务器b。由此使得各个待绑定服务器的ip地址均不相同,避免了各个待绑定服务器的ip地址发生冲突。

另外,本发明一个实施例中,当所述绑定组中的所述待绑定服务器的数量为至少两个时,

在所述根据所述网段信息对应的所述至少一个ip地址,为每一个所述待绑定服务器分配目标ip地址之后,在所述根据所述网段信息,对每一个所述待绑定服务器的当前网络信息进行更改之前,进一步包括:

根据以下公式,计算每两个所述待绑定服务器分别对应的两个目标ip地址之间的差异值;当所述差异值不为0时,执行所述根据所述网段信息,对每一个所述待绑定服务器的当前网络信息进行更改;

其中,s表征所述差异值,a表征所述目标ip地址的字符串长度,m表征所述两个目标ip地址中第一目标ip地址对应的二进制ascii值,n表征所述两个目标ip地址中第二目标ip地址对应的二进制ascii值。

在这里,通过公式准确计算没两个目标ip地址之间的差异值,当差异值不为0时,说明两个目标ip地址之间存在差异,即两个目标ip地址不相同,此时才对待绑定服务器的当前网络信息进行更改,以避免各个待绑定服务器的ip地址发生冲突。

本发明一个实施例中,在步骤104之后,可以进一步包括:

针对每一个所述待绑定服务器,均执行:

确定所述待绑定服务器的网卡对应的网络状态;

确定所述网络状态是否为连通状态,如果是,确定所述待绑定服务器中的因特网包探索器是否处于连通状态,如果是,确定网卡绑定配置后的所述待绑定服务器处于网络连通状态。

在对多网卡绑定进行自动配置后,还需验证网络的连通性,主要通过对网卡绑定口的网络状态以及ping的通断来进行网络连通性验证,即网卡绑定口的网络状态为连通状态且ping也处于连通状态时,说明配置后的服务器处于网络连通状态。

如图2所示,本发明实施例提供了一种多网卡绑定配置方法,该方法可以包括如下步骤:

步骤201:网络设备开启lldp功能,服务器上架加电,并将服务器的网卡和交换机网线连接。

链路层发现协议(linklayerdiscoveryprotocol,lldp)是一种邻近发现协议,它为以太网网络设备,如交换机、路由器和无线局域网接入点定义了一种标准的方法,使其可以向网络中其他节点公告自身的存在,并保存各个邻近设备的发现信息。例如设备配置和设备识别等详细信息都可以用该协议进行公告。linux系统借助lldp服务(网络设备必须开启lldp协议),可以准确的识别出服务器各个网卡的连接信息如:mac地址、连接交换机端口号、vlan信息等。另外,网络设备可以为交换机或者路由器,一般为交换机。

步骤202:在服务器中引导镜像预装lldp服务包、agent采集程序。引导成功后lldp及agent采集程序守护运行。

在这里,服务器可通过pxe引导成功并加载运行包含lldp及agent的服务。

步骤203:agent采集程序通过调用lldpctl命令采集服务器所有网卡的网络信息,并采集服务器的属性信息,并将采集到的网络信息和属性信息上报服务端保存入库。

其中,网络信息主要包括网卡名称、mac地址、vlan信息、交换机名称、连接交换机对应端口号、mtu值等;属性信息包括服务器序列号、ipmi、cpu信息、内存信息、硬盘信息等。

步骤204:根据网络信息确定服务器的网络配置信息。

在这里主要是在服务端输入所部署环境需要的网络配置信息:包括网络名称、网段信息、vlan信息、网卡绑定模式等,根据网络信息确定出的主要是网段信息,其他信息为服务器的默认信息。

步骤205:自动运算网络配置信息。

这里主要是确定步骤204的网络配置信息是否有冲突,例如服务器之间的ip地址是否有冲突,若发生冲突,则会发出冲突提示信息,以便于对冲突信息进行修改。

步骤206:根据服务器的属性信息,将网络配置信息发送给每一个服务器。

步骤207:确定服务器安装的linux系统类型,服务端触发重新引导服务器进行操作系统安装,安装完成后根据网络配置信息触发网卡绑定自动配置程序实现网卡绑定配置。

linux系统类型一般为centos系列或ubuntu系列。

步骤208:验证网卡绑定后网络连通性。

主要通过对绑定口的状态、ping的通断进行网络连通性验证。

上述实施例中,根据每台服务器采集的网卡网络信息结合,确定网络配置信息,通过自动化程序解析网卡vlan信息实现网卡的绑定组划分:如管理网vlan100,所对应的网卡为enp6s0f0,enp12s0f0;数据网vlan1(trunk口)所对应的网卡为enp8s0f0,enp13s0f0。同时根据每个网络的网段信息实现每台服务器的ip地址信息的计算:包括ip地址、子网掩码、网关信息;结合网卡绑定模式,即可完成多网卡绑定的自动配置信息生成。

上述实施例中的方法借助了lldp协议链路层自动网络信息发现的能力并配合python程序,可以自动的划分出网卡绑定组所具有的网卡,不同服务器型号中,即使网卡名称不同也可通过网络信息成功识别。此种实现方式,相比较于人工通过指定网卡进行绑定组时,划分准确率更高,识别更快,同时降低了人机交互次数。因此,此方法特别适用于云计算数据中心环境下大批量linux服务器的规模化快速部署配置。能提高了云数据中心大规模linux服务器部署网卡绑定配置效率,并能自动化的统计出大规模linux服务器网卡配置信息,提高运维效率。

如图3、图4所示,本发明实施例提供了一种多网卡绑定配置系统。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。从硬件层面而言,如图3所示,为本发明实施例提供的多网卡绑定配置系统所在设备的一种硬件结构图,除了图3所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的设备通常还可以包括其他硬件,如负责处理报文的转发芯片等等。以软件实现为例,如图4所示,作为一个逻辑意义上的装置,是通过其所在设备的cpu将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。本实施例提供的多网卡绑定配置系统,包括:采集模块401、确定模块402和配置模块403;其中,

所述采集模块401,用于采集至少一个待绑定服务器的当前网络信息,以及每一个所述待绑定服务器的属性信息;

所述确定模块402,用于根据每一个所述当前网络信息以及所述属性信息,确定所述至少一个待绑定服务器对应的网络配置信息;

所述配置模块403,用于根据所述属性信息,将所述网络配置信息发送给对应的每一个所述待绑定服务器;并针对每一个所述待绑定服务器,执行:根据所述网络配置信息,对所述待绑定服务器进行绑定配置。

本发明一个实施例中,所述确定模块402,用于根据每一个所述当前网络信息中的vlan信息和所述属性信息,将所述至少一个待绑定服务器分成至少一个绑定组;其中,每一个所述绑定组中的各个所述待绑定服务器的vlan信息相同;根据每一个所述绑定组对应的vlan信息,确定每一个所述绑定组对应的所述网络配置信息。

本发明一个实施例中,所述确定模块402,用于针对每一个所述绑定组,均执行:根据所述vlan信息,确定所述绑定组对应的网段信息,以及所述网段信息对应的至少一个ip地址;

所述配置模块403,用于根据所述网段信息对应的所述至少一个ip地址,为每一个所述待绑定服务器分配目标ip地址,并根据所述网段信息,对每一个所述待绑定服务器的当前网络信息进行更改。

本发明一个实施例中,所述配置模块403,用于当所述绑定组中的所述待绑定服务器的数量为至少两个时,循环执行以下步骤,直至各个所述待绑定服务器均分配有所述目标ip地址;a1:从所述绑定组中未分配的待绑定服务器中选择出当前服务器;a2:从所述至少一个ip地址中选择一个未被分配的ip地址作为所述目标ip地址;a3:将所述目标ip地址分配给所述当前服务器,并执行a1。

本发明一个实施例中,所述配置模块403,用于当所述绑定组中的所述待绑定服务器的数量为至少两个时,根据以下公式,计算每两个所述待绑定服务器分别对应的两个目标ip地址之间的差异值;当所述差异值不为0时,执行所述根据所述网段信息,对每一个所述待绑定服务器的当前网络信息进行更改;

其中,s表征所述差异值,a表征所述目标ip地址的字符串长度,m表征所述两个目标ip地址中第一目标ip地址对应的二进制ascii值,n表征所述两个目标ip地址中第二目标ip地址对应的二进制ascii值。

如图5所示,本发明一个实施例中,该系统可以进一步包括:验证模块501;其中,

所述验证模块501,用于针对每一个所述待绑定服务器,均执行:确定所述待绑定服务器的网卡对应的网络状态;确定所述网络状态是否为连通状态,如果是,确定所述待绑定服务器中的因特网包探索器是否处于连通状态,如果是,确定网卡绑定配置后的所述待绑定服务器处于网络连通状态。

上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。

本发明实施例提供了一种可读介质,包括执行指令,当存储控制器的处理器执行所述执行指令时,所述存储控制器执行本发明上述任一实施例提供的方法。

本发明实施例提供了一种存储控制器,包括:处理器、存储器和总线;所述存储器用于存储执行指令,所述处理器与所述存储器通过所述总线连接,当所述存储控制器运行时,所述处理器执行所述存储器存储的所述执行指令,以使所述存储控制器执行本发明上述任一实施例提供的方法。

综上所述,本发明以上各个实施例至少具有如下有益效果:

1、在本发明实施例中,通过采集至少一个待绑定服务器的当前网络信息以及属性信息,根据采集的当前网络信息和属性信息确定网络配置信息,再将确定出的网络配置信息发送给每一个待绑定服务器,以根据网络配置信息,对每一个待绑定服务器进行绑定配置,由此实现了自动进行多个待绑定服务器的多网卡绑定配置,而无需采用人工方式逐个进行配置,从而提高了多网卡绑定的效率。

2、在本发明实施例中,将相同vlan信息的待绑定服务器划分为同一个绑定组,并以组为单位确定网络配置信息,有利于提高多网卡配置的效率。

3、在本发明实施例中,根据每个绑定组的vlan信息,先确定该绑定组的网段信息,以及网段信息对应的ip地址,再将确定出的ip地址分配给该绑定组内的各个待绑定服务器,以避免各个待绑定服务器的ip地址发生冲突。

4、在本发明实施例中,借助了lldp协议链路层自动网络信息发现的能力并配合python程序,可以自动的划分出网卡绑定组所具有的网卡,不同服务器型号中,即使网卡名称不同也可通过网络信息成功识别。此种实现方式划分准确率更高,识别更快,同时降低了人机交互次数。

5、本发明实施例提供的方法特别适用于云计算数据中心环境下大批量linux服务器的规模化快速部署配置,能提高了云数据中心大规模linux服务器部署网卡绑定配置效率,并能自动化的统计出大规模linux服务器网卡配置信息,提高运维效率。

需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个······”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质中。

最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

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