云计算网络虚拟化中的业务带宽扩展方法

文档序号:7780926阅读:346来源:国知局
云计算网络虚拟化中的业务带宽扩展方法
【专利摘要】本发明提供一种云计算网络虚拟化中的业务带宽扩展方法,其包括以下步骤:关联所述物理服务器的多块物理网卡在操作系统中所对应的逻辑网卡与一个虚拟网卡;将虚拟网卡的名字写入虚拟交换机的管理数据库以使虚拟网卡为所述虚拟交换机将与物理交换机通信的端口;将至少一个虚拟机的网卡的名字写入虚拟交换机的管理数据库以使至少一个虚拟机的网卡为虚拟交换机将与至少一个虚拟机通信的端口。该方法通过将虚拟机的网卡和虚拟网卡写入到虚拟交换机的管理数据库,虚拟机的任意一条数据流被虚拟交换机拆分发送到多块物理网卡上,以使在总带宽不变的情况下,虚拟机里任何协议的业务能根据用户数量和用户对带宽需求的变化对网络带宽弹性扩展。
【专利说明】云计算网络虚拟化中的业务带宽扩展方法【技术领域】
[0001]本发明涉及云计算网络虚拟化领域,尤其涉及一种云计算网络虚拟化中的业务带宽扩展方法。
【背景技术】
[0002]目前,云计算数据中心通常有很多物理服务器,每台物理服务器上面会运行多个虚拟机,物理服务器上的虚拟机通常会用虚拟交换机连接起来,虚拟交换机使用物理服务器的一块或多块物理网卡作为上行链路网卡与物理交换机级联,从而形成物理交换机和虚拟交换机二级互联的网络拓扑结构。
[0003]虚拟交换机一般用开源软件Open vSwitch来实现,该软件所实现的网卡绑定模式中,主备模式提供了物理网卡故障转移功能,即在主用网卡不能用时选择备用网卡,基于源地址的负载均衡模式将一个虚拟机的所有数据流分配到了一块物理网卡上,多个虚拟机的数据流被分配到了多块物理网卡上,基于传输控制协议的负载均衡模式中仅传输控制协议的数据流被分配到多块物理网卡,其他协议的数据流使用单块物理网卡。
[0004]然而,主备模式中虚拟机的业务只能使用一块网卡,并没有提高网络带宽;基于源地址的负载均衡模式中虽然所有虚拟机数据流的总带宽等于多块物理网卡的总带宽,但单个虚拟机数据流的带宽还是小于或等于单块物理网卡的带宽,因此单个虚拟机里的业务的最大带宽等于单块物理网卡的带宽,当分配到某个物理网卡上的虚拟机里的业务占用带宽较小时,多余的物理网卡带宽无法给其他物理网卡上的虚拟机使用;基于传输控制协议的负载均衡模式中所有非传输控制协议的业务最大总带宽等于单块物理网卡带宽,且一条传输控制协议的数据流被分配到一块物理网卡上,每条传输控制协议的数据流的最大带宽等于单块物理网卡带宽,因此当某条传输控制协议的数据流需要大于单块物理网卡带宽时无法从其他物理网卡处获得带宽,且如果传输控制协议的数据流数量小于绑定的物理网卡数量,则多余的物理网卡带宽被浪费了,因此当传输控制协议的业务处于访问低峰期时数据流少,但用户并没有因为竞争的减少而获得更高的访问带宽,同时,该模式还要求向上级联的物理交换机支持802.3ad,因此,现有的虚拟交换机网卡绑定模式无法满足在总带宽不变的情况下,支持任何协议的业务能根据用户数量和用户对带宽需求的变化对网络带宽可弹性扩展的需求。

【发明内容】

[0005]有鉴于此,本发明提供一种可弹性扩张网络带宽的云计算网络虚拟化中的业务带宽扩展方法。
[0006]一种云计算网络虚拟化中的业务带宽扩展方法,其用于在具有至少一个虚拟机的物理服务器上,虚拟机通过虚拟交换机与物理服务器所连接的物理交换机通信时为至少一个虚拟机的业务提供可弹性扩展的带宽,所述物理服务器包括多块物理网卡,所述业务带宽扩展方法包括以下步骤:[0007]关联所述物理服务器的多块物理网卡在操作系统中所对应的逻辑网卡与一个虚拟网卡;
[0008]将所述虚拟网卡的名字写入所述虚拟交换机的管理数据库以使所述虚拟网卡为所述虚拟交换机将与所述物理交换机通信的端口;
[0009]将所述至少一个虚拟机的网卡的名字写入所述虚拟交换机的管理数据库以使所述至少一个虚拟机的网卡为所述虚拟交换机将与所述至少一个虚拟机通信的端口。
[0010]与现有技术相比,本发明提供的云计算网络虚拟化中的业务带宽扩展方法中,通过将虚拟机的网卡和虚拟网卡写入到虚拟交换机的管理数据库,虚拟机发到网卡上的数据会转发到虚拟网卡的输出缓冲队列,然后会轮流发送到物理网卡的输出缓冲队列中,物理网卡会并行的将输出缓冲队列中的数据取出并发送到网络上,也即虚拟机的任意一条数据流被虚拟交换机拆分发送到多块物理网卡上,而不是一条数据流只能发送到某块特定物理网卡上,任意个数的虚拟机里的任意条数据流都可以共享多网卡的总带宽,用户多的时候每个用户分配到的带宽就小,用户少的时候每个用户分配到的带宽就大,用户对带宽需求大的分配到的带宽就大,用户对带宽需求小的分配到的带宽就小,而总带宽保持不变,虚拟机里的业务对于带宽的使用是可弹性扩展的,所述虚拟机的业务为支持任何协议的业务。
【专利附图】

【附图说明】
[0011]图1是本发明提供的一种云计算网络虚拟化中的业务带宽扩展方法的流程图。
[0012]图2是本发明提供的一种云计算网络虚拟化中的业务带宽扩展方法的云计算数据中心网络虚拟化拓扑图。
[0013]图3是图1中关联物理网卡与虚拟网卡步骤的流程图。
[0014]主要元件符号说明
[0015]虚拟机10
[0016]物理服务器 20
[0017]虚拟交换机 30
[0018]虚拟网卡 32
[0019]物理交换机 40
[0020]如下【具体实施方式】将结合上述附图进一步说明本发明。
【具体实施方式】
[0021]请参阅图1,其为本发明实施方式提供的一种云计算网络虚拟化中的业务带宽扩展方法,所述云计算网络虚拟化中的业务带宽扩展方法用于在具有至少一个虚拟机10的物理服务器20上,虚拟机10通过虚拟交换机30与物理交换机40之间通信时为至少一个虚拟机10的业务提供可弹性扩展的带宽,所述物理服务器20包括多块物理网卡。如图2所示,本实施方式中,物理服务器20上运行了一台虚拟机10,虚拟机10的网卡是vnetl,物理服务器20包括两块物理网卡,分别在操作系统中所对应的逻辑网卡为ethO和ethl,两块物理网卡连接在一台物理交换机40上,虚拟机10要通过ethO和ethl与物理服务器20外面的网络通信。
[0022]本实施方式中,虚 拟交换机30的创建包括以下步骤:[0023](I)在 Linux 系统上安装软件 Open vSwitch ;
[0024](2)卸载内核模块bridge,加载内核模块openvswitch ;
[0025](3)启动应用程序ovsdb-server和ovs-vswitchd,用于实现虚拟交换机30端口之间的数据交换。可以理解,当运行多个虚拟机10时,连接在虚拟交换机30上的多个虚拟机10之间可互相通信,并且连接在虚拟交换机30上的虚拟机10可以通过虚拟交换机30和物理交换机40连接的端口与物理服务器20的外部进行通信。
[0026](4)执行命令ovs-vsctl add-br brl创建一个虚拟交换机(brl) 30。
[0027]所述云计算网络虚拟化中的业务带宽扩展方法包括以下步骤:
[0028]步骤SlOO:关联物理服务器的多块物理网卡在操作系统中所对应的逻辑网卡与一个虚拟网卡;
[0029]步骤S200:将虚拟网卡的名字写入虚拟交换机的管理数据库以使虚拟网卡为虚拟交换机将与物理交换机通信的端口;
[0030]步骤S300:将至少一个虚拟机的网卡的名字写入虚拟交换机的管理数据库以使至少一个虚拟机的网卡为虚拟交换机将与至少一个虚拟机通信的端口。
[0031]请参阅图3,在步骤SlOO中,关联物理网卡与虚拟网卡的步骤包括以下步骤:
[0032]步骤SllO:创建一个虚拟网卡;
[0033]步骤S120:停用虚拟网卡以设置其绑定模式;
[0034]步骤S130:设置虚拟网卡的绑定模式以使将发送到虚拟网卡上的数据轮流发送到物理服务器的物理网卡上;
[0035]步骤S140:启用虚拟网卡;
[0036]步骤S150:停用物理网卡;
[0037]步骤S160:关联物理网卡与所述虚拟网卡;
[0038]步骤S170:启用物理服务器的物理网卡。
[0039]在步骤SllO中,通过加载内核模块bonding,以及执行命令:echo+bondl>/sys/class/net/bonding_masters,内核模块 bonding 会自动创建一个虚拟网卡(bondl) 32。
[0040]在步骤S120中,通过执行命令:ip link set bondldown停用虚拟网卡32,以便设置虚拟网卡32的绑定模式。
[0041]在步骤S130 中,通过执行命令:echo balance-rr>/sys/class/net/bondl/bonding/mode来设置虚拟网卡32的绑定模式balance-rr,所设置的绑定模式balance-rr可以将发送到虚拟网卡32上的数据轮流发送到物理网卡ethO与ethl上。
[0042]在步骤S140中,通过执行命令:ip link set bondlup来启用虚拟网卡32。
[0043]在步骤S150中,本实施方式中,分别通过执行命令:ip link set ethOdown来停用服务器物理网卡ethO及执行命令:ip link set ethl down来停用服务器物理网卡ethl。
[0044]在步骤S160 中,通过执行命令:echo+ethO>/sys/class/net/bondl/bonding/slaves ;以及执行命令:echo+ethl>/sys/class/net/bondl/bonding/slaves,内核模块bonding自动将两物理网卡ethO和ethl与虚拟网卡32关联,发送到虚拟网卡32上的数据会转发到ethO和ethl上,从ethO和ethl接收到的数据也会转发到虚拟网卡32上,从而应用程序只需要使用虚拟网卡32收发数据,不需要关心与之关联的物理网卡。
[0045]在步骤S170中,分别通过执行命令:ip link set ethOup来启用服务器物理网卡ethO及执行命令:ip link set ethlup启用服务器物理网卡ethl。
[0046]在步骤S200中,通过执行命令:ovs_vsctl add-port brlbondl,将虚拟网卡32写入虚拟交换机30的管理数据库,以便虚拟交换机30把虚拟网卡32作为与物理交换机40连接的端口。
[0047]在步骤S300中,本实施方式中,物理服务器20上运行一个虚拟机10,则通过执行命令:ovs_vsctl add-port brlvnetl将虚拟机10的网卡vnetl写入虚拟交换机30的管理数据库,以便虚拟交换机30把vnetl作为与虚拟机10连接的端口,实现虚拟机10与物理服务器20外部的通信。
[0048]通过将虚拟机的网卡vnetl和虚拟网卡32写入到虚拟交换机30的管理数据库,虚拟机10发到网卡vnetl上的数据会转发到虚拟网卡32的输出缓冲队列,然后会轮流发送到物理网卡ethO和ethl的输出缓冲队列中,ethO和ethl会并行的将输出缓冲队列中的数据取出并发送到网络上,从而提高了虚拟机与外界通信的带宽。
[0049]当物理服务器20上运行了多个虚拟机10且多个虚拟机10的网卡写入到虚拟交换机30的管理数据库时,多个虚拟机10发送的数据会被转发到虚拟网卡32的输出缓冲队列,然后以先来后到的原则被轮流发送到ethO和ethl的输出缓冲队列中,ethO和ethl还是会并行的将输出缓冲队列中的数据取出并发送到网络上,任何数据流都没有被限制只能发送到某块物理网卡,而是公平竞争的使用多块物理网卡,从而使虚拟机中的业务带宽可以弹性扩展。
[0050]可以理解的是,多个虚拟机10同时发送的数据被转发到虚拟网卡32的输出缓冲队列时,将以竞争入队方式进入到虚拟网卡32的输出缓冲队列。
[0051]本发明提供的云计算网络虚拟化中的业务带宽扩展方法中,当多个虚拟机10同时使用虚拟交换机30时,每个虚拟机10里的每条数据流平均负载到多块物理网卡上,使多个虚拟机10共享多块物理网卡的总带宽,当一个虚拟机10使用虚拟交换机30且该虚拟机10里只有一条数据流时,该数据流也被拆分平均负载到多块物理网卡上独占多网卡的总带宽。因此,任意个数的虚拟机里的任意条数据流都可以共享多网卡的总带宽,就像多台电脑共享宽带上网一样,用户多的时候每个用户分配到的带宽就小,用户少的时候每个用户分配到的带宽就大,用户对带宽需求大的分配到的带宽就大,用户对带宽需求小的分配到的带宽就小,而总带宽保持不变,虚拟机里的业务对于带宽的使用是可弹性扩展的,而且不需要物理交换机支持802.3ad,所述虚拟机的业务为支持任何协议的业务。
[0052]可以理解的是,对于本领域的普通技术人员来说,可以根据本发明的技术构思做出其他各种相应的改变与变形,而所有这些改变与变形都应属于本发明权利要求的保护范围。
【权利要求】
1.一种云计算网络虚拟化中的业务带宽扩展方法,其用于在具有至少一个虚拟机的物理服务器上,虚拟机通过虚拟交换机与物理服务器所连接的物理交换机之间通信时为至少一个虚拟机的业务提供可弹性扩展的带宽,所述物理服务器包括多块物理网卡,所述业务带宽弹性扩展方法包括以下步骤: 关联所述物理服务器的多块物理网卡在操作系统中所对应的逻辑网卡与一个虚拟网卡; 将所述虚拟网卡的名字写入所述虚拟交换机的管理数据库以使所述虚拟网卡为所述虚拟交换机将与所述物理交换机通信的端口; 将所述至少一个虚拟机的网卡的名字写入所述虚拟交换机的管理数据库以使所述至少一个虚拟机的网卡为所述虚拟交换机将与所述至少一个虚拟机通信的端口。
2.如权利要求1所述的云计算网络虚拟化中的业务带宽扩展方法,其特征在于,在所述关联步骤中包括以下步骤: 创建一个虚拟网卡; 停用所述虚拟网卡以设置其绑定模式; 设置所述虚拟网卡的绑定模式以使将发送到所述虚拟网卡上的数据轮流发送到所述物理服务器的物理网卡上; 启用所述虚拟网卡; 停用所述物理网卡; 关联所述物理网卡与所述虚拟网卡。
3.如权利要求2所述的云计算网络虚拟化中的业务带宽扩展方法,其特征在于,在所述关联步骤与所述至少一个虚拟机的网卡的名字写入所述虚拟交换机的管理数据库的步骤之间包括以下步骤: 启用所述物理服务器的物理网卡。
4.如权利要求1所述的云计算网络虚拟化中的业务带宽扩展方法,其特征在于,所述多个虚拟机经所述虚拟交换机与所述物理交换机进行通信时,将所述多个虚拟机发送的数据转发到所述虚拟网卡的输出缓冲队列,然后以先来后到的原则轮流发送到所述物理网卡的输出缓冲队列。
5.如权利要求4所述的云计算网络虚拟化中的业务带宽扩展方法,其特征在于,将所述多个虚拟机同时发送的数据将竞争入队到所述虚拟网卡的输出缓冲队列。
6.如权利要求1所述的云计算网络虚拟化中的业务带宽扩展方法,其特征在于,所述虚拟机的业务为支持任何协议的业务。
【文档编号】H04L12/46GK103634225SQ201310695504
【公开日】2014年3月12日 申请日期:2013年12月18日 优先权日:2013年12月18日
【发明者】阮泽林 申请人:武汉朋客云计算有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1