CN109768871B - 配置多个虚拟网卡的方法、宿主机和存储介质 - Google Patents
配置多个虚拟网卡的方法、宿主机和存储介质 Download PDFInfo
- Publication number
- CN109768871B CN109768871B CN201711096692.4A CN201711096692A CN109768871B CN 109768871 B CN109768871 B CN 109768871B CN 201711096692 A CN201711096692 A CN 201711096692A CN 109768871 B CN109768871 B CN 109768871B
- Authority
- CN
- China
- Prior art keywords
- virtual
- network card
- virtual network
- service component
- network service
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 61
- 238000003860 storage Methods 0.000 title claims abstract description 20
- 238000013507 mapping Methods 0.000 claims abstract description 51
- 238000004891 communication Methods 0.000 claims description 15
- 238000012217 deletion Methods 0.000 claims description 7
- 230000037430 deletion Effects 0.000 claims description 7
- 230000015654 memory Effects 0.000 claims description 7
- 238000004519 manufacturing process Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 11
- 238000004590 computer program Methods 0.000 description 10
- 238000007726 management method Methods 0.000 description 8
- 230000008859 change Effects 0.000 description 5
- 238000013461 design Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000004873 anchoring Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000004886 process control Methods 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种配置多个虚拟网卡的方法、宿主机和存储介质。宿主机包括:虚拟交换机、虚拟机和网络服务组件,虚拟交换机和虚拟机分别与网络服务组件连接,方法包括以下步骤:网络服务组件在虚拟交换机上设置多个虚拟交换机端口;网络服务组件在虚拟机中创建多个虚拟网卡;网络服务组件建立多个虚拟网卡与多个虚拟交换机端口之间的第一映射关系;当虚拟网卡启动时,网络服务组件建立启动的虚拟网卡和与启动的虚拟网卡具有第一映射关系的虚拟交换机端口之间的网络通道。本发明实施例可以应用于为宿主机上的虚拟机配置多个虚拟网卡,且可以确保宿主机能够精确控制通过这些虚拟网卡的数据流。
Description
技术领域
本发明涉及网络通信技术领域,尤其涉及一种配置多个虚拟网卡的方法、宿主机和存储介质。
背景技术
随着互联网业务的快速发展,单虚拟网卡(Virtual interface,Vif)已经难于满足快速发展的需要,宿主机NC(虚拟机所在的物理机)上的虚拟机(Virtual Machine,VM)需要配置多个虚拟网卡。例如,一些应用需要多个虚拟网卡才能满足这些应用需求;实时应用集群(Oracle real application clusters,Oracle RAC)需要多个内网的网络之间互连的协议(Internet Protocol,IP),这些IP分别用于客户端连接、业务处理、浏览(scan)、心跳同步等。又如,对于视频类、游戏类等站点,需要多块虚拟网卡处理控制指令和用户数据流指令。另外,F5设备(负载均衡设备、流量控制设备等)也需要多块虚拟网卡。其中一块虚拟网卡可以用于管理配置,如连接超级管理员互联网(admin web)配置基本信息和获得许可证(license)信息,其余虚拟网卡可以用于业务。
为了满足单服务器支持多虚拟网卡的需求,当前大部分云厂商只配置一块虚拟网卡,通过绑定多个IP实现用户分流的需求。也有部分云厂商采用公私网绑定2块虚拟网卡实现用户分流的需求。
然而,申请人经研究发现:现有的单虚拟网卡多IP方案无法精确控制数据流。例如,当数据流的流量过大时,可能受网络阻塞影响,服务器无法接收到控制节点发送的指令,所有数据不能真正做到被分流。另外,现有的技术方案无法控制数据流向,例如无法控制数据流向哪个IP地址,也无法设置每个IP的带宽等。
如何为宿主机上的VM配置多个虚拟网卡,使宿主机能够精确控制数据流,成为业界亟待解决的技术问题。
发明内容
为了解决现有的单虚拟网卡多IP方案无法精确控制数据流的问题,本发明实施例提供了一种配置多个虚拟网卡的方法、宿主机和存储介质。
第一方面,提供了一种为宿主机上的虚拟机配置多个网卡的方法。
宿主机包括:虚拟交换机(virtual Switch,vSwitch)、虚拟机和网络服务组件,虚拟交换机和虚拟机分别与网络服务组件连接,方法包括以下步骤:
网络服务组件在虚拟交换机上设置多个虚拟交换机端口(virtual port,vport);
网络服务组件在虚拟机中创建多个虚拟网卡;
网络服务组件建立多个虚拟网卡与多个虚拟交换机端口之间的第一映射关系;
当虚拟网卡启动时,网络服务组件建立启动的虚拟网卡和与启动的虚拟网卡具有第一映射关系的虚拟交换机端口之间的网络通道。
第二方面,提供了一种宿主机。该宿主机包括:
虚拟交换机、虚拟机和网络服务组件,虚拟交换机和虚拟机分别与网络服务组件连接,网络服务组件包括:
端口设置模块,用于在虚拟交换机上设置多个虚拟交换机端口虚拟交换机端口;
网卡创建模块,用于在虚拟机中创建多个虚拟网卡;
第一建立模块,用于建立多个虚拟网卡与多个虚拟交换机端口之间的第一映射关系;
通道建立模块,用于当虚拟网卡启动时,建立启动的虚拟网卡和与启动的虚拟网卡具有第一映射关系的虚拟交换机端口之间的网络通道。
第三方面,提供了一种宿主机。该宿主机包括:
存储器,用于存放程序;
处理器,用于执行存储器存储的程序,程序使得处理器执行上述第一方面的方法。
第四方面,提供了一种计算机可读存储介质。该计算机可读存储介质中存储有指令,当该指令在计算机上运行时,使得计算机执行上述第一方面的方法。
第五方面,提供了一种包含指令的计算机程序产品。当该产品在计算机上运行时,使得计算机执行上述第一方面的方法。
第六方面,提供了一种计算机程序。当该计算机程序在计算机上运行时,使得计算机执行上述第一方面的方法。
上述发明实施例可以通过网络服务组件在vSwitch上设置多个vport,在VM中创建多个虚拟网卡,以及建立各个虚拟网卡与各个vport之间的映射关系,当虚拟网卡启动时,启动的虚拟网卡和与其具有映射关系的vport之间的网络通道,可以使得数据流按预先设计的虚拟网卡与该虚拟网卡对应的vport之间的网络通道流动。由此,上述发明实施例可以应用于为宿主机上的VM配置多个虚拟网卡,且可以确保宿主机能够精确控制通过这些虚拟网卡的数据流。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例的为宿主机上的虚拟机配置多个虚拟网卡的***架构示意图;
图2是本发明一实施例的为宿主机上的虚拟机配置多个虚拟网卡的方法的流程示意图;
图3是本发明一实施例的为宿主机上的虚拟机配置多个虚拟网卡的过程中虚拟网卡相关状态的示意图;
图4是本发明一实施例的为宿主机上的虚拟机配置多个虚拟网卡的流程的示意图;
图5是本发明一实施例的使用宿主机上的虚拟机的多个虚拟网卡的流程的示意图;
图6是本发明一实施例的宿主机的结构示意图;
图7是本发明一实施例的网络服务组件的结构示意图;
图8是本发明一实施例的宿主机的框架结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1是本发明一实施例的为宿主机上的虚拟机配置多个虚拟网卡的***架构示意图。
如图1所示,该***架构可以包括:客户端组100、网络200和宿主机(NC)300。其中,客户端组100可以包括:客户端101、客户端102和客户端103等。宿主机300可以包括:vSwitch310、VM320和网络服务组件Web Service330。vSwitch310和VM320分别与WebService330连接。
在本实施例中,客户端101、客户端102和客户端103可以是用户的各种电子设备。这些电子设备包括但不限于个人电脑、智能手机、平板电脑、个人数字助理、服务器等。这些电子设备可以安装有各种通讯客户端应用,例如即时通信工具、邮箱客户端、社交平台软件、音频视频软件等。其中,这些电子设备具有存储器和逻辑运算处理器、控制元件等。这些电子设备可以发送数据请求,或者可以接收数据请求,还可以对数据进行分析、验证和存储等处理。
在本实施例中,网络200用以在各种通信设备(如客户端组100和宿主机300)之间提供通信链路的介质。具体的,网络可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等。
在本实施例中,vSwitch310内设置有8个vport,分别为vport311、vport312、vport313、vport314、vport315、vport316、vport317和vport318。其中,vport311、vport312、vport313、vport314、vport315这5个端口组成了一个小组vport group31。port316、vport317和vport318均是设置在port group31的外部的独立的端口。
在本实施例中,VM320中创建有4个Vif,分别为:Vif321、Vif322、Vif323和Vif324。
在本实施例中,通过网络配置出的网卡均可以是虚拟网卡。例如,Vif是虚拟网卡,主Vif是虚拟网卡,弹性网卡(Elastic Network Interface,ENI)也是虚拟网卡。其中,虚拟网卡可以通过网桥等网络设备映射到物理网卡上,实现物理网卡的功能,进而进行网络通信。
在本实施例中,Web Service330可以用于在vSwitch310中创建上述vport,也可以在VM中创建上述Vif,并可以建立各个Vif与各个vport之间的第一映射关系。例如,WebService330可以建立Vif321与vport311、Vif322与vport313、Vif323与vport315以及Vif324与vport318之间的第一映射关系。当Vif321启动时,建立Vif321与vport311之间的网络通道。同理,当Vif322启动时,Vif322与vport313之间的通道联通。
图1中的设备的数目仅仅是示意性的。在其它的实施例中,可以根据实现需要,该***架构可以具有任意数目的客户端100、网络200和宿主机300。多个宿主机300可以组成云服务集群。vport group31的数量可以变化,vport group31内vport的数量可以变化,Vif的数量也可以增加或者减少。另外,该架构还可以包括用于通信的辅助设备,如路由器和电源等。
下面各个实施例均可以应用本***架构来配置一个或者多个虚拟网卡等操作,为了描述简洁,各个实施例的内容可以相互参考和引用。
下面列举一个例子简单说明为宿主机上的VM配置多个虚拟网卡的实现方式。
首先,宿主机300可以分别接收到客户端101、客户端102和客户端103的订购一个Vif的请求。
然后,宿主机300的Web Service330响应于上述订购请求,先可以在vSwitch310中设置8个vport(分别为vport311、vport312、vport313、vport314、vport315、vport316、vport317和vport318)。
接着,Web Service330可以在VM中创建4个Vif(分别为:Vif321、Vif322、Vif323和Vif324)。
接着,Web Service330可以建立Vif321与vport311之间的映射关系,建立Vif322与vport313之间的映射关系,建立Vif323与vport315之间的映射关系,以及建立Vif324与vport318之间的映射关系。
然后,Web Service330可以将Vif321分配给客户端101,将Vif322分配给客户端102,将Vif323分配给客户端103。
至此,Vif配置成功。客户端101可以通过Vif321与vport311之间的网络通道进行信息交互;客户端102可以通过Vif322与vport313之间的网络通道进行信息交互;客户端103可以通过Vif323与vport315之间的网络通道进行信息交互。
图2是本发明一实施例的为宿主机上的虚拟机配置多个虚拟网卡的方法的流程示意图。
本发明实施例可以应用于为宿主机(例如x86服务器等)上的一个VM配置多个Vif,且可以确保宿主机能够精确控制通过这些Vif的数据流。本发明实施例还可以应用于为宿主机上的多个VM(云服务器)配置多个Vif,使得云服务器可以支持多个Vif。另外,云服务器在运行状态下可以挂载Vif,其效果相当于在物理机上***物理网卡。云服务器在运行状态下也可以卸载Vif,其效果相当于在物理机上拔除物理网卡。由此,云服务器可以支持Vif的热插拔。
具体的,云服务器支持Vif的热插拔的实现方法可以包括:在vSwitch上创建vport;通过虚拟化指令增加Vif;触发用户云计算平台(如OS)的设备管理器(如UDEV)变更事件,使得客户OS识别新的设备(如待挂载的Vif),并连接用户的动态主机配置协议(Dynamic Host Configuration Protocol,DHCP)客户端,配置客户端IP地址;再检查网络的通畅性。该部分内容将在下文进一步描述。
本发明实施例可以通过将多个Vif对应的多个vport接入到vSwitch上,实现多个Vif连接不同网络(通过vXlan协议配置不同的网络)。
这些Vif可以随时被配置生产。例如,在宿主机接到用户(如图1中的客户端101)订购Vif之后,宿主机再按订单数量配置生产这些Vif(如图1中的Vif321、Vif322、Vif323和Vif324等)。又例如,宿主机可以预先配置生产一些Vif,然后再销售这些Vif。
如图2所示,为宿主机上的VM配置多个虚拟网卡的方法包括以下步骤:S210,网络服务组件在虚拟交换机上设置多个虚拟交换机端口;S220,网络服务组件在虚拟机中创建多个虚拟网卡S230,网络服务组件建立多个虚拟网卡与多个虚拟交换机端口之间的第一映射关系;S240,当虚拟网卡启动时,网络服务组件建立启动的虚拟网卡和与启动的虚拟网卡具有第一映射关系的虚拟交换机端口之间的网络通道。
在步骤S210中,网络服务组件可以包括中央处理单元CPU、只读存储器ROM和随机存取存储器RAM等元件的组件,其内部可以运行程序软件。宿主机可以通过网络服务组件进行管理控制等操作。网络服务组件可以先设定vSwitch默认无vport信息,当用户需要在指定的NC上创建Vif时,可以再创建多个vport。Vif数量和vport数量可以相同,也可以不同。在VM未启动时,vport可单独存在。
在本实施例中,网络服务组件可以先在vSwitch上设置多个vport,然后设置vport的带宽参数。例如,网络服务组件为vport进行限速定义,以限制带宽的能力。具体的,网络服务组件可以为各个vport限速5Mb带宽,支持Bps和Pps等限速设置。
在一些其他实施例中,网络服务组件可以是网络服务平台或者网络控制组件等。
在步骤S220中,网络服务组件可以先通过虚拟化libvirt(函数库)创建VM,然后在VM中的Vif的描述文件中加入vport的绑定信息,该绑定信息用于VM在于客户端进行网络交互时,能够找到转发的vport接口。网络服务组件还可以设置Vif的速度参数。例如,网络服务组件可以定义Vif的限速为硬件规格的能力值。具体的,网络服务组件可以将虚拟网卡定义为千兆虚拟网卡,万兆虚拟网卡等。
在步骤S230中,网络服务组件可以通过建立多个Vif与多个vport之间的第一映射关系,将各个Vif与对应的vport绑定。如此设计可以预先规划各个Vif与对应的vport之间的网络通道,以使数据流量按预定的路径流动。
在步骤S240中,当Vif启动时,网络服务组件可以先获取VM动态分配给启动的Vif的IP地址。例如,网络服务组件可以基于DHCP协议,获取VM动态分配给启动的Vif的IP地址。然后,网络服务组件可以基于IP地址,建立启动的Vif和与启动的Vif具有第一映射关系的vport之间的网络通道。
由此,本发明实施例可以通过网络服务组件在vSwitch上设置多个vport,在VM中创建多个Vif,以及建立各个Vif与各个vport之间的映射关系,当Vif启动时,启动的Vif和与其具有映射关系的vport之间的网络通道,可以使得数据流按预先设计的Vif与该Vif对应的vport之间的网络通道流动。通过该方式可以为宿主机上的VM配置生产多个Vif,且可以确保宿主机能够精确控制通过这些Vif的数据流。
在一些实施例中,在网络服务组件在vSwitch上设置N个vport之前,为宿主机上的VM配置多个虚拟网卡的方法还可以包括:网络服务组件获取VM的媒体访问控制(MediaAccess Control,MAC)地址;网络服务组件基于MAC地址配置VM的IP地址;网络服务组件建立IP地址与MAC地址的第二映射关系。由此,本发明实施例可以根据第二映射关系将客户端和VM进行关联,另外,可以根据实际网络资源(MAC地址和IP地址等资源)配置虚拟网卡,以合理利用资源。
本发明实施例可以废弃现有的静态定义IP的方式,采用DHCP方式获取IP地址。例如,DHCP服务端(客户端)用户在创建虚拟网卡时就配置MAC和IP的映射关系,当多个虚拟网卡启动时,VM可以通过DHCP客户端获取IP地址。
在一些实施例中,为宿主机上的VM配置多个虚拟网卡的方法还可以包括:网络服务组件将多个vport中的部分vport设置为同一个虚拟交换机端口组vport group;网络服务组件将与vport group之外的1个vport具有第一映射关系的Vif设置为主Vif。在本实施例中,可以默认将VM创建时所带的那块Vif定义为主Vif。在网络通信时,该主Vif不能拔掉,其可以被用户用于控制VM的重要网络入口,后续***的Vif都可以拔掉。
本发明实施例配置的虚拟网卡(例如主Vif和Vif)均可以支持热插拔,且Vif对应的公网IP可以在全网范围内唯一。由此,本发明实施例可以实现Vif在同一云厂商提供的云服务内任意漂移,实现无域名化,也可以无缝快速的将业务进行大范围远距离的迁移。
在一些实施例中,为宿主机上的VM配置多个虚拟网卡的方法还可以包括:网络服务组件将vport group配置为用户流量端口;网络服务组件将与主Vif对应的vport配置为管理端口。具体的,vport group的个数可以是多个。例如,vport group1(VG1)和vportgroup2(VG2)等。默认加入某一组的用户可将该组设定为不同的用途。例如,用户可将vportgroup1对应的业务可以被设定为用户流量,将VG1外部的一个Vif(如主Vif)对应的端口(如P8)设置为管理端口。如此设计可以实现:当用户流量太大,把VG1内的所有端口的带宽占满时,用户依旧可以轻松的发送控制指令到VM,避免因网络堵塞导致的管控***失败。
另外,基于以上机制,本发明实施例还可以实现网络安全隔离。因为VG1和P8被设定了不同的用户业务,它们在应用上通过绑定虚拟网卡的形式绑定了不同的服务,所以同一台VM可以实现不同的服务网络隔离。
具体的,网络服务组件在NC上创建vport的时候,可以指定vport所在的组,如果该组不存在,则可以直接创建;如果该组已存在,则可以直接将对应的vport加入之前已存在的限速组。如此设计可以共享带宽信息,而无需在组中的VM使用单个vport的限速值。
例如,网络服务组件可以定义vport group为多个vport的合并限速能力,vportgroup对外可以包装为多个vport,而在底层则设计为一个vport group。此时,各个Vif可以映射到对应的各个vport上。
网络服务组件在设置限速时,可以设置限速范围的4个指标。例如,网络服务组件可指定tx_bps、rx_bps用于限定出入带宽限速,还可以指定tx_pps、rx_pps用于限定出入的网络包限速。其中,每个虚拟网卡对应的vport都可以设置上述4个值,每个组也可以限定对应4个指标值,但加入组的虚拟网卡对应vport上的值将不再生效,届时将以小组的整体指标为准。
因为配置虚拟网卡相对生产物理网卡不仅时间短,而且方便,还节省资源。所以上述发明实施例可以简单配置多个虚拟网卡,且可以实现单个虚拟网卡的低价格。由于单独的虚拟网卡价格便宜,对于移动端(客户端)应用可以通过购买虚拟网卡实现IP的预留占用。
上述发明实施例简单配置多个虚拟网卡的方式相对于现有技术方案可以大大节约了成本。现有技术方案,例如国内的火车票抢票应用(APP),很多个人用户都是购买一台服务器和一个公网IP,而没有购买域名,因此他们将IP地址静态写入了APP中。但这类应用只有春节或重大节日才会有很大流量,平时流量则很少。又如,按年购买VM,用户付出的成本很高;但如果用户一旦释放IP,则在其需要时,IP可能被他人占用。在本发明实施例中,用户可以先购买一块游离态的虚拟网卡,需要VM的时候,再买一台VM,将虚拟网卡***VM内使用,不需要VM的时候保留虚拟网卡,释放VM,这大大的降低了成本。
图3是本发明一实施例的为宿主机上的VM配置多个虚拟网卡的过程中虚拟网卡相关状态的示意图。
在本实施例中,配置的虚拟网卡可以是弹性网卡ENI。网络服务组件网络服务组件可以定义ENI的状态为creating、free、attaching、attached、detaching、deleting、deleted等状态。其中free可以是游离态的状态,此时虚拟网卡未***任何VM,不能使用。Attached可以为***VM状态,表明用户可以通过VM使用这块虚拟网卡。但实际过程中,可能会由于VM内部的DHCP异常,而引发了IP未配置的情况。由于缺少IP,所以导致虚拟网卡未配置成功,进而导致网络不通,此时用户可以通过补丁进行修复处理。Attached可以表明硬件设备已经安装在VM上且可用。
如图3所示,为宿主机上的VM配置多个虚拟网卡的过程和其对应的虚拟网卡状态可以如下所示:
S301,开始状态,网络服务组件为宿主机上的VM配置Vif做好了准备。
S302,网络服务组件接收创建Vif请求,响应于创建Vif请求执行Create_eni(创建一块弹性虚拟网卡)的操作。此时,Vif的状态可以为creating状态。其中,创建Vif的请求可以由用户输入,该请求用于指定VM。Vif创建时,Vif可以自动绑定到指定的VM上。
S303,创建成功后Vif的状态可以为free状态。网络服务组件接收挂载Vif请求,响应于挂载Vif请求执行Attach_eni(挂载free状态的Vif到VM上,允许停机和运行态两种状态)的操作。
S304,此时Vif的状态可以为attaching状态。
S305,当Vif挂载成功Auto attach success时,Vif的状态可以为attached状态。
S306,在挂载成功后,如果不需要使用Vif,可以执行Detach_eni(卸载attached状态的Vif为free状态,允许停机和运行态两种状态)操作。
一方面,卸载成功(Auto detach success)之后,Vif的状态可以为free状态(S303的状态)。另一方面,当执行Detalte_eni操作时,Vif的状态可以如S307的deleting状态。
S307,在挂载成功后,如果不需要使用Vif,也可以执行Detalte_eni(删除Vif,正常只允许用户删除free状态的Vif,在释放VM的时候可强制指定Vif随VM一起释放)操作。此时,Vif的状态可以为deleting状态。
S308,当删除Vif成功(Auto detach success)之后,Vif的状态可以为deleted状态。
S309,操作结束。
图3实施例的操作可以根据实际需求选择全部执行或者部分执行,也可以变更各步操作的顺序,还可以增加或者减少一些步骤,具体的实现方式可以如下面各个实施例所示。
在一些实施例中,网络服务组件定义虚拟网卡的以下一种或者两种以上状态参数:正在创建creating状态参数、游离free状态参数、正在挂载attaching状态参数、已挂载attached状态参数、正在卸载detaching状态参数、正在删除deleting状态参数、已删除deleted状态参数。
在一些实施例中,网络服务组件在VM中创建N个虚拟网卡之后,该方法还可以包括:网络服务组件接收挂载虚拟网卡请求;网络服务组件响应于挂载虚拟网卡请求,判断创建的虚拟网卡的状态参数是否是free状态参数;当状态参数是free状态参数时,网络服务组件将创建的虚拟网卡挂载至VM;当挂载成功时,网络服务组件将挂载的虚拟网卡的状态参数变更为attached状态参数。
在一些实施例中,该方法还可以包括:网络服务组件接收卸载虚拟网卡请求;网络服务组件响应于卸载虚拟网卡请求,判断创建的虚拟网卡的状态参数是否是attached状态参数;当状态参数是attached状态参数时,网络服务组件从VM卸载挂载的虚拟网卡;当卸载成功时,网络服务组件将卸载的虚拟网卡的状态参数变更为free状态参数。
在一些实施例中,该方法还可以包括:网络服务组件接收删除虚拟网卡请求;网络服务组件响应于删除虚拟网卡请求,判断创建的虚拟网卡的状态参数是否是attached状态参数;当状态参数是attached状态参数时,网络服务组件从VM删除挂载的虚拟网卡;当删除成功时,网络服务组件将删除的虚拟网卡的状态参数变更为deleted状态参数。
由此,上述发明实施例可以简单方便地创建、删除虚拟网卡等,如此设计可以满足用户的灵活操作要求,改善了用户的体验。
图4是本发明一实施例的为宿主机上的虚拟机配置多个虚拟网卡的流程的示意图。
在本实施例中,将以用户购买单独虚拟网卡为应用场景进行描述。如图4所示,该方法包括以下步骤:
S401,开始。
S402,网络服务组件接收用户下单购买Vif的请求。
S403,网络服务组件响应于购买Vif请求,判断VM的MAC地址是否足够。如果MAC地址资源不足,则转S411。
S404,如果MAC地址资源充足,网络服务组件判断VM的IP地址是否足够。如果IP地址资源不足,则转S411。
S411,购买Vif失败。
S405,上接S404,如果IP地址资源充足,用户就可以付款了。
S406,在收到用户付的款后,网络服务组件就可以生成Vif资源了。生产出的Vif资源后在DB数据库内增加记录,说明占生产的网卡所占用的MAC资源和IP资源。如果MAC资源和IP资源枯竭,网络服务组件将不再生产新的Vif。
S407,网络服务组件判断是否在用户购买时就将Vif挂载到VM上。具体可以根据客户的要求作出判断。
S408,如果需要在用户购买时就将Vif挂载到VM上,则可以将Vif挂载到VM上。
S409,如果不需要在用户购买时就将Vif挂载到VM上,则可以通知DHCP server保存MAC和IP的映射关系,待用户需要时,再将Vif挂载到VM上(该过程还将在下文进一步进行描述)。
S410,Vif生产成功。
图4实施例的操作可以根据实际需求选择全部执行或者部分执行,也可以变更操作顺序,还可以增加或者减少一些步骤,具体的实现方式可以如下面各个实施例所示。
在一些实施例中,网络服务组件在vSwitch上设置N个vport之前,该方法还可以包括:网络服务组件接收购买虚拟网卡请求;网络服务组件响应于购买虚拟网卡请求,判断VM的MAC地址是否足够;当MAC地址足够时,网络服务组件判断IP地址是否足够;当IP地址足够时,网络服务组件向VM发送生产虚拟网卡指令。
在一些实施例中,该方法还可以包括:在生产虚拟网卡之后,网络服务组件记录生产的虚拟网卡所占用的MAC地址和IP地址;在生产的虚拟网卡挂载至VM之后,网络服务组件保存MAC地址与IP地址的第二映射关系;或者,网络服务组件直接保存MAC地址与IP地址的第二映射关系。
由此,上述发明实施例可以简单方便地创建、挂载虚拟网卡等,可以用于网络销售,如此设计可以满足用户的灵活操作要求,改善了用户的体验。
在一些实施例中,网络服务组件可以先生产一些虚拟网卡,然后再从网络上销售给用户。
图5是本发明一实施例的使用宿主机上的虚拟机的多个虚拟网卡的流程的示意图。
在本实施例中,将以用户***虚拟网卡使用该虚拟网卡为应用场景进行描述。网络服务组件可以根据用户输入指令进行相应操作,本实施例的动作执行主体可以是网络服务组件。如图5所示,该方法包括以下步骤:
S501,开始。
S502,网络服务组件检查VM是否是running状态或stopped状态。
S503,当检查结果显示为是时,网络服务组件将ENI状态修改为attaching。
S504,网络服务组件在NC上创建vport。
S505,网络服务组件判断是否成功创建了vport。
S506,当判断成功创建了vport时,网络服务组件下发vport对应的路由信息。
S507,网络服务组件判断下发路由信息是否成功。
S508,当判断下发路由信息成功时,网络服务组件更新ENI状态为attached。
S509,网络服务组件检查VM是否是running状态。
S510,当检查VM不是running状态时,网络服务组件通过attach Vif接口连接客户端。
S511,网络服务组件判断客户端是否运行正常。
S512,当判断客户端运行时,网络服务组件接收客户端从服务器端请求并配置IP地址。
S513,网络服务组件判断客户端是否正常配置了IP地址。
S514,如果客户端正常配置了IP地址,网络服务组件指示操作成功。
S515,如果客户端没有正常配置了IP地址,网络服务组件通知客户端打补丁(patch)并触发再次配置IP地址,然后再转S514。
S516,上接S507,判断得到下发路由信息不成功时,网络服务组件判断是否超过最大重试次数。如果网络服务组件判断没有超过最大重试次数,则转S506。
S517,如果网络服务组件判断是超过最大重试次数,则删除vport。
S518,网络服务组件判断是否删除成功。
S519,如果网络服务组件判断删除成功,则修改ENI状态为free,然后转S520。
S520,上接S519,网络服务组件指示操作失败。本步骤还可以上接S502,当检查结果显示为否时(既不是running状态,也不是stopped状态),指示操作失败。
需要说明的是,在不冲突的情况下,本领域的技术人员可以按实际需要将上述的操作步骤的顺序进行灵活调整,或者将上述步骤进行灵活组合等操作。为了简明,不再赘述各种实现方式。
图6是本发明一实施例的宿主机的结构示意图。
如图6所示,宿主机300可以包括:vSwitch310、VM320和网络服务组件WebService330。vSwitch310和VM320分别与Web Service330相连。
在本实施例中,vSwitch310内设置有8个vport,分别为vport311、vport312、vport313、vport314、vport315、vport316、vport317和vport318。其中,vport311、vport312、vport313、vport314、vport315这5个端口组成了一个小组vport group31。port316、vport317和vport318均是设置在port group31的外部的单独的端口。
在本实施例中,VM320中创建有4个Vif,分别为:Vif321、Vif322、Vif323和Vif324。
在本实施例中,Web Service330可以用于在vSwitch310创建上述vport,在VM中创建上述Vif,并建立各个Vif与各个vport之间的第一映射关系。例如,Web Service330可以建立Vif321与vport311、Vif322与vport313、Vif323与vport315以及Vif324与vport318之间的第一映射关系。当Vif321启动时,建立Vif321与vport311之间的网络通道。同理,当Vif322启动时,Vif322与vport313之间的通道联通。
图7是本发明一实施例的网络服务组件的结构示意图。
如图7所示,该网络服务组件330可以包括:端口设置模块331、网卡创建模块332、第一建立模块333和通道建立模块334。其中,端口设置模块331可以用于在虚拟交换机上设置多个虚拟交换机端口虚拟交换机端口;网卡创建模块332可以用于在虚拟机中创建多个虚拟网卡;第一建立模块333可以用于建立多个虚拟网卡与多个虚拟交换机端口之间的第一映射关系;通道建立模块334可以用于当虚拟网卡启动时,建立启动的虚拟网卡和与启动的虚拟网卡具有第一映射关系的虚拟交换机端口之间的网络通道。
在一些实施例中,通道建立模块334可以包括:地址获取单元和通道建立单元。其中,地址获取单元可以用于获取VM动态分配给启动的虚拟网卡的IP地址;通道建立单元可以用于基于IP地址,建立启动的虚拟网卡和与启动的虚拟网卡具有第一映射关系的vport之间的网络通道。
在一些实施例中,网络服务组件330还可以包括:MAC地址获取模块、IP地址配置模块和第二建立模块。其中,MAC地址获取模块可以用于获取VM的MAC地址;IP地址配置模块可以用于基于MAC地址配置VM的IP地址;第二建立模块可以用于建立IP地址与MAC地址的第二映射关系。
在一些实施例中,网络服务组件330还可以包括:端口组设置模块和主Vif设置模块。其中,端口组设置模块可以用于将多个vport中的部分vport设置为同一个虚拟交换机端口组vport group;主Vif设置模块可以用于将与vport group之外的1个vport具有第一映射关系的虚拟网卡设置为主Vif。
在一些实施例中,网络服务组件330还可以包括:流量端口配置模块和管理端口配置模块。其中,流量端口配置模块可以用于将vport group配置为用户流量端口;管理端口配置模块可以用于将与主Vif对应的vport配置为管理端口。
在一些实施例中,网络服务组件330还可以包括:速度参数设置模块和/或带宽参数设置模块。其中。速度参数设置模块可以用于设置虚拟网卡的速度参数;带宽参数设置模块可以用于设置vport的带宽参数。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
在一些实施例中,网络服务组件330还可以包括参数定义模块。该参数定义模块可以用于定义虚拟网卡的以下一种或者两种以上状态参数:正在创建creating状态参数、游离free状态参数、正在挂载attaching状态参数、已挂载attached状态参数、正在卸载detaching状态参数、正在删除deleting状态参数、已删除deleted状态参数。
在一些实施例中,网络服务组件330还可以包括:请求接收模块、参数判断模块、虚拟网卡挂载模块和状态变更模块。其中,请求接收模块可以用于接收挂载虚拟网卡请求;参数判断模块可以用于响应于挂载虚拟网卡请求,判断创建的虚拟网卡的状态参数是否是free状态参数;虚拟网卡挂载模块可以用于当状态参数是free状态参数时,将创建的虚拟网卡挂载至VM;状态变更模块可以用于当挂载成功时,将挂载的虚拟网卡的状态参数变更为attached状态参数。
在一些实施例中,网络服务组件330还可以包括:请求接收模块、参数判断模块、虚拟网卡卸载模块和状态变更模块。其中,请求接收模块可以用于接收卸载虚拟网卡请求;参数判断模块可以用于响应于卸载虚拟网卡请求,判断创建的虚拟网卡的状态参数是否是attached状态参数;虚拟网卡卸载模块可以用于当状态参数是attached状态参数时,从VM卸载挂载的虚拟网卡;状态变更模块可以用于当卸载成功时,将卸载的虚拟网卡的状态参数变更为free状态参数。
在一些实施例中,网络服务组件330还可以包括:请求接收模块、参数判断模块、虚拟网卡卸载模块和状态变更模块。其中,请求接收模块可以用于接收删除虚拟网卡请求;参数判断模块可以用于响应于删除虚拟网卡请求,判断创建的虚拟网卡的状态参数是否是attached状态参数;虚拟网卡卸载模块可以用于当状态参数是attached状态参数时,从VM删除挂载的虚拟网卡;状态变更模块可以用于当删除成功时,将删除的虚拟网卡的状态参数变更为deleted状态参数。
在一些实施例中,网络服务组件330还可以包括:订单获取模块、MAC地址判断模块、IP地址判断模块和指令发送模块。其中,订单获取模块可以用于网络服务组件接收购买虚拟网卡请求;MAC地址判断模块可以用于响应于购买虚拟网卡请求,判断VM的MAC地址是否足够;IP地址判断模块可以用于当MAC地址足够时,判断IP地址是否足够;指令发送模块可以用于当IP地址足够时,网络服务组件向VM发送生产虚拟网卡指令。
在一些实施例中,网络服务组件330还可以包括:地址记录模块和第一关系保存模块(或者第二关系保存模块)。其中,地址记录模块可以用于在生产虚拟网卡之后,记录生产的虚拟网卡所占用的MAC地址和IP地址;第一关系保存模块可以用于在生产的虚拟网卡挂载至VM之后,保存MAC地址与IP地址的第二映射关系;第二关系保存模块可以用于直接保存MAC地址与IP地址的第二映射关系。
在一些实施例中,地址获取单元还可以用于:基于DHCP协议,获取VM动态分配给启动的虚拟网卡的IP地址。
在一些实施例中,网络服务组件330还可以包括:请求发送模块、地址接收模块和通道联通模块。其中,请求发送模块可以用于通过网路通道发送连接客户端请求;地址接收模块可以用于接收客户端配置的IP地址;
通道联通模块可以用于当IP地址正确时,将与启动的虚拟网卡具有第一映射关系的vport和客户端之间的网络通道联通。
在一些实施例中,网络服务组件330还可以包括:补丁发送模块。其中,补丁发送模块可以用于当IP地址不正确时,网络服务组件向客户端发送打补丁patch指令并重新接收客户端配置的IP地址。
需要说明的是,上述各实施例的装置可作为上述各实施例的用于各实施例的方法中的执行主体,可以实现各个方法中的相应流程,实现相同的技术效果,为了简洁,此方面内容不再赘述。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令,当其在计算机上运行时,使得计算机执行上述各个实施例中描述的方法。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid StateDisk(SSD))等。
图8是本发明一实施例的宿主机的框架结构示意图。
如图8所示,该框架可以包括中央处理单元(CPU)801,其可以根据存储在只读存储器(ROM)802中的程序或者从存储部分808加载到随机访问存储器(RAM)803中的程序而执行上述实施例所做的各种操作。
在RAM803中,还存储有***架构操作所需的各种程序和数据。CPU 801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
以下部件连接至I/O接口805:包括键盘、鼠标等的输入部分806;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分807;包括硬盘等的存储部分808;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因特网的网络执行通信处理。驱动器810也根据需要连接至I/O接口805。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装入存储部分808。
特别地,根据本发明的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (30)
1.一种为宿主机上的虚拟机配置多个虚拟网卡的方法,其特征在于,所述宿主机包括:虚拟交换机、虚拟机和网络服务组件,所述虚拟交换机和所述虚拟机分别与所述网络服务组件连接,所述方法包括以下步骤:
所述网络服务组件在所述虚拟交换机上设置多个虚拟交换机端口;
所述网络服务组件在所述虚拟机中创建多个虚拟网卡;
所述网络服务组件建立多个所述虚拟网卡与多个所述虚拟交换机端口之间的第一映射关系;
当所述虚拟网卡启动时,所述网络服务组件获取所述虚拟机动态分配给所述启动的虚拟网卡的互联网协议地址;
所述网络服务组件基于所述互联网协议地址,建立所述启动的虚拟网卡和与所述启动的虚拟网卡具有所述第一映射关系的虚拟交换机端口之间的网络通道。
2.根据权利要求1所述的方法,其特征在于,所述网络服务组件在所述虚拟交换机上设置多个虚拟交换机端口之前,还包括:
所述网络服务组件获取所述虚拟机的媒体访问控制地址;
所述网络服务组件基于所述媒体访问控制地址配置所述虚拟机的互联网协议地址;
所述网络服务组件建立所述互联网协议地址与所述媒体访问控制地址的第二映射关系。
3.根据权利要求1所述的方法,其特征在于,还包括:
所述网络服务组件将多个所述虚拟交换机端口中的部分所述虚拟交换机端口设置为同一个虚拟交换机端口组;
所述网络服务组件将与所述虚拟交换机端口组之外的1个虚拟交换机端口具有所述第一映射关系的虚拟网卡设置为主虚拟网卡。
4.根据权利要求3所述的方法,其特征在于,还包括:
所述网络服务组件将所述虚拟交换机端口组配置为用户流量端口;
所述网络服务组件将与所述主虚拟网卡对应的所述虚拟交换机端口配置为管理端口。
5.根据权利要求1所述的方法,其特征在于,还包括:
所述网络服务组件设置所述虚拟网卡的速度参数;
和/或,
所述网络服务组件设置所述虚拟交换机端口的带宽参数。
6.根据权利要求1-5中任意一项所述的方法,其特征在于,还包括:
所述网络服务组件定义所述虚拟网卡的以下一种或者两种以上状态参数:
正在创建状态参数、游离状态参数、正在挂载状态参数、已挂载状态参数、正在卸载状态参数、正在删除状态参数、已删除状态参数。
7.根据权利要求6所述的方法,其特征在于,所述网络服务组件在所述虚拟机中创建多个虚拟网卡之后,还包括:
所述网络服务组件接收挂载虚拟网卡请求;
所述网络服务组件响应于所述挂载虚拟网卡请求,判断创建的虚拟网卡的状态参数是否是所述游离状态参数;
当所述状态参数是所述游离状态参数时,所述网络服务组件将创建的虚拟网卡挂载至所述虚拟机;
当挂载成功时,所述网络服务组件将挂载的虚拟网卡的状态参数变更为所述已挂载状态参数。
8.根据权利要求7所述的方法,其特征在于,还包括:
所述网络服务组件接收卸载虚拟网卡请求;
所述网络服务组件响应于所述卸载虚拟网卡请求,判断创建的虚拟网卡的状态参数是否是所述已挂载状态参数;
当所述状态参数是所述已挂载状态参数时,所述网络服务组件从所述虚拟机卸载挂载的虚拟网卡;
当卸载成功时,所述网络服务组件将卸载的虚拟网卡的状态参数变更为所述游离状态参数。
9.根据权利要求7所述的方法,其特征在于,还包括:
所述网络服务组件接收删除虚拟网卡请求;
所述网络服务组件响应于所述删除虚拟网卡请求,判断创建的虚拟网卡的状态参数是否是所述已挂载状态参数;
当所述状态参数是所述已挂载状态参数时,所述网络服务组件从所述虚拟机删除挂载的虚拟网卡;
当删除成功时,所述网络服务组件将删除的虚拟网卡的状态参数变更为所述已删除状态参数。
10.根据权利要求1-5中任意一项所述的方法,其特征在于,所述网络服务组件在所述虚拟交换机上设置多个虚拟交换机端口之前,还包括:
所述网络服务组件接收购买虚拟网卡请求;
所述网络服务组件响应于所述购买虚拟网卡请求,判断所述虚拟机的媒体访问控制地址是否足够;
当所述媒体访问控制地址足够时,所述网络服务组件判断互联网协议地址是否足够;
当所述互联网协议地址足够时,所述网络服务组件向所述虚拟机发送生产虚拟网卡指令。
11.根据权利要求10所述的方法,其特征在于,还包括:
在生产所述虚拟网卡之后,所述网络服务组件记录生产的虚拟网卡所占用的媒体访问控制地址和互联网协议地址;
在生产的虚拟网卡挂载至所述虚拟机之后,所述网络服务组件保存所述媒体访问控制地址与所述互联网协议地址的第二映射关系;
或者,
所述网络服务组件直接保存所述媒体访问控制地址与所述互联网协议地址的第二映射关系。
12.根据权利要求1所述的方法,其特征在于,所述网络服务组件获取所述虚拟机动态分配给所述启动的虚拟网卡的互联网协议地址,包括:
所述网络服务组件基于动态主机配置协议,获取所述虚拟机动态分配给启动的虚拟网卡的互联网协议地址。
13.根据权利要求1-5中任意一项所述的方法,其特征在于,所述建立所述启动的虚拟网卡和与所述启动的虚拟网卡具有所述第一映射关系的虚拟交换机端口之间的网络通道之后,还包括:
所述网络服务组件通过网络 通道发送连接客户端请求;
所述网络服务组件接收客户端配置的互联网协议地址;
当所述互联网协议地址正确时,所述网络服务组件将与启动的虚拟网卡具有所述第一映射关系的虚拟交换机端口和所述客户端之间的网络通道联通。
14.根据权利要求13所述的方法,其特征在于,还包括:
当所述互联网协议地址不正确时,所述网络服务组件向所述客户端发送打补丁指令并重新接收所述客户端配置的互联网协议地址。
15.一种宿主机,其特征在于,包括:虚拟交换机、虚拟机和网络服务组件,所述虚拟交换机和所述虚拟机分别与所述网络服务组件连接,所述网络服务组件包括:
端口设置模块,用于在所述虚拟交换机上设置多个虚拟交换机端口;
网卡创建模块,用于在所述虚拟机中创建多个虚拟网卡;
第一建立模块,用于建立多个所述虚拟网卡与多个所述虚拟交换机端口之间的第一映射关系;
通道建立模块,用于当所述虚拟网卡启动时,获取所述虚拟机动态分配给所述启动的虚拟网卡的互联网协议地址;基于所述互联网协议地址,建立启动的虚拟网卡和与所述启动的虚拟网卡具有所述第一映射关系的虚拟交换机端口之间的网络通道。
16.根据权利要求15所述的宿主机,其特征在于,所述网络服务组件还包括:
媒体访问控制地址获取模块,用于获取所述虚拟机的媒体访问控制地址;
互联网协议地址配置模块,用于基于所述媒体访问控制地址配置所述虚拟机的互联网协议地址;
第二建立模块,用于建立所述互联网协议地址与所述媒体访问控制地址的第二映射关系。
17.根据权利要求15所述的宿主机,其特征在于,所述网络服务组件还包括:
端口组设置模块,用于将多个所述虚拟交换机端口中的部分所述虚拟交换机端口设置为同一个虚拟交换机端口组;
主网卡设置模块,用于将与所述虚拟交换机端口组之外的1个虚拟交换机端口具有所述第一映射关系的虚拟网卡设置为主虚拟网卡。
18.根据权利要求17所述的宿主机,其特征在于,所述网络服务组件还包括:
流量端口配置模块,用于将所述虚拟交换机端口组配置为用户流量端口;
管理端口配置模块,用于将与所述主虚拟网卡对应的所述虚拟交换机端口配置为管理端口。
19.根据权利要求15所述的宿主机,其特征在于,所述网络服务组件还包括:
速度参数设置模块,用于设置所述虚拟网卡的速度参数;
和/或,
带宽参数设置模块,用于设置所述虚拟交换机端口的带宽参数。
20.根据权利要求15-19中任意一项所述的宿主机,其特征在于,所述网络服务组件还包括:
参数定义模块,用于定义所述虚拟网卡的以下一种或者两种以上状态参数:
正在创建状态参数、游离状态参数、正在挂载状态参数、已挂载状态参数、正在卸载状态参数、正在删除状态参数、已删除状态参数。
21.根据权利要求20所述的宿主机,其特征在于,所述网络服务组件还包括:
请求接收模块,用于接收挂载虚拟网卡请求;
参数判断模块,用于响应于所述挂载虚拟网卡请求,判断创建的虚拟网卡的状态参数是否是所述游离状态参数;
网卡挂载模块,用于当所述状态参数是所述游离状态参数时,将创建的虚拟网卡挂载至所述虚拟机;
状态变更模块,用于当挂载成功时,将挂载的虚拟网卡的状态参数变更为所述已挂载状态参数。
22.根据权利要求21所述的宿主机,其特征在于,所述网络服务组件还包括:
所述请求接收模块,还用于接收卸载虚拟网卡请求;
所述参数判断模块,还用于响应于所述卸载虚拟网卡请求,判断创建的虚拟网卡的状态参数是否是所述已挂载状态参数;
网卡卸载模块,用于当所述状态参数是所述已挂载状态参数时,从所述虚拟机卸载挂载的虚拟网卡;
所述状态变更模块,还用于当卸载成功时,将卸载的虚拟网卡的状态参数变更为所述游离状态参数。
23.根据权利要求21所述的宿主机,其特征在于,所述网络服务组件还包括:
所述请求接收模块,还用于接收删除虚拟网卡请求;
所述参数判断模块,还用于响应于所述删除虚拟网卡请求,判断创建的虚拟网卡的状态参数是否是所述已挂载状态参数;
网卡卸载模块,用于当所述状态参数是所述已挂载状态参数时,从所述虚拟机删除挂载的虚拟网卡;
所述状态变更模块,还用于当删除成功时,将删除的虚拟网卡的状态参数变更为所述已删除状态参数。
24.根据权利要求15-19中任意一项所述的宿主机,其特征在于,所述网络服务组件还包括:
订单获取模块,用于所述网络服务组件接收购买虚拟网卡请求;
媒体访问控制地址判断模块,用于响应于所述购买虚拟网卡请求,判断所述虚拟机的媒体访问控制地址是否足够;
互联网协议地址判断模块,用于当所述媒体访问控制地址足够时,判断所述互联网协议地址是否足够;
指令发送模块,用于当所述互联网协议地址足够时,所述网络服务组件向所述虚拟机发送生产虚拟网卡指令。
25.根据权利要求24所述的宿主机,其特征在于,所述网络服务组件还包括:
地址记录模块,用于在生产所述虚拟网卡之后,记录生产的虚拟网卡所占用的媒体访问控制地址和互联网协议地址;
第一关系保存模块,用于在生产的虚拟网卡挂载至所述虚拟机之后,保存所述媒体访问控制地址与所述互联网协议地址的第二映射关系;
或者,
第二关系保存模块,用于直接保存所述媒体访问控制地址与所述互联网协议地址的第二映射关系。
26.根据权利要求15所述的宿主机,其特征在于,所述地址获取单元还用于:
基于动态主机配置协议,获取所述虚拟机动态分配给启动的虚拟网卡的互联网协议地址。
27.根据权利要求15-19中任意一项所述的宿主机,其特征在于,所述网络服务组件还包括:
请求发送模块,用于通过网络 通道发送连接客户端请求;
地址接收模块,用于接收客户端配置的互联网协议地址;
通道联通模块,用于当所述互联网协议地址正确时,将与启动的虚拟网卡具有所述第一映射关系的虚拟交换机端口和所述客户端之间的网络通道联通。
28.根据权利要求27所述的宿主机,其特征在于,还包括:
补丁发送模块,用于当所述互联网协议地址不正确时,所述网络服务组件向所述客户端发送打补丁指令并重新接收所述客户端配置的互联网协议地址。
29.一种宿主机,其特征在于,包括:
存储器,用于存放程序;
处理器,用于执行所述存储器存储的程序,所述程序使得所述处理器执行如权利要求1-14中任意一项所述的方法。
30.一种计算机可读存储介质,其特征在于,包括:存储有指令,
当所述指令在计算机上运行时,使得计算机执行如权利要求1-14中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711096692.4A CN109768871B (zh) | 2017-11-09 | 2017-11-09 | 配置多个虚拟网卡的方法、宿主机和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711096692.4A CN109768871B (zh) | 2017-11-09 | 2017-11-09 | 配置多个虚拟网卡的方法、宿主机和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109768871A CN109768871A (zh) | 2019-05-17 |
CN109768871B true CN109768871B (zh) | 2022-09-16 |
Family
ID=66449965
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711096692.4A Active CN109768871B (zh) | 2017-11-09 | 2017-11-09 | 配置多个虚拟网卡的方法、宿主机和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109768871B (zh) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110198243B (zh) * | 2019-06-11 | 2021-11-19 | 深信服科技股份有限公司 | 一种虚拟机的网络接入方法及相关设备 |
CN112637088B (zh) * | 2019-09-24 | 2023-06-23 | 阿里巴巴集团控股有限公司 | 网络***、网络处理方法和装置、电子设备以及计算机可读存储介质 |
CN112887440B (zh) * | 2019-11-29 | 2023-03-24 | 北京百度网讯科技有限公司 | 一种ip地址管理方法和装置 |
CN110830594B (zh) * | 2019-12-06 | 2022-04-01 | 广州微算互联信息技术有限公司 | 一种扩展云手机ip地址的方法、***、装置及存储介质 |
CN113709200B (zh) * | 2020-05-21 | 2023-11-28 | 阿里巴巴集团控股有限公司 | 一种建立通信连接的方法及装置 |
CN114531405B (zh) * | 2020-10-31 | 2023-06-06 | 华为技术有限公司 | 一种流表处理方法及相关设备 |
CN112350866B (zh) * | 2020-11-06 | 2021-12-21 | 北京首都在线科技股份有限公司 | 处理虚拟机网卡配置信息的方法、装置及存储介质 |
CN112600903B (zh) * | 2020-12-09 | 2023-01-20 | 浪潮云信息技术股份公司 | 一种弹性虚拟网卡迁移方法 |
CN112905192B (zh) * | 2021-02-07 | 2024-02-06 | 优刻得科技股份有限公司 | 在云服务器上进行卸载的方法、控制装置、存储介质 |
CN113326104B (zh) | 2021-08-04 | 2021-10-29 | 苏州浪潮智能科技有限公司 | 一种虚拟机内部配置的修改方法、***及装置 |
CN114257568A (zh) * | 2021-12-09 | 2022-03-29 | 深圳市广和通无线股份有限公司 | 数据传输方法及相关设备 |
CN114338546A (zh) * | 2021-12-24 | 2022-04-12 | 中国联合网络通信集团有限公司 | 虚拟机限速方法、装置、电子设备及可读存储介质 |
CN114844744B (zh) * | 2022-03-04 | 2023-07-21 | 阿里巴巴(中国)有限公司 | 虚拟私有云网络配置方法和装置、电子设备及计算机可读存储介质 |
CN114928490B (zh) * | 2022-05-20 | 2023-08-15 | 国网江苏省电力有限公司 | 容器场景下的多端网络管控方法、装置、存储介质和电子设备 |
CN115766342A (zh) * | 2022-11-14 | 2023-03-07 | 浪潮云信息技术股份公司 | 一种指定租户共享vlan子网的方法及*** |
CN118055052A (zh) * | 2022-11-17 | 2024-05-17 | 中兴通讯股份有限公司 | 动态主机配置协议测试方法、电子设备、计算机可读介质 |
CN115987989B (zh) * | 2023-03-22 | 2023-09-26 | 麒麟软件有限公司 | 一种在普通***中扩展云虚拟网络的方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102932174B (zh) * | 2012-10-25 | 2015-07-29 | 华为技术有限公司 | 一种物理网卡管理方法、装置及物理主机 |
CN103281248B (zh) * | 2013-06-09 | 2016-03-30 | 北京星网锐捷网络技术有限公司 | 网络拓扑的发现方法、装置和*** |
CN103475704B (zh) * | 2013-09-06 | 2016-09-28 | 中国科学院计算技术研究所 | 一种面向虚拟机群应用的虚拟节点配置方法 |
CN103731308A (zh) * | 2013-12-29 | 2014-04-16 | 国云科技股份有限公司 | 一种虚拟机公网管理方法 |
CN103731514B (zh) * | 2013-12-29 | 2017-01-18 | 国云科技股份有限公司 | 一种虚拟网络管理方法 |
JP5904514B1 (ja) * | 2014-10-28 | 2016-04-13 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | 仮想マシンのスナップショットに対して更新を自動的に適用する方法、並びに、そのコンピュータ・システム及びコンピュータ・システム用プログラム |
CN105592016B (zh) * | 2014-10-29 | 2019-04-30 | 国家电网公司 | 一种电力信息***的云环境下虚拟机的保护装置 |
CN105657081B (zh) * | 2016-04-07 | 2019-01-18 | 华为技术有限公司 | 提供dhcp服务的方法、装置及*** |
CN107301083A (zh) * | 2017-06-16 | 2017-10-27 | 郑州云海信息技术有限公司 | 一种创建OpenStack虚拟机方法及OpenStack虚拟机*** |
-
2017
- 2017-11-09 CN CN201711096692.4A patent/CN109768871B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN109768871A (zh) | 2019-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109768871B (zh) | 配置多个虚拟网卡的方法、宿主机和存储介质 | |
US8706850B2 (en) | Computer system and configuration management method therefor | |
US9519580B2 (en) | Load balancing logical units in an active/passive storage system | |
US9588807B2 (en) | Live logical partition migration with stateful offload connections using context extraction and insertion | |
CN111934918A (zh) | 对同一容器集群内的容器实例的网络隔离方法和装置 | |
EP3125468B1 (en) | Cloud application processing method and application deployment method and relevant apparatus and system | |
US9910687B2 (en) | Data flow affinity for heterogenous virtual machines | |
CA2914940A1 (en) | Pre-configure and pre-launch compute resources | |
EP3070633B1 (en) | Network interface devices with remote storage control | |
CN111258627A (zh) | 一种接口文档生成方法和装置 | |
US12007848B2 (en) | Automatic selection of network path connecting backup clients to a pool of multiple backup storage appliances | |
CN109857464B (zh) | 用于平台部署与操作移动操作***的***及其方法 | |
CN109446062B (zh) | 云计算服务中的软件调试的方法和装置 | |
US11444998B2 (en) | Bit rate reduction processing method for data file, and server | |
US20150372854A1 (en) | Communication control device, communication control program, and communication control method | |
CN114996750A (zh) | 数据共享方法以及装置 | |
CN114124812A (zh) | 维护表项一致性的方法、装置及电子设备 | |
US10977069B2 (en) | Systems and methods for performing virtual machine updates without rebuild of distributed databases thereon | |
CN107483637B (zh) | 一种基于nfs的客户端链接管理方法及装置 | |
WO2021077747A1 (zh) | 一种实现应用加载的方法、装置、计算机存储介质及终端 | |
CN115185637A (zh) | PaaS组件管理端和虚拟机代理的通信方法及装置 | |
US10635466B2 (en) | Enhanced security using remote applications | |
KR102206888B1 (ko) | 네트워크 장치 및 그 제어방법 | |
JP6349786B2 (ja) | 仮想計算機管理装置、仮想計算機管理方法、及び仮想計算機管理プログラム | |
US9270530B1 (en) | Managing imaging of multiple computing devices |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20230614 Address after: Room 1-2-A06, Yungu Park, No. 1008 Dengcai Street, Sandun Town, Xihu District, Hangzhou City, Zhejiang Province Patentee after: Aliyun Computing Co.,Ltd. Address before: Grand Cayman, Cayman Islands Patentee before: ALIBABA GROUP HOLDING Ltd. |
|
TR01 | Transfer of patent right |