一种分布式存储的网络集成的方法及系统与流程

文档序号:11138769阅读:755来源:国知局
一种分布式存储的网络集成的方法及系统与制造工艺

本发明涉及分布式存储服务器领域,特别涉及一种分布式存储的网络集成的方法及系统。



背景技术:

从事基于linux系统的分布式存储产品软件开发时,往往由于单网卡无法满足性能要求而需要对多个网卡进行合并使用,比如将10Gb、20Gb等性能的网卡聚合使用,传统的解决方案是使用linux中提供的bond模块完成多网口或多网卡的绑定,对外提供网络服务,虽然bond提供了多种模式以便选择,但弊端也比较明显,首先,需要交换机作相应配置,增加了运维成本。其次,经测试各种bond模式均无法兼顾负载均衡和带宽聚合,不能适用于分布式存储场景,即无法满足分布式存储的低延迟、带宽叠加等要求。因此,如何提高分布式存储的网络带宽的使用效率,是本领域技术人员需要解决的技术问题。



技术实现要素:

本发明的目的是提供一种分布式存储的网络集成的方法及系统,根据状态参数合理分配数据的去向,使其达到负载均衡;对外输出带宽为所有网段聚合之后的带宽,能够优化网络占用情况,提高分布式存储的网络带宽的使用效率。

为解决上述技术问题,本发明提供一种分布式存储的网络集成的方法,包括:

读取配置文件,获取所述配置文件中各网卡对应网段的IP地址;

当发生数据流量时,获取各所述网卡当前的状态参数,并根据所述状态参数确定各所述网卡当前的繁忙程度;其中,所述状态参数包括网卡当前的吞吐量,带宽值;

根据所述繁忙程度,确定所述数据流量使用的IP地址。

其中,形成所述配置文件的方法,包括:

根据用户输入数据为各网卡分配对应在独立网段,将各独立网段对应的IP地址以配置项在形式写入到指定的配置文件中。

其中,根据所述繁忙程度,确定所述数据流量使用的IP地址,包括:

根据所述繁忙程度,选取最小繁忙程度所对应的网卡的IP地址作为所述数据流量的IP地址。

其中,根据所述繁忙程度,确定所述数据流量使用的IP地址之前,还包括:

根据用户输入绑定数据为各设备节点绑定默认网卡。

其中,根据所述繁忙程度,确定所述数据流量使用的IP地址,包括:

根据所述繁忙程度,判断所述数据流量对应的默认网卡的繁忙程度是否满足预定条件;

若满足,则选取所述数据流量对应的默认网卡的IP地址作为所述数据流量的IP地址;

若不满足,则选取最小繁忙程度所对应的网卡的IP地址作为所述数据流量的IP地址。

本发明还提供一种分布式存储的网络集成的系统,包括:

读取模块,用于读取配置文件,获取所述配置文件中各网卡对应网段的IP地址;

繁忙程度确认模块,用于当发生数据流量时,获取各所述网卡当前的状态参数,并根据所述状态参数确定各所述网卡当前的繁忙程度;其中,所述状态参数包括网卡当前的吞吐量,带宽值;

IP地址确认模块,用于根据所述繁忙程度,确定所述数据流量使用的IP地址。

其中,该系统还包括:

配置文件设置模块,用于根据用户输入数据为各网卡分配对应在独立网段,将各独立网段对应的IP地址以配置项在形式写入到指定的配置文件中。

其中,所述IP地址确认模块具体为根据所述繁忙程度,选取最小繁忙程度所对应的网卡的IP地址作为所述数据流量的IP地址的模块。

其中,该系统还包括:

设备绑定模块,用于根据用户输入绑定数据为各设备节点绑定默认网卡。

其中,所述IP地址确认模块包括:

判断单元,用于根据所述繁忙程度,判断所述数据流量对应的默认网卡的繁忙程度是否满足预定条件;

IP地址确认单元,用于若满足所述预定条件,则选取所述数据流量对应的默认网卡的IP地址作为所述数据流量的IP地址;若不满足所述预定条件,则选取最小繁忙程度所对应的网卡的IP地址作为所述数据流量的IP地址。

本发明所提供的一种分布式存储的网络集成的方法,包括:读取配置文件,获取配置文件中各网卡对应网段的IP地址;当发生数据流量时,获取各网卡当前的状态参数,并根据状态参数确定各网卡当前的繁忙程度;其中,状态参数包括网卡当前的吞吐量,带宽值;根据繁忙程度,确定数据流量使用的IP地址;

可见,该方法根据状态参数合理分配数据的去向使得数据分流通过不同在网口收发,使其达到负载均衡,同时,通过进程进行网口映射,网络带宽可以做到完全叠加,不会存在传统的bond模式下的性能衰减和不均衡,因此对外输出带宽为所有网段聚合之后的带宽,即能够优化网络占用情况,提高分布式存储的网络带宽的使用效率;本发明还提供了一种分布式存储的网络集成的系统,具有上述有益效果,在此不再赘述。

附图说明

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

图1为本发明实施例所提供的分布式存储的网络集成的方法的流程图;

图2为本发明实施例所提供的分布式存储的网络集成的系统的结构框图。

具体实施方式

本发明的核心是提供一种分布式存储的网络集成的方法及系统,根据状态参数合理分配数据的去向,使其达到负载均衡;对外输出带宽为所有网段聚合之后的带宽,能够优化网络占用情况,提高分布式存储的网络带宽的使用效率。

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

请参考图1,图1为本发明实施例所提供的分布式存储的网络集成的方法的流程图;该方法的执行主体是分布式存储系统中各该存储设备,该方法可以包括:

S100、读取配置文件,获取所述配置文件中各网卡对应网段的IP地址;

其中,这里的配置文件是根据用户输入数据为各网卡分配对应在独立网段,将各独立网段对应的IP地址以配置项在形式写入到指定的配置文件中。即该步骤具体为用户预先针对多网卡的不同网口配置独立网段,将IP地址以配置项的形式写入指定的配置文件中,进程启动之后会读取该配置文件,获取各网段的IP地址。

这里并不对具体的设置形式进行限定,用户可以根据分布式存储系统的实际情况设置网卡在数量,以及各网卡对应网段的IP地址信息。

S110、当发生数据流量时,获取各所述网卡当前的状态参数,并根据所述状态参数确定各所述网卡当前的繁忙程度;其中,所述状态参数包括网卡当前的吞吐量,带宽值;

S120、根据所述繁忙程度,确定所述数据流量使用的IP地址。

其中,该方法以进程的形式在发生数据流量时就进行调用执行,并在分布式存储集群系统中各个存储设备中以应用程序在形式进行存储。跟随存储设备进行启动。

其中,繁忙程度是表示该网卡当前收发数据的情况也即当前该网口带宽的使用情况。根据网卡当前的状态参数获取网卡当前的繁忙程度即根据网卡的吞吐量,带宽值计算得到该网卡的繁忙程度。为了网卡负载均衡,合理使用网卡,避免某一网卡过度繁忙,因此选择繁忙程度较小的网卡来进行数据的收发,从而优化网络占用情况,提高网络带宽的使用效率。

根据繁忙程度选取收发数据在网卡的具体细节可以由用户根据实际情况进行确定,一般情况下以负载均衡为准则,还需要考虑时间因素以及选择网口(这里的网卡、网口、网段与IP地址存在一一对应关系)的便利程度进行。例如设定一个繁忙程度的阈值,根据该繁忙程度是否超过该阈值进行网口的选择;或者直接每次都选择繁忙程度最小的网口;或者先设定默认网口,在根据默认网口的繁忙程度在各网口中的繁忙程度中的排序情况进行选择等,这里并不对具体的选择策略进行限定;优选的,根据所述繁忙程度,选取最小繁忙程度所对应的网卡的IP地址作为所述数据流量的IP地址。

具体的,当需要通过网络收发数据时,存储设备上应用程序的进程会根据当前网口的吞吐量、带宽值等状态参数合理分配数据的去向,使其达到负载均衡,同时,对外输出带宽为所有网段聚合之后的带宽。且由于该方法是一种软件处理机制,所以并不局限在以太网环境下,完全可以将其迁移到基于FC网络、IB网络等其他需要网络绑定及聚合的高性能场景下,充分发挥出硬件的性能。

基于上述技术方案,本发明实施例提供的分布式存储的网络集成的方法,借助软件编程的方式可以将多网段在逻辑层面聚合在一起,既可以做到同时占用所有的网路,充分利用带宽,又可以自定义负载均衡策略,提高传输效率,最重要的是摒弃了bond模块,可以将内核层的影响降到最小;即优化网络占用情况,提高网络带宽的使用效率,从而降低研发和销售成本,增加团队的设备资源,提升产品的竞争力。

基于上述实施例,为了进一步提高收发数据的网口确定的便利性,减少收发数据时网口的切换,因此根据所述繁忙程度,确定所述数据流量使用的IP地址之前还可以包括:

根据用户输入绑定数据为各设备节点绑定默认网卡。

这里的绑定网卡要考虑负载均衡,这样可以从根本上减少网卡切换,一般情况下根据存储设备以及网卡的数量,将存储设备平均分配到各个网卡中。例如以两个网卡为例子在部署ceph集群时,各个对象存储设备(OSD)需要通过网络连接在一起,可以保证各存储设备按奇偶次序跨网段使用网络。例如,存储设备编号为1、2、3。。。n,而硬件为双网口万兆网卡,网口编号为A和B,通过进程内的映射,可以将奇数编号的存储设备绑定到网口A上,将偶数编号的存储设备绑定到网口B上。实现绑定时硬件的负载均衡。

具体的,用户可以首先给分布式系统中的各个存储设备绑定默认的网卡,这样在该网卡对应的网段不算繁忙时,就直接使用默认网卡进行数据收发。为收发数据网卡的确认提供便利减少网卡切换。

优选的,根据所述繁忙程度,判断所述数据流量对应的默认网卡的繁忙程度是否满足预定条件;

若满足,则选取所述数据流量对应的默认网卡的IP地址作为所述数据流量的IP地址;

若不满足,则选取最小繁忙程度所对应的网卡的IP地址作为所述数据流量的IP地址。

这里的预定条件需要根据用户的实际情况进行确定;例如设置阈值,当该繁忙程度超过该阈值时切换繁忙程度较小的网卡进行数据收发,当该繁忙程度未超过该阈值时直接使用需要收发数据的设备节点的默认网卡进行数据收发。或者设定置信区间,当该繁忙程度在该置信区间外时切换繁忙程度较小的网卡进行数据收发,当该繁忙程度在该置信区间内时直接使用需要收发数据的设备节点的默认网卡进行数据收发。或者判断默认网卡的繁忙程度与最小繁忙程度的差值是否超过阈值,当该繁忙程度超过该阈值时切换繁忙程度较小的网卡进行数据收发,当该繁忙程度未超过该阈值时直接使用需要收发数据的设备节点的默认网卡进行数据收发等,因此,这里并不对预定条件进行具体的限定。

基于上述技术方案,本发明实施例提供的分布式存储的网络集成的方法,集群搭建完成之后,数据流量发生时,会在用户态便将数据分流,通过不同的网口收发,避免了处于内核态的bond模块的调度,提高了效率,同时,由于通过进程映射,所以网络带宽可以做到完全叠加,不会存在传统的bond模式下的性能衰减和不均衡。提供用户态的网络负载均衡策略,优化网络占用情况,提高网络带宽的使用效率。

下面对本发明实施例提供的分布式存储的网络集成的系统进行介绍,下文描述的分布式存储的网络集成的系统与上文描述的分布式存储的网络集成的方法可相互对应参照。

请参考图2,图2为本发明实施例所提供的分布式存储的网络集成的系统的结构框图;该系统可以包括:

读取模块100,用于读取配置文件,获取所述配置文件中各网卡对应网段的IP地址;

繁忙程度确认模块200,用于当发生数据流量时,获取各所述网卡当前的状态参数,并根据所述状态参数确定各所述网卡当前的繁忙程度;其中,所述状态参数包括网卡当前的吞吐量,带宽值;

IP地址确认模块300,用于根据所述繁忙程度,确定所述数据流量使用的IP地址。

基于上述实施例,该系统还包括:

配置文件设置模块,用于根据用户输入数据为各网卡分配对应在独立网段,将各独立网段对应的IP地址以配置项在形式写入到指定的配置文件中。

基于上述实施例,所述IP地址确认模块300具体为根据所述繁忙程度,选取最小繁忙程度所对应的网卡的IP地址作为所述数据流量的IP地址的模块。

基于上述任意实施例,该系统还包括:

设备绑定模块,用于根据用户输入绑定数据为各设备节点绑定默认网卡。

基于上述实施例,所述IP地址确认模块300包括:

判断单元,用于根据所述繁忙程度,判断所述数据流量对应的默认网卡的繁忙程度是否满足预定条件;

IP地址确认单元,用于若满足所述预定条件,则选取所述数据流量对应的默认网卡的IP地址作为所述数据流量的IP地址;若不满足所述预定条件,则选取最小繁忙程度所对应的网卡的IP地址作为所述数据流量的IP地址。

说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。

以上对本发明所提供的分布式存储的网络集成的方法及系统进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

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