CN113645057B - 一种云平台支持添加网卡模型的方法、装置 - Google Patents
一种云平台支持添加网卡模型的方法、装置 Download PDFInfo
- Publication number
- CN113645057B CN113645057B CN202110712423.6A CN202110712423A CN113645057B CN 113645057 B CN113645057 B CN 113645057B CN 202110712423 A CN202110712423 A CN 202110712423A CN 113645057 B CN113645057 B CN 113645057B
- Authority
- CN
- China
- Prior art keywords
- network card
- card model
- virtual machine
- parameters
- setting
- 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 38
- 238000011161 development Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000006467 substitution reaction Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0893—Assignment of logical groups to network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供一种云平台支持添加网卡模型的方法、装置,所述方法包括如下步骤:修改云平台代码添加网卡模型参数和网卡模型;创建虚拟机,同时创建虚拟机时判断是否指定了网卡模型参数;若是,创建虚拟机时按照指定的网卡模型参数设置虚拟机的网卡模型;若否,判断是否设置镜像元数据,若是,按照镜像元数据中设定的参数指定网卡模型,创建虚拟机时按照指定的网卡模型参数设置虚拟机的网卡模型;若否,创建虚拟机时根据默认的网卡模型参数设置虚拟机的网卡模型。根据不同镜像和实际物理环境指定网卡模型,保障业务的快速稳定运行。
Description
技术领域
本发明涉及云平台虚拟网卡技术领域,具体涉及一种云平台支持添加网卡模型的方法、装置。
背景技术
随着Openstack云平台的大规模应用,客户在实际现场的使用场景范围也越来越广泛。如何保证云平台对不同操作系统有更好的兼容性以及更加便利的管理能力已经成为当前云平台的一个重点发展方向。
随着云技术的快速发展和云业务的广泛应用,云平台作为一个统筹的业务平台,需要管理的虚拟机也越来越多;虚拟机的类型也随着的用户的业务不断扩展,不同的虚拟机对不同的网卡类型有着不同的适应能力;例如像macos镜像系统不支持virtio-net驱动,就只能使用e1000-82545em类型的驱动。
如何快速的将网卡模型添加到云平台中,并在创建虚拟机时根据不同镜像和实际物理环境指定网卡模型,保障业务的快速稳定运行,成为当今云计算发展业务中的日益重要的课题。
发明内容
针对不同操作系统类型,如何快速的将操作系统需要的网卡模型添加到云平台中,保障业务的快速稳定运行的问题,本发明提供一种云平台支持添加网卡模型的方法、装置。
本发明的技术方案是:
第一方面,本发明技术方案提供一种云平台支持添加网卡模型的方法,包括如下步骤:
修改云平台代码添加网卡模型参数和网卡模型;
创建虚拟机,同时创建虚拟机时判断是否指定了网卡模型参数;
若是,创建虚拟机时按照指定的网卡模型参数设置虚拟机的网卡模型;
若否,判断是否设置镜像元数据,若是,按照镜像元数据中设定的参数指定网卡模型,创建虚拟机时按照指定的网卡模型参数设置虚拟机的网卡模型;若否,创建虚拟机时根据默认的网卡模型参数设置虚拟机的网卡模型。在创建虚拟机时根据不同镜像和实际物理环境指定网卡模型,保障业务的快速稳定运行。可以添加任意类型的网卡模型,实现网卡模型可以根据实际任务和需求添加。
进一步的,所述的修改云平台代码添加网卡模型参数和网卡模型的步骤包括:
在网卡模型参数存储文件中添加网卡模型;
定义新的网卡模型的名称;
重构网卡模型的基类;
将网卡模型添加到配置函数中生成网卡模型参数。
进一步的,所述的重构网卡模型的基类的步骤具体包括:
在域文件中的基类中添加新定义的网卡模型的名称到该基类的属性。
进一步的,所述的创建虚拟机时按照指定的网卡模型参数设置虚拟机的网卡模型的步骤还包括:
判断指定的网卡模型是否已经实现,若是,创建虚拟机时按照指定的网卡模型参数设置虚拟机的网卡模型,并生成对应的XML文件;若否,创建虚拟机时根据默认的网卡模型参数设置虚拟机的网卡模型,并生成对应的XML文件。首先判断指定的网卡模型是否已经实现,若实现则设置对应的网卡模型;若没有实现,则设置为默认网卡模型。
进一步的,若未设置镜像元数据,创建虚拟机时根据默认的网卡模型参数设置虚拟机的网卡模型的步骤具体包括:
若未设置镜像元数据,创建虚拟机时根据默认的网卡模型参数设置虚拟机的网卡模型,并生成对应的XML文件。
第二方面,本发明技术方案还提供一种云平台支持添加网卡模型的装置,包括代码设置模块、虚拟机创建模块、虚拟机设置模块、元数据判断模块、元数据指定模块;
代码设置模块,用于修改云平台代码添加网卡模型参数和网卡模型;
虚拟机创建模块,用于创建虚拟机,同时创建虚拟机时判断是否指定了网卡模型参数;
虚拟机设置模块,用于若指定了网卡模型参数时,按照指定的网卡模型参数设置虚拟机的网卡模型;还用于若未设置镜像元数据时,根据默认的网卡模型参数设置虚拟机的网卡模型;
元数据判断模块,用于若未指定网卡模型参数时,判断是否设置镜像元数据;
元数据指定模块,用于若设置了镜像元数据,按照镜像元数据中设定的参数指定网卡模型。
在创建虚拟机时根据不同镜像和实际物理环境指定网卡模型,保障业务的快速稳定运行。可以添加任意类型的网卡模型,实现网卡模型可以根据实际任务和需求添加。
进一步的,所述的代码设置模块包括添加单元、定义单元、重构单元和生成单元;
添加单元,用于在网卡模型参数存储文件中添加网卡模型;
定义单元,用于定义新的网卡模型的名称;
重构单元,用于重构网卡模型的基类;
生成单元,用于将网卡模型添加到配置函数中生成网卡模型参数。
进一步的,重构单元,具体用于在域文件中的基类中添加新定义的网卡模型的名称到该基类的属性。
进一步的,该装置还包括模型判断模块;
模型判断模块,用于判断指定的网卡模型是否已经实现;
虚拟机设置模块,具体用于创建虚拟机时按照指定的网卡模型参数设置虚拟机的网卡模型,并生成对应的XML文件。
进一步的,虚拟机设置模块,还用于若未设置镜像元数据,创建虚拟机时根据默认的网卡模型参数设置虚拟机的网卡模型,并生成对应的XML文件。
通过修改相应代码实现对应网卡模型的添加;同时在创建虚拟机时,可以通过设置镜像元数据或者通过创建虚拟机URL的方式指定网卡模型。判断指定的网卡模型是否已经实现,若实现则设置对应的虚拟机的网卡模型;若没有实现,则将虚拟机的网卡模型设置为默认网卡模型,在创建虚拟机时根据不同镜像和实际物理环境指定网卡模型,保障业务的快速稳定运行。可以添加任意类型的网卡模型,实现网卡模型可以根据实际任务和需求添加。
第三方面,本发明一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如第一方面所述的一种云平台支持添加网卡模型的方法。
从以上技术方案可以看出,本发明具有以下优点:通过修改相应代码实现对应将网卡模型添加到云平台中;同时在创建虚拟机时,根据不同镜像和实际物理环境指定网卡模型,保障业务的快速稳定运行。
此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
由此可见,本发明与现有技术相比,具有突出的实质性特点和显著地进步,其实施的有益效果也是显而易见的。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例的方法的示意性流程图。
图2是本发明另一个实施例的方法的示意性流程图。
图3是本发明一个实施例的装置的示意性框图。
图中,11-代码设置模块,12-虚拟机创建模块,13-元数据判断模块,14-元数据指定模块,15-虚拟机设置模块。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。下面对本发明中出现的关键术语进行解释。
OpenStack云平台:开源OpenStack是一款功能丰富、高可用性、安全、支撑工具全面的云数据中心操作系统。
云主机:是指能够为云平台提供系统运行和数据处理的虚拟主机。在openstack云平台中,由nova模块为云平台提供云主机管理服务。一般而言,通过云平台对云主机进行统一资源管理,可以使得云平台有更加广泛的运营能力,同时使得资源调度和运行更加有效和方便。
网卡模型:一种网卡驱动类型,通过qemu驱动进行模拟实际物理网卡的行为,达到让虚拟机误认为自己拥有这种网卡。云主机可以通过配置某种网卡模型以达到较好的网络性能,实现数据较高效率通信。
如图1所示,本发明实施例提供一种云平台支持添加网卡模型的方法,包括如下步骤:
S11:修改云平台代码添加网卡模型参数和网卡模型;
S12:创建虚拟机;
S13:创建虚拟机时判断是否指定了网卡模型参数;若是,执行步骤S16,若否,执行步骤S14;
S14:判断是否设置镜像元数据,若是,执行步骤S15,若否,执行步骤S17;
S15:按照镜像元数据中设定的参数指定网卡模型;
S16:创建虚拟机时按照指定的网卡模型参数设置虚拟机的网卡模型;
S17:创建虚拟机时根据默认的网卡模型参数设置虚拟机的网卡模型。
在创建虚拟机时根据不同镜像和实际物理环境指定网卡模型,保障业务的快速稳定运行。可以添加任意类型的网卡模型,实现网卡模型可以根据实际任务和需求添加。
本发明另一个实施例提供一种云平台支持添加网卡模型的方法,包括如下步骤:
S11:修改云平台代码添加网卡模型参数和网卡模型;步骤S11中,所述的修改云平台代码添加网卡模型参数和网卡模型的步骤包括:
S101:在网卡模型参数存储文件中添加网卡模型;S102:定义新的网卡模型的名称;S103:重构网卡模型的基类;S104:将网卡模型添加到配置函数中生成网卡模型参数;
S12:创建虚拟机;
S13:创建虚拟机时判断是否指定了网卡模型参数;若是,执行步骤S16,若否,执行步骤S14;
若是,创建虚拟机时按照指定的网卡模型参数设置虚拟机的网卡模型;
S14:判断是否设置镜像元数据,若是,执行步骤S15,若否,执行步骤S17;
S15:按照镜像元数据中设定的参数指定网卡模型;
S16:创建虚拟机时按照指定的网卡模型参数设置虚拟机的网卡模型;
S17:创建虚拟机时根据默认的网卡模型参数设置虚拟机的网卡模型。
在创建虚拟机时根据不同镜像和实际物理环境指定网卡模型,保障业务的快速稳定运行。可以添加任意类型的网卡模型,实现网卡模型可以根据实际任务和需求添加。
如图2所示,本发明另一个实施例提供一种云平台支持添加网卡模型的方法,包括如下步骤:
S21:修改云平台代码添加网卡模型参数和网卡模型;步骤S21中,所述的修改云平台代码添加网卡模型参数和网卡模型的步骤包括:
S101:在网卡模型参数存储文件中添加网卡模型;S102:定义新的网卡模型的名称;S103:重构网卡模型的基类,具体,在域文件中的基类中添加新定义的网卡模型的名称到该基类的属性;S104:将网卡模型添加到配置函数中生成网卡模型参数;
S22:创建虚拟机;
S23:创建虚拟机时判断是否指定了网卡模型参数;若是,执行步骤S26,若否,执行步骤S24;
S24:判断是否设置镜像元数据,若是,执行步骤S25,若否,执行步骤S28;
S25:按照镜像元数据中设定的参数指定网卡模型;
S26:判断指定的网卡模型是否已经实现,若是,执行步骤S27,否则,执行步骤S28;
S27:创建虚拟机时按照指定的网卡模型参数设置虚拟机的网卡模型;并生成对应的XML文件;
S28:创建虚拟机时根据默认的网卡模型参数设置虚拟机的网卡模型,并生成对应的XML文件。
在创建虚拟机时根据不同镜像和实际物理环境指定网卡模型,保障业务的快速稳定运行。可以添加任意类型的网卡模型,实现网卡模型可以根据实际任务和需求添加。
通过修改OpenStack云平台代码的方式添加网卡参数和网卡模型,例如"e1000-82545"网卡模型,并根据本专利提供的方法可以添加任意类型的网卡模型,实现网卡模型可以根据实际任务和需求添加。其次,可以通过镜像元数据或者创建虚拟机时指定系统元数据"hw_nic_model_driver"的方式,实现指定网卡模型创建虚拟机,例如指定"e1000-82545"网卡模型创建虚拟机。最终实现网卡模型的添加和选择,可以在OpenStack云平台生成的XML文件网卡参数中,看到生成的网卡模型参数。最终呈现的方式是,可以在OpenStack中生成的XML文件中看到该网卡模型。
本发明另一个实施例提供一种云平台支持添加网卡模型的方法,以e1000-82545em网卡模型为例进行介绍,其他网卡模型的添加方式与此类似;
所述方法包括如下步骤:
S21:修改云平台代码添加网卡模型参数和网卡模型;步骤S21中,所述的修改云平台代码添加网卡模型参数和网卡模型的步骤包括:
S101:在网卡模型参数存储文件中添加网卡模型;
在nova/network/model.py文件中添加网卡模型,例如添加"e1000-82545em";
S102:定义新的网卡模型的名称,添加方式为:VIF_MODEL_E1000_82545EM="e1000-82545em",后面将用VIF_MODEL_E1000_82545EM作为全局变量进行操作。model.py文件主要是存放网卡模型参数的文件,所有的网卡模型都要放到该文件中。VIF_MODEL_E1000_82545EM代表e1000-82545em的虚拟网卡模型,"e1000-82545em"是表示在XML文件中的字符串;
S103:重构网卡模型的基类,具体,在域文件中的基类中添加新定义的网卡模型的名称到该基类的属性;
在nova/objects/fields.py文件中的VIFModel类中,添加e1000-82545em网卡模型:"virtuale1000-82545em":network_model.VIF_MODEL_E1000_82545EM。VIFModel类作为网卡模型的一个基类,需要添加新添加的网卡模型名称到该类的属性中。
S104:将网卡模型添加到配置函数中生成网卡模型参数;
在nova/virt/libvirt/vif.py文件中将上述网卡模型添加到SUPPORTED_VIF_MODELS字典中,在"qemu"字典和"kvm"字典中分别添加字段"network_model.VIF_MODEL_E1000_82545EM",表名驱动为"qemu"或者"kvm"时所支持的网卡模型类型,以便在创建虚拟机的过程中使用该网卡模型参数。
S22:创建虚拟机;
S23:创建虚拟机时判断是否指定了网卡模型参数;若是,执行步骤S26,若否,执行步骤S24;
S24:判断是否设置镜像元数据,若是,执行步骤S25,若否,执行步骤S28;
在nova/virt/libvirt/vif.py的get_base_config函数中添加判断系统元数据的代码,若系统元据"hw_nic_model_driver"=e1000-82545em,则设置网卡驱动模型为e1000-82545em的网卡驱动模型;若"hw_nic_model_driver"元数据未设置,则使用默认网卡模型;
S25:按照镜像元数据中设定的参数指定网卡模型;
S26:判断指定的网卡模型是否已经实现,若是,执行步骤S27,否则,执行步骤S28;
S27:创建虚拟机时按照指定的网卡模型参数设置虚拟机的网卡模型;并生成对应的XML文件;
S28:创建虚拟机时根据默认的网卡模型参数设置虚拟机的网卡模型,并生成对应的XML文件。
在创建虚拟机时根据不同镜像和实际物理环境指定网卡模型,保障业务的快速稳定运行。可以添加任意类型的网卡模型,实现网卡模型可以根据实际任务和需求添加。
需要说明的是,创建虚拟机,指定网卡模型的方式,第一种设置镜像元数据的方式,例如设置镜像元数据"hw_nic_model_driver"为"e1000-82545em",则在创建虚拟机流程中自动将镜像元数据更新到系统元数据中;第二种是在创建虚拟机过程中指定系统元数据,在传入创建虚拟机的URL body体中的"metadata"元数据字段中增加{"hw_nic_model_driver":"e1000-82545em"}的字典。虚拟机创建流程中对于上面两个设置的处理规则是:如果创建虚拟机时指定了hw_nic_model_driver,则按照创建虚拟机时指定的网卡参数设置虚拟机的网卡模型;若没有指定创建虚拟机的网卡模型,镜像元数据中的"hw_nic_model_driver"参数指定网卡模型,按照镜像元数据中的"hw_nic_model_driver"参数指定的网卡模型设置虚拟机的网卡模型;若同时设置了网卡模型,则按照创建虚拟机指定的网卡模型为准;若两者都没有指定,则创建虚拟机时,用默认的网卡模型对创建虚拟机的网卡模型进行设置。
如图3所示,本发明一个实施例还提供一种云平台支持添加网卡模型的装置,包括代码设置模块11、虚拟机创建模块12、虚拟机设置模块15、元数据判断模块13、元数据指定模块14;
代码设置模块11,用于修改云平台代码添加网卡模型参数和网卡模型;
虚拟机创建模块12,用于创建虚拟机,同时创建虚拟机时判断是否指定了网卡模型参数;
虚拟机设置模块15,用于若指定了网卡模型参数时,按照指定的网卡模型参数设置虚拟机的网卡模型;还用于若未设置镜像元数据时,根据默认的网卡模型参数设置虚拟机的网卡模型;
元数据判断模块13,用于若未指定网卡模型参数时,判断是否设置镜像元数据;
元数据指定模块14,用于若设置了镜像元数据,按照镜像元数据中设定的参数指定网卡模型。
在创建虚拟机时根据不同镜像和实际物理环境指定网卡模型,保障业务的快速稳定运行。可以添加任意类型的网卡模型,实现网卡模型可以根据实际任务和需求添加。
本发明另一个实施例还提供一种云平台支持添加网卡模型的装置,包括代码设置模块11、虚拟机创建模块12、虚拟机设置模块15、元数据判断模块13、元数据指定模块14、模型判断模块;
代码设置模块11,用于修改云平台代码添加网卡模型参数和网卡模型;
虚拟机创建模块12,用于创建虚拟机,同时创建虚拟机时判断是否指定了网卡模型参数;
虚拟机设置模块15,用于若指定了网卡模型参数时,按照指定的网卡模型参数设置虚拟机的网卡模型;还用于若未设置镜像元数据时,根据默认的网卡模型参数设置虚拟机的网卡模型;具体用于创建虚拟机时按照指定的网卡模型参数设置虚拟机的网卡模型,并生成对应的XML文件。还用于若未设置镜像元数据,创建虚拟机时根据默认的网卡模型参数设置虚拟机的网卡模型,并生成对应的XML文件。
元数据判断模块13,用于若未指定网卡模型参数时,判断是否设置镜像元数据;
元数据指定模块14,用于若设置了镜像元数据,按照镜像元数据中设定的参数指定网卡模型;
模型判断模块,用于判断指定的网卡模型是否已经实现。
通过修改相应代码实现对应网卡模型的添加;同时在创建虚拟机时,可以通过设置镜像元数据或者通过创建虚拟机URL的方式指定网卡模型。判断指定的网卡模型是否已经实现,若实现则设置对应的虚拟机的网卡模型;若没有实现,则将虚拟机的网卡模型设置为默认网卡模型,在创建虚拟机时根据不同镜像和实际物理环境指定网卡模型,保障业务的快速稳定运行。可以添加任意类型的网卡模型,实现网卡模型可以根据实际任务和需求添加。
本发明另一个实施例还提供一种云平台支持添加网卡模型的装置,包括代码设置模块11、虚拟机创建模块12、虚拟机设置模块15、元数据判断模块13、元数据指定模块14、模型判断模块;
代码设置模块11,用于修改云平台代码添加网卡模型参数和网卡模型;
虚拟机创建模块12,用于创建虚拟机,同时创建虚拟机时判断是否指定了网卡模型参数;
虚拟机设置模块15,用于若指定了网卡模型参数时,按照指定的网卡模型参数设置虚拟机的网卡模型;还用于若未设置镜像元数据时,根据默认的网卡模型参数设置虚拟机的网卡模型;具体用于创建虚拟机时按照指定的网卡模型参数设置虚拟机的网卡模型,并生成对应的XML文件。还用于若未设置镜像元数据,创建虚拟机时根据默认的网卡模型参数设置虚拟机的网卡模型,并生成对应的XML文件。
元数据判断模块13,用于若未指定网卡模型参数时,判断是否设置镜像元数据;
元数据指定模块14,用于若设置了镜像元数据,按照镜像元数据中设定的参数指定网卡模型;
模型判断模块,用于判断指定的网卡模型是否已经实现。
需要说明的是,所述的代码设置模块包括添加单元、定义单元、重构单元和生成单元;
添加单元,用于在网卡模型参数存储文件中添加网卡模型;在nova/network/model.py文件中添加网卡模型,例如添加"e1000-82545em";
定义单元,用于定义新的网卡模型的名称;添加方式为:VIF_MODEL_E1000_82545EM="e1000-82545em",后面将用VIF_MODEL_E1000_82545EM作为全局变量进行操作。model.py文件主要是存放网卡模型参数的文件,所有的网卡模型都要放到该文件中。VIF_MODEL_E1000_82545EM代表e1000-82545em的虚拟网卡模型,"e1000-82545em"是表示在XML文件中的字符串;
重构单元,用于重构网卡模型的基类;实际上是在域文件中的基类中添加新定义的网卡模型的名称到该基类的属性;在nova/objects/fields.py文件中的VIFModel类中,添加e1000-82545em网卡模型:"virtuale1000-82545em":network_model.VIF_MODEL_E1000_82545EM。VIFModel类作为网卡模型的一个基类,需要添加新添加的网卡模型名称到该类的属性中。
生成单元,用于将网卡模型添加到配置函数中生成网卡模型参数。在nova/virt/libvirt/vif.py文件中将上述网卡模型添加到SUPPORTED_VIF_MODELS字典中,在"qemu"字典和"kvm"字典中分别添加字段"network_model.VIF_MODEL_E1000_82545EM",表名驱动为"qemu"或者"kvm"时所支持的网卡模型类型,以便在创建虚拟机的过程中使用该网卡模型参数。
创建虚拟机,指定网卡模型的方式,第一种设置镜像元数据的方式,例如设置镜像元数据"hw_nic_model_driver"为"e1000-82545em",则在创建虚拟机流程中自动将镜像元数据更新到系统元数据中;第二种是在创建虚拟机过程中指定系统元数据,在传入创建虚拟机的URL body体中的"metadata"元数据字段中增加{"hw_nic_model_driver":"e1000-82545em"}的字典。虚拟机创建流程中对于上面两个设置的处理规则是:如果创建虚拟机时指定了hw_nic_model_driver,则按照创建虚拟机时指定的网卡参数设置虚拟机的网卡模型;若没有指定创建虚拟机的网卡模型,镜像元数据中的"hw_nic_model_driver"参数指定网卡模型,按照镜像元数据中的"hw_nic_model_driver"参数指定的网卡模型设置虚拟机的网卡模型;若同时设置了网卡模型,则按照创建虚拟机指定的网卡模型为准;若两者都没有指定,则创建虚拟机时,用默认的网卡模型对创建虚拟机的网卡模型进行设置。
本发明另一个实施例还提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法,例如包括:S21:修改云平台代码添加网卡模型参数和网卡模型;步骤S21中,所述的修改云平台代码添加网卡模型参数和网卡模型的步骤包括:S101:在网卡模型参数存储文件中添加网卡模型;S102:定义新的网卡模型的名称;S103:重构网卡模型的基类,具体,在域文件中的基类中添加新定义的网卡模型的名称到该基类的属性;S104:将网卡模型添加到配置函数中生成网卡模型参数;S22:创建虚拟机;S23:创建虚拟机时判断是否指定了网卡模型参数;若是,执行步骤S26,若否,执行步骤S24;S24:判断是否设置镜像元数据,若是,执行步骤S25,若否,执行步骤S28;S25:按照镜像元数据中设定的参数指定网卡模型;
S26:判断指定的网卡模型是否已经实现,若是,执行步骤S27,否则,执行步骤S28;S27:创建虚拟机时按照指定的网卡模型参数设置虚拟机的网卡模型;并生成对应的XML文件;S28:创建虚拟机时根据默认的网卡模型参数设置虚拟机的网卡模型,并生成对应的XML文件。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (8)
1.一种云平台支持添加网卡模型的方法,其特征在于,包括如下步骤:
修改云平台代码添加网卡模型参数和网卡模型;
创建虚拟机,同时创建虚拟机时判断是否指定了网卡模型参数;
若是,创建虚拟机时按照指定的网卡模型参数设置虚拟机的网卡模型;
若否,判断是否设置镜像元数据,若是,按照镜像元数据中设定的参数指定网卡模型,创建虚拟机时按照指定的网卡模型参数设置虚拟机的网卡模型;若否,创建虚拟机时根据默认的网卡模型参数设置虚拟机的网卡模型;
所述的修改云平台代码添加网卡模型参数和网卡模型的步骤包括:
在网卡模型参数存储文件中添加网卡模型;
定义新的网卡模型的名称;
重构网卡模型的基类;
将网卡模型添加到配置函数中生成网卡模型参数。
2.根据权利要求1所述的云平台支持添加网卡模型的方法,其特征在于,所述的重构网卡模型的基类的步骤具体包括:
在域文件中的基类中添加新定义的网卡模型的名称到该基类的属性。
3.根据权利要求1所述的云平台支持添加网卡模型的方法,其特征在于,所述的创建虚拟机时按照指定的网卡模型参数设置虚拟机的网卡模型的步骤还包括:
判断指定的网卡模型是否已经实现,若是,创建虚拟机时按照指定的网卡模型参数设置虚拟机的网卡模型,并生成对应的XML文件;若否,创建虚拟机时根据默认的网卡模型参数设置虚拟机的网卡模型,并生成对应的XML文件。
4.根据权利要求1所述的云平台支持添加网卡模型的方法,其特征在于,若未设置镜像元数据,创建虚拟机时根据默认的网卡模型参数设置虚拟机的网卡模型的步骤具体包括:
若未设置镜像元数据,创建虚拟机时根据默认的网卡模型参数设置虚拟机的网卡模型,并生成对应的XML文件。
5.一种云平台支持添加网卡模型的装置,其特征在于,包括代码设置模块、虚拟机创建模块、虚拟机设置模块、元数据判断模块、元数据指定模块;
代码设置模块,用于修改云平台代码添加网卡模型参数和网卡模型;
虚拟机创建模块,用于创建虚拟机,同时创建虚拟机时判断是否指定了网卡模型参数;
虚拟机设置模块,用于若指定了网卡模型参数时,按照指定的网卡模型参数设置虚拟机的网卡模型;还用于若未设置镜像元数据时,根据默认的网卡模型参数设置虚拟机的网卡模型;
元数据判断模块,用于若未指定网卡模型参数时,判断是否设置镜像元数据;
元数据指定模块,用于若设置了镜像元数据,按照镜像元数据中设定的参数指定网卡模型;
所述的代码设置模块包括添加单元、定义单元、重构单元和生成单元:
添加单元,用于在网卡模型参数存储文件中添加网卡模型;
定义单元,用于定义新的网卡模型的名称;
重构单元,用于重构网卡模型的基类;
生成单元,用于将网卡模型添加到配置函数中生成网卡模型参数。
6.根据权利要求5所述的云平台支持添加网卡模型的装置,其特征在于,重构单元,具体用于在域文件中的基类中添加新定义的网卡模型的名称到该基类的属性。
7.根据权利要求6所述的云平台支持添加网卡模型的装置,其特征在于,该装置还包括模型判断模块;
模型判断模块,用于判断指定的网卡模型是否已经实现;
虚拟机设置模块,具体用于创建虚拟机时按照指定的网卡模型参数设置虚拟机的网卡模型,并生成对应的XML文件。
8.根据权利要求7所述的云平台支持添加网卡模型的装置,其特征在于,虚拟机设置模块,还用于若未设置镜像元数据,创建虚拟机时根据默认的网卡模型参数设置虚拟机的网卡模型,并生成对应的XML文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110712423.6A CN113645057B (zh) | 2021-06-25 | 2021-06-25 | 一种云平台支持添加网卡模型的方法、装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110712423.6A CN113645057B (zh) | 2021-06-25 | 2021-06-25 | 一种云平台支持添加网卡模型的方法、装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113645057A CN113645057A (zh) | 2021-11-12 |
CN113645057B true CN113645057B (zh) | 2023-04-07 |
Family
ID=78416151
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110712423.6A Active CN113645057B (zh) | 2021-06-25 | 2021-06-25 | 一种云平台支持添加网卡模型的方法、装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113645057B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102752137A (zh) * | 2012-06-28 | 2012-10-24 | 用友软件股份有限公司 | 主动设置虚拟机网络参数的装置和方法 |
CN105872129A (zh) * | 2016-06-07 | 2016-08-17 | 国云科技股份有限公司 | 一种Linux虚拟机多网卡外网通信实现方法 |
CN111885044A (zh) * | 2020-07-20 | 2020-11-03 | 平安科技(深圳)有限公司 | 云主机多网卡配置方法、装置、设备及存储介质 |
CN112130957A (zh) * | 2020-09-11 | 2020-12-25 | 烽火通信科技股份有限公司 | 一种容器突破虚拟化隔离使用智能网卡的方法与系统 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106339177A (zh) * | 2015-07-13 | 2017-01-18 | 中兴通讯股份有限公司 | 一种创建虚拟机的方法和装置 |
CN108614726B (zh) * | 2018-03-22 | 2022-06-10 | 华为云计算技术有限公司 | 虚拟机创建方法及装置 |
CN110324197A (zh) * | 2018-03-30 | 2019-10-11 | 北京京东尚科信息技术有限公司 | 网络性能测试的方法和装置 |
CN110198243B (zh) * | 2019-06-11 | 2021-11-19 | 深信服科技股份有限公司 | 一种虚拟机的网络接入方法及相关设备 |
CN110990110A (zh) * | 2019-10-30 | 2020-04-10 | 烽火通信科技股份有限公司 | 一种基于Sriov网卡的虚拟机创建方法及装置 |
CN112052076A (zh) * | 2020-10-10 | 2020-12-08 | 苏州浪潮智能科技有限公司 | 一种基于libvirt的dpdk vhostuser网卡管理方法及管理装置 |
-
2021
- 2021-06-25 CN CN202110712423.6A patent/CN113645057B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102752137A (zh) * | 2012-06-28 | 2012-10-24 | 用友软件股份有限公司 | 主动设置虚拟机网络参数的装置和方法 |
CN105872129A (zh) * | 2016-06-07 | 2016-08-17 | 国云科技股份有限公司 | 一种Linux虚拟机多网卡外网通信实现方法 |
CN111885044A (zh) * | 2020-07-20 | 2020-11-03 | 平安科技(深圳)有限公司 | 云主机多网卡配置方法、装置、设备及存储介质 |
CN112130957A (zh) * | 2020-09-11 | 2020-12-25 | 烽火通信科技股份有限公司 | 一种容器突破虚拟化隔离使用智能网卡的方法与系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113645057A (zh) | 2021-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10659566B1 (en) | Demo recording utility | |
AU2019325569A1 (en) | Smart contract interpreter | |
CN108829378A (zh) | 一种应用软件的开发方法、装置及电子设备 | |
JP6150816B2 (ja) | 対応するプライマリ・アプリケーションデータから導出される識別子に基づく補足データへのアクセス | |
CN105700925A (zh) | 一种app的界面实现方法和装置 | |
EP4209894A1 (en) | Cloud code development system, method, and apparatus, device, and storage medium | |
CN112612214A (zh) | 用于功能界面生成的方法、系统和电子设备 | |
CN109542878B (zh) | 一种列表创建方法及装置 | |
CN107517188A (zh) | 一种基于安卓系统的数据处理方法和装置 | |
CN113645057B (zh) | 一种云平台支持添加网卡模型的方法、装置 | |
CN110555185A (zh) | 基于pc客户端的页面定制方法及系统 | |
CN112131230B (zh) | 应用SaaS化实现方法、装置、设备及存储介质 | |
CN115048112A (zh) | 微服务部署方法、装置、电子设备和存储介质 | |
CN112491940B (zh) | 代理服务器的请求转发方法及装置、存储介质及电子设备 | |
CN115794112A (zh) | 策略生成方法、装置及电子设备 | |
CN113902387A (zh) | 一种工作流的处理方法、装置及电子设备 | |
CN111880896B (zh) | 一种快速还原容器及运行状态数据的方法和装置 | |
CN113268232A (zh) | 一种页面皮肤生成方法、装置和计算机可读存储介质 | |
CN113157326B (zh) | 多系统启动方法、装置、终端及控制平台 | |
CN113495723B (zh) | 一种调用功能组件的方法、装置及存储介质 | |
US9858355B1 (en) | Search engine optimization based upon most popular search history | |
CN114553859A (zh) | 一种bmc配置管理方法、装置、电子设备及存储介质 | |
CN114579014A (zh) | 文档展示方法及装置 | |
CN114281321A (zh) | 一种软件开发快捷编辑方法、装置、电子设备及介质 | |
CN111078215A (zh) | 软件产品应用方法及装置、存储介质及电子设备 |
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 |