CN114465902A - 一种云主机多网卡管理bond的方法、系统、设备和介质 - Google Patents

一种云主机多网卡管理bond的方法、系统、设备和介质 Download PDF

Info

Publication number
CN114465902A
CN114465902A CN202210020192.7A CN202210020192A CN114465902A CN 114465902 A CN114465902 A CN 114465902A CN 202210020192 A CN202210020192 A CN 202210020192A CN 114465902 A CN114465902 A CN 114465902A
Authority
CN
China
Prior art keywords
bond
network card
cloud host
cloud
virtual machine
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.)
Granted
Application number
CN202210020192.7A
Other languages
English (en)
Other versions
CN114465902B (zh
Inventor
李泽坤
邱军婷
徐源浩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202210020192.7A priority Critical patent/CN114465902B/zh
Publication of CN114465902A publication Critical patent/CN114465902A/zh
Application granted granted Critical
Publication of CN114465902B publication Critical patent/CN114465902B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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)
  • Stored Programmes (AREA)

Abstract

本发明提出了一种云主机多网卡管理bond的方法、系统、设备和介质,该方法包括云主机的虚拟机接收管理bond的指令后获取云主机的网卡配置信息;指令包括绑定bond和解绑bond;在获取网卡配置信息之后,通过虚拟化平台管理模块向云主机发送虚拟设备模拟信号;根据虚拟设备模拟信号,执行QGA脚本对目标网卡进行绑定bond或解绑bond。基于该,还提出了一种云主机多网卡管理bond的系统、设备和存储介质。本发明为云计算平台的云主机提供了云主机多网卡绑定与解绑定的管理机制,用户仅需要在云平台界面上选择bond或者解除bond,整个执行过程交由云平台和云主机自行处理,实现真正的客户友好型产品设计。

Description

一种云主机多网卡管理bond的方法、系统、设备和介质
技术领域
本发明属于云主机网卡管理技术领域,特别涉及一种云主机多网卡管理bond的方法、系统、设备和介质。
背景技术
在现在主流的虚拟化产品或者云计算产品中,云主机的用户想要实现自己云主机多网卡绑定bond或者解绑bond,需要登录到云主机操作系统内部对相应的配置文件进行手动修改。其中,云主机为云计算在基础设施应用上的重要组成部分。虚拟化就是通过虚拟化技术将一台计算机虚拟为多台逻辑计算机。bond,就是把多个物理网卡绑定成一个逻辑上的网卡,使用同一个IP工作,在增加带宽的同时也可以提高冗余性,一般使用较多的就是来提高冗余,分别和不同交换机相连,提高可靠性,但有时服务器带宽不够了也可以用作增加带宽。
但是现有技术中,云主机的用户登录到云主机操作系统内部对相应的配置文件进行手动修改时,通常由于用户操作不当或不熟练,易导致云主机多网卡绑定bond或者解绑bond不成功。
发明内容
为了解决上述技术问题,本发明提出了一种云主机多网卡管理bond的方法、系统、设备和介质,实现了云主机用户直接通过云平台就能从云主机操作系统获取网卡信息,且能对云主机的网卡进行管理操作,而不必登录到云主机内部。
为实现上述目的,本发明采用以下技术方案:
一种云主机多网卡管理bond的方法,包括以下步骤:
云主机的虚拟机接收管理bond的指令后获取云主机的网卡配置信息;所述管理bond的指令包括绑定bond和解绑bond;
在获取所述网卡配置信息之后,通过虚拟化平台管理模块向云主机发送虚拟设备模拟信号;
根据所述虚拟设备模拟信号,执行QGA脚本对所述目标网卡进行绑定bond或解绑bond。
进一步的,在所述云主机的虚拟机接收管理bond的指令之前还包括:在所述云主机内运行Linux系统,以及在所述云主机内安装QGA脚本。
进一步的,所述QGA脚本执行对所述目标网卡进行绑定bond或解绑bond的过程包括:
解析QGA命令传递的参数;
创建或者删除bond的配置文件,修改对应加入bond目标网卡的配置文件以实现绑定bond或解绑bond。
进一步的,在所述修改对应加入bond目标网卡的配置文件以实现绑定bond或解绑bond之后,还包括执行命令nmcli c reload&&nmcli c up<网卡名>`使绑定bond或解绑bond生效。
进一步的,所述解析QGA命令传递的参数之后还包括实现bond过滤,其中过滤的步骤包括:
从/sys/class/net/中获取虚拟机的硬件网卡信息;从/sys/devices/virtual/net/中获取虚拟机所有的虚拟网卡信息;所述虚拟网卡包括bond网卡和lo网卡;将所有虚拟机的硬件网卡信息减去lo网卡关联的硬件网卡信息得到bond网卡关联的实际硬件网卡信息;并将所述实际硬件网卡信息上传至虚拟机管理平台;
将虚拟机网卡中的lo网卡删除掉,获取bond网卡,并将所述bond网卡上传至虚拟机管理平台。
进一步的,在所述QGA脚本执行对所述目标网卡进行绑定bond或解绑bond的过程中还包括:如果虚拟机bond挂载的网卡设备无IP,则通过DHCP向虚拟机管理平台获取,如果DHCP没获取到,则向数据库获取IP。
本发明还提出了一种云主机多网卡管理bond的系统,包括获取模块、发送模块和执行模块;
所述获取模块用于云主机的虚拟机接收管理bond的指令后获取云主机的网卡配置信息;所述管理bond的指令包括绑定bond和解绑bond;
所述发送模块用于在获取所述网卡配置信息之后,通过虚拟化平台管理模块向云主机发送虚拟设备模拟信号;
所述执行模块用于根据所述虚拟设备模拟信号,执行QGA脚本,对所述目标网卡进行绑定bond或解绑bond。
进一步的,所述执行模块包括解析模块和修改模块;
所述解析模块用于解析QGA命令传递的参数;
所述修改模块用于创建或者删除bond的配置文件,修改对应加入bond目标网卡的配置文件以实现绑定bond或解绑bond。
本发明还提出了一种设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现所述的方法步骤。
本发明还提出了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现所述的方法步骤。
发明内容中提供的效果仅仅是实施例的效果,而不是发明所有的全部效果,上述技术方案中的一个技术方案具有如下优点或有益效果:
本发明提出了一种云主机多网卡管理bond的方法、系统、设备和介质,该方法包括云主机的虚拟机接收管理bond的指令后获取云主机的网卡配置信息;所述管理bond的指令包括绑定bond和解绑bond;在获取所述网卡配置信息之后,通过虚拟化平台管理模块向云主机发送虚拟设备模拟信号;根据虚拟设备模拟信号,执行QGA脚本对所述目标网卡进行绑定bond或解绑bond。QGA脚本执行的过程包括:解析QGA命令传递的参数;创建或者删除bond的配置文件,修改对应加入bond目标网卡的配置文件以实现绑定bond或解绑bond,以及在解析的过程中对bond进行过滤和实现异常情况处理机制。基于一种云主机多网卡管理bond的方法,还提出了一种云主机多网卡管理bond的系统、设备和存储介质。本发明为云计算平台的云主机提供了一种云主机多网卡绑定与解绑定的管理机制,用户仅需要在云平台界面上选择bond或者解除bond即可,整个执行过程交由云平台和云主机自行处理,实现真正的客户友好型产品设计。
本发明使得云主机用户不用再手动进入云主机操作系统修改网卡配置文件,避免了因用户不会操作或者操作不当而造成的损失。
本发明同时也提升了云平台管理员对云主机网卡的管理能力,从云平台操作系统,能够直观的看到云主机的网卡信息,方便管理员统计数据;并且也支持管理员选择某云主机一键解除多网卡绑定,极大地提升了可管理度。
本发明可被应用于本行业中各个基于OpenStack的云平台产品开发,具有优秀的可实施性。
附图说明
如图1为本发明实施例1一种云主机多网卡管理bond的方法流程图;
如图2为本发明实施例2一种云主机多网卡管理bond的系统示意图。
具体实施方式
为能清楚说明本方案的技术特点,下面通过具体实施方式,并结合其附图,对本发明进行详细阐述。下文的公开提供了许多不同的实施例或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。此外,本发明可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。应当注意,在附图中所图示的部件不一定按比例绘制。本发明省略了对公知组件和处理技术及工艺的描述以避免不必要地限制本发明。
实施例1
本发明实施例1提出了一种云主机多网卡管理bond的方法,实现了用户直接通过云平台就能从云主机操作系统获取每一个网卡的配置信息,通过QGA和QGA脚本实现对云主机的网卡进行管理操作,从云平台下发请求到云主机执行多网卡绑定和解绑操作这整个流程是自动执行的,用户不必再登录到云主机内部手动进行配置文件的修改。该方法有助于实现高效、便捷、安全的云主机网卡操作管理。
在实施本方法过程的前提是:云主机内部运行Linux系统,以及在云主机内安装QGA脚本,且QGA脚本版本支持虚拟机guest的权限设置。其中qga:qemu guest agent,简称qga,是一个运行在虚拟机内部的普通应用程序,可实现宿主机libvirt和虚拟机的通信,宿主机可通过向虚拟机中的qga发送qemu命令控制虚拟机。
Libvirt是用于管理虚拟化平台的开源的API,后台程序和管理工具。它可以用于管理KVM、Xen、VMware ESX,QEMU和其他虚拟化技术。这些API在云计算的解决方案中广泛使用。
如图1为本发明实施例1一种云主机多网卡管理bond的方法流程图。
云主机的虚拟机接收管理bond的指令,管理bond的指令包括绑定bond和解绑bond;用户登录云平台,通过云管理平台向云主机上的虚拟机guest发出绑定bond和解绑bond的指令。本申请中采用Openstack平台,即一个开源的云平台项目,它的主要任务是给用户提供IaaS服务。
获取云主机的网卡配置信息;
在获取网卡配置信息之后,通过虚拟化平台管理模块向云主机发送虚拟设备模拟信号;
获取云主机网卡配置信息后,通过云管理平台向libivirt发送请求。
根据虚拟设备模拟信号,执行QGA脚本对所述目标网卡进行绑定bond或解绑bond。其中,QGA脚本执行的过程为:解析QGA命令传递的参数;创建或者删除bond的配置文件,修改对应加入bond目标网卡的配置文件以实现绑定bond或解绑bond。
本申请中QGA脚本采用shell编写,首先能够解析QGA命令传过来的参数,创建和删除bond的配置文件ifcfg-bondx;修改对应加入bond的网卡的配置文件。出于安全性考虑,配置bond时能自动备份网卡配置文件;解除bond时能恢复网卡的配置文件到做bond前的状态;在所有配置文件都操作完毕后执行命令`nmcli c reload&&nmcli c up<网卡名>`使做(解)bond生效。
本申请中解析QGA命令传递的参数之后还包括实现bond过滤,其中过滤的步骤包括:
从/sys/class/net/中获取虚拟机的硬件网卡信息;从/sys/devices/virtual/net/中获取虚拟机所有的虚拟网卡信息;所述虚拟网卡包括bond网卡和lo网卡;将所有虚拟机的硬件网卡信息减去lo网卡关联的硬件网卡信息得到bond网卡关联的实际硬件网卡信息;并将所述实际硬件网卡信息上传至虚拟机管理平台;
将虚拟机网卡中的lo网卡删除掉,获取bond网卡,并将所述bond网卡上传至虚拟机管理平台。
在QGA脚本执行对所述目标网卡进行绑定bond或解绑bond的过程中还包括:如果虚拟机bond挂载的网卡设备无IP,则通过DHCP向虚拟机管理平台获取,如果DHCP没获取到,则向数据库获取IP。
本发明实施例1提出的一种云主机多网卡管理bond的方法为云计算平台的云主机提供了一种云主机多网卡绑定与解绑定的管理机制,用户仅需要在云平台界面上选择bond或者解除bond即可,整个执行过程交由云平台和云主机自行处理,实现真正的客户友好型产品设计。使得云主机用户不用再手动进入云主机操作系统修改网卡配置文件,避免了因用户不会操作或者操作不当而造成的损失。同时也提升了云平台管理员对云主机网卡的管理能力,从云平台操作系统,能够直观的看到云主机的网卡信息,方便管理员统计数据;并且也支持管理员选择某云主机一键解除多网卡绑定,极大地提升了可管理度。可被应用于本行业中各个基于OpenStack的云平台产品开发,具有优秀的可实施性。
实施例2
基于本发明实施例1提出的一种云主机多网卡管理bond的方法,本发明实施例2还提出了一种云主机多网卡管理bond的系统,如图2为本发明实施例2一种云主机多网卡管理bond的系统示意图,该系统包括获取模块、发送模块和执行模块;
获取模块用于云主机的虚拟机接收管理bond的指令后获取云主机的网卡配置信息;管理bond的指令包括绑定bond和解绑bond;
发送模块用于在获取所述网卡配置信息之后,通过虚拟化平台管理模块向云主机发送虚拟设备模拟信号;
执行模块用于根据所述虚拟设备模拟信号,执行QGA脚本,对目标网卡进行绑定bond或解绑bond。
执行模块包括解析模块和修改模块;解析模块用于解析QGA命令传递的参数;修改模块用于创建或者删除bond的配置文件,修改对应加入bond目标网卡的配置文件以实现绑定bond或解绑bond。
在执行模块执行后执行命令nmcli c reload&&nmcli c up<网卡名>`使绑定bond或解绑bond生效。
解析QGA命令传递的参数之后还包括实现bond过滤,其中过滤的步骤包括:
从/sys/class/net/中获取虚拟机的硬件网卡信息;从/sys/devices/virtual/net/中获取虚拟机所有的虚拟网卡信息;所述虚拟网卡包括bond网卡和lo网卡;将所有虚拟机的硬件网卡信息减去lo网卡关联的硬件网卡信息得到bond网卡关联的实际硬件网卡信息;并将所述实际硬件网卡信息上传至虚拟机管理平台;
将虚拟机网卡中的lo网卡删除掉,获取bond网卡,并将所述bond网卡上传至虚拟机管理平台。
在QGA脚本执行对所述目标网卡进行绑定bond或解绑bond的过程中还包括:如果虚拟机bond挂载的网卡设备无IP,则通过DHCP向虚拟机管理平台获取,如果DHCP没获取到,则向数据库获取IP。
本发明实施例2提出的一种云主机多网卡管理bond的系统,为云计算平台的云主机提供了一种云主机多网卡绑定与解绑定的管理机制,用户仅需要在云平台界面上选择bond或者解除bond即可,整个执行过程交由云平台和云主机自行处理,实现真正的客户友好型产品设计。使得云主机用户不用再手动进入云主机操作系统修改网卡配置文件,避免了因用户不会操作或者操作不当而造成的损失。同时也提升了云平台管理员对云主机网卡的管理能力,从云平台操作系统,能够直观的看到云主机的网卡信息,方便管理员统计数据;并且也支持管理员选择某云主机一键解除多网卡绑定,极大地提升了可管理度。可被应用于本行业中各个基于OpenStack的云平台产品开发,具有优秀的可实施性。
实施例3
本发明还提出了一种设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现方法步骤如下:
实现了用户直接通过云平台就能从云主机操作系统获取每一个网卡的配置信息,通过QGA和QGA脚本实现对云主机的网卡进行管理操作,从云平台下发请求到云主机执行多网卡绑定和解绑操作这整个流程是自动执行的,用户不必再登录到云主机内部手动进行配置文件的修改。该方法有助于实现高效、便捷、安全的云主机网卡操作管理。
在实施本方法过程的前提是:云主机内部运行Linux系统,以及在云主机内安装QGA脚本,且QGA脚本版本支持虚拟机guest的权限设置。其中qga:qemu guest agent,简称qga,是一个运行在虚拟机内部的普通应用程序,可实现宿主机libvirt和虚拟机的通信,宿主机可通过向虚拟机中的qga发送qemu命令控制虚拟机。
Libvirt是用于管理虚拟化平台的开源的API,后台程序和管理工具。它可以用于管理KVM、Xen、VMware ESX,QEMU和其他虚拟化技术。这些API在云计算的解决方案中广泛使用。
如图1为本发明实施例1一种云主机多网卡管理bond的方法流程图。
云主机的虚拟机接收管理bond的指令,管理bond的指令包括绑定bond和解绑bond;用户登录云平台,通过云管理平台向云主机上的虚拟机guest发出绑定bond和解绑bond的指令。本申请中采用Openstack平台,即一个开源的云平台项目,它的主要任务是给用户提供IaaS服务。
获取云主机的网卡配置信息;
在获取网卡配置信息之后,通过虚拟化平台管理模块向云主机发送虚拟设备模拟信号;
获取云主机网卡配置信息后,通过云管理平台向libivirt发送请求。
根据虚拟设备模拟信号,执行QGA脚本对所述目标网卡进行绑定bond或解绑bond。其中,QGA脚本执行的过程为:解析QGA命令传递的参数;创建或者删除bond的配置文件,修改对应加入bond目标网卡的配置文件以实现绑定bond或解绑bond。
本申请中QGA脚本采用shell编写,首先能够解析QGA命令传过来的参数,创建和删除bond的配置文件ifcfg-bondx;修改对应加入bond的网卡的配置文件。出于安全性考虑,配置bond时能自动备份网卡配置文件;解除bond时能恢复网卡的配置文件到做bond前的状态;在所有配置文件都操作完毕后执行命令`nmcli c reload&&nmcli c up<网卡名>`使做(解)bond生效。
本申请中解析QGA命令传递的参数之后还包括实现bond过滤,其中过滤的步骤包括:
从/sys/class/net/中获取虚拟机的硬件网卡信息;从/sys/devices/virtual/net/中获取虚拟机所有的虚拟网卡信息;所述虚拟网卡包括bond网卡和lo网卡;将所有虚拟机的硬件网卡信息减去lo网卡关联的硬件网卡信息得到bond网卡关联的实际硬件网卡信息;并将所述实际硬件网卡信息上传至虚拟机管理平台;
将虚拟机网卡中的lo网卡删除掉,获取bond网卡,并将所述bond网卡上传至虚拟机管理平台。
在QGA脚本执行对所述目标网卡进行绑定bond或解绑bond的过程中还包括:如果虚拟机bond挂载的网卡设备无IP,则通过DHCP向虚拟机管理平台获取,如果DHCP没获取到,则向数据库获取IP。
本发明实施例3提出的一种云主机多网卡管理bond的设备,为云计算平台的云主机提供了一种云主机多网卡绑定与解绑定的管理机制,用户仅需要在云平台界面上选择bond或者解除bond即可,整个执行过程交由云平台和云主机自行处理,实现真正的客户友好型产品设计。使得云主机用户不用再手动进入云主机操作系统修改网卡配置文件,避免了因用户不会操作或者操作不当而造成的损失。同时也提升了云平台管理员对云主机网卡的管理能力,从云平台操作系统,能够直观的看到云主机的网卡信息,方便管理员统计数据;并且也支持管理员选择某云主机一键解除多网卡绑定,极大地提升了可管理度。可被应用于本行业中各个基于OpenStack的云平台产品开发,具有优秀的可实施性。
需要说明:本发明技术方案还提供了一种电子设备,包括:通信接口,能够与其它设备比如网络设备等进行信息交互;处理器,与通信接口连接,以实现与其它设备进行信息交互,用于运行计算机程序时,执行上述一个或多个技术方案提供的一种云主机多网卡管理bond的方法,而所述计算机程序存储在存储器上。当然,实际应用时,电子设备中的各个组件通过总线系统耦合在一起。可理解,总线系统用于实现这些组件之间的连接通信。总线系统除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。本申请实施例中的存储器用于存储各种类型的数据以支持电子设备的操作。这些数据的示例包括:用于在电子设备上操作的任何计算机程序。可以理解,存储器可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read-Only Memory)、可擦除可编程只读存储器(EPROM,Erasable Programmable Read-Only Memory)、电可擦除可编程只读存储器(EEPROM,Electrically Erasable Programmable Read-Only Memory)、磁性随机存取存储器(FRAM,ferromagnetic random access memory)、快闪存储器(FlashMemory)、磁表面存储器、光盘、或只读光盘(CD-ROM,Compact Disc Read-Only Memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(RAM,Random AccessMemory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM,Static Random Access Memory)、同步静态随机存取存储器(SSRAM,Synchronous Static Random Access Memory)、动态随机存取存储器(DRAM,Dynamic Random Access Memory)、同步动态随机存取存储器(SDRAM,SynchronousDynamic Random Access Memory)、双倍数据速率同步动态随机存取存储器(DDRSDRAM,Double Data Rate Synchronous Dynamic Random Access Memory)、增强型同步动态随机存取存储器(ESDRAM,Enhanced Synchronous Dynamic Random AccessMemory)、同步连接动态随机存取存储器(SLDRAM,SyncLink Dynamic Random AccessMemory)、直接内存总线随机存取存储器(DRRAM,Direct Rambus Random Access Memory)。本申请实施例描述的存储器旨在包括但不限于这些和任意其它适合类型的存储器。上述本申请实施例揭示的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、DSP(Digital Signal Processing,即指能够实现数字信号处理技术的芯片),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器,处理器读取存储器中的程序,结合其硬件完成前述方法的步骤。处理器执行所述程序时实现本申请实施例的各个方法中的相应流程,为了简洁,在此不再赘述。
实施例4
本发明还提出了一种可读存储介质,可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现方法步骤如下:
实现了用户直接通过云平台就能从云主机操作系统获取每一个网卡的配置信息,通过QGA和QGA脚本实现对云主机的网卡进行管理操作,从云平台下发请求到云主机执行多网卡绑定和解绑操作这整个流程是自动执行的,用户不必再登录到云主机内部手动进行配置文件的修改。该方法有助于实现高效、便捷、安全的云主机网卡操作管理。
在实施本方法过程的前提是:云主机内部运行Linux系统,以及在云主机内安装QGA脚本,且QGA脚本版本支持虚拟机guest的权限设置。其中qga:qemu guest agent,简称qga,是一个运行在虚拟机内部的普通应用程序,可实现宿主机libvirt和虚拟机的通信,宿主机可通过向虚拟机中的qga发送qemu命令控制虚拟机。
Libvirt是用于管理虚拟化平台的开源的API,后台程序和管理工具。它可以用于管理KVM、Xen、VMware ESX,QEMU和其他虚拟化技术。这些API在云计算的解决方案中广泛使用。
如图1为本发明实施例1一种云主机多网卡管理bond的方法流程图。
云主机的虚拟机接收管理bond的指令,管理bond的指令包括绑定bond和解绑bond;用户登录云平台,通过云管理平台向云主机上的虚拟机guest发出绑定bond和解绑bond的指令。本申请中采用Openstack平台,即一个开源的云平台项目,它的主要任务是给用户提供IaaS服务。
获取云主机的网卡配置信息;
在获取网卡配置信息之后,通过虚拟化平台管理模块向云主机发送虚拟设备模拟信号;
获取云主机网卡配置信息后,通过云管理平台向libivirt发送请求。
根据虚拟设备模拟信号,执行QGA脚本对所述目标网卡进行绑定bond或解绑bond。其中,QGA脚本执行的过程为:解析QGA命令传递的参数;创建或者删除bond的配置文件,修改对应加入bond目标网卡的配置文件以实现绑定bond或解绑bond。
本申请中QGA脚本采用shell编写,首先能够解析QGA命令传过来的参数,创建和删除bond的配置文件ifcfg-bondx;修改对应加入bond的网卡的配置文件。出于安全性考虑,配置bond时能自动备份网卡配置文件;解除bond时能恢复网卡的配置文件到做bond前的状态;在所有配置文件都操作完毕后执行命令`nmcli c reload&&nmcli c up<网卡名>`使做(解)bond生效。
本申请中解析QGA命令传递的参数之后还包括实现bond过滤,其中过滤的步骤包括:
从/sys/class/net/中获取虚拟机的硬件网卡信息;从/sys/devices/virtual/net/中获取虚拟机所有的虚拟网卡信息;所述虚拟网卡包括bond网卡和lo网卡;将所有虚拟机的硬件网卡信息减去lo网卡关联的硬件网卡信息得到bond网卡关联的实际硬件网卡信息;并将所述实际硬件网卡信息上传至虚拟机管理平台;
将虚拟机网卡中的lo网卡删除掉,获取bond网卡,并将所述bond网卡上传至虚拟机管理平台。
在QGA脚本执行对所述目标网卡进行绑定bond或解绑bond的过程中还包括:如果虚拟机bond挂载的网卡设备无IP,则通过DHCP向虚拟机管理平台获取,如果DHCP没获取到,则向数据库获取IP。
本发明实施例4提出的一种云主机多网卡管理bond的介质,为云计算平台的云主机提供了一种云主机多网卡绑定与解绑定的管理机制,用户仅需要在云平台界面上选择bond或者解除bond即可,整个执行过程交由云平台和云主机自行处理,实现真正的客户友好型产品设计。使得云主机用户不用再手动进入云主机操作系统修改网卡配置文件,避免了因用户不会操作或者操作不当而造成的损失。同时也提升了云平台管理员对云主机网卡的管理能力,从云平台操作系统,能够直观的看到云主机的网卡信息,方便管理员统计数据;并且也支持管理员选择某云主机一键解除多网卡绑定,极大地提升了可管理度。可被应用于本行业中各个基于OpenStack的云平台产品开发,具有优秀的可实施性。
本申请实施例还提供了一种存储介质,即计算机存储介质,具体为计算机可读存储介质,例如包括存储计算机程序的存储器,上述计算机程序可由处理器执行,以完成前述方法所述步骤。计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、Flash Memory、磁表面存储器、光盘、或CD-ROM等存储器。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台电子设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
本申请实施例提供的一种云主机多网卡管理bond的设备和存储介质中相关部分的说明可以参见本申请实施例1提供的一种云主机多网卡管理bond的方法中对应部分的详细说明,在此不再赘述。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。另外,本申请实施例提供的上述技术方案中与现有技术中对应技术方案实现原理一致的部分并未详细说明,以免过多赘述。
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制。对于所属领域的技术人员来说,在上述说明的基础上还可以做出其它不同形式的修改或变形。这里无需也无法对所有的实施方式予以穷举。在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。

Claims (10)

1.一种云主机多网卡管理bond的方法,其特征在于,包括以下步骤:
云主机的虚拟机接收管理bond的指令后获取云主机的网卡配置信息;所述管理bond的指令包括绑定bond和解绑bond;
在获取所述网卡配置信息之后,通过虚拟化平台管理模块向云主机发送虚拟设备模拟信号;
根据所述虚拟设备模拟信号,执行QGA脚本对所述目标网卡进行绑定bond或解绑bond。
2.根据权利要求1所述的一种云主机多网卡管理bond的方法,其特征在于,在所述云主机的虚拟机接收管理bond的指令之前还包括:在所述云主机内运行Linux系统,以及在所述云主机内安装QGA脚本。
3.根据权利要求1所述的一种云主机多网卡管理bond的方法,其特征在于,所述QGA脚本执行对所述目标网卡进行绑定bond或解绑bond的过程包括:
解析QGA命令传递的参数;
创建或者删除bond的配置文件,修改对应加入bond目标网卡的配置文件以实现绑定bond或解绑bond。
4.根据权利要求3所述的一种云主机多网卡管理bond的方法,其特征在于,在所述修改对应加入bond目标网卡的配置文件以实现绑定bond或解绑bond之后,还包括执行命令nmcli c reload&&nmcli c up<网卡名>`使绑定bond或解绑bond生效。
5.根据权利要求3所述的一种云主机多网卡管理bond的方法,其特征在于,所述解析QGA命令传递的参数之后还包括实现bond过滤,其中过滤的步骤包括:
从/sys/class/net/中获取虚拟机的硬件网卡信息;从/sys/devices/virtual/net/中获取虚拟机所有的虚拟网卡信息;所述虚拟网卡包括bond网卡和lo网卡;将所有虚拟机的硬件网卡信息减去lo网卡关联的硬件网卡信息得到bond网卡关联的实际硬件网卡信息;并将所述实际硬件网卡信息上传至虚拟机管理平台;
将虚拟机网卡中的lo网卡删除掉,获取bond网卡,并将所述bond网卡上传至虚拟机管理平台。
6.根据权利要求3所述的一种云主机多网卡管理bond的方法,其特征在于,在所述QGA脚本执行对所述目标网卡进行绑定bond或解绑bond的过程中还包括:如果虚拟机bond挂载的网卡设备无IP,则通过DHCP向虚拟机管理平台获取,如果DHCP没获取到,则向数据库获取IP。
7.一种云主机多网卡管理bond的系统,其特征在于,包括获取模块、发送模块和执行模块;
所述获取模块用于云主机的虚拟机接收管理bond的指令后获取云主机的网卡配置信息;所述管理bond的指令包括绑定bond和解绑bond;
所述发送模块用于在获取所述网卡配置信息之后,通过虚拟化平台管理模块向云主机发送虚拟设备模拟信号;
所述执行模块用于根据所述虚拟设备模拟信号,执行QGA脚本,对所述目标网卡进行绑定bond或解绑bond。
8.根据权利要求7所述的一种云主机多网卡管理bond的系统,其特征在于,所述执行模块包括解析模块和修改模块;
所述解析模块用于解析QGA命令传递的参数;
所述修改模块用于创建或者删除bond的配置文件,修改对应加入bond目标网卡的配置文件以实现绑定bond或解绑bond。
9.一种设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至6任意一项所述的方法步骤。
10.一种可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6任意一项所述的方法步骤。
CN202210020192.7A 2022-01-07 2022-01-07 一种云主机多网卡管理bond的方法、系统、设备和介质 Active CN114465902B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210020192.7A CN114465902B (zh) 2022-01-07 2022-01-07 一种云主机多网卡管理bond的方法、系统、设备和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210020192.7A CN114465902B (zh) 2022-01-07 2022-01-07 一种云主机多网卡管理bond的方法、系统、设备和介质

Publications (2)

Publication Number Publication Date
CN114465902A true CN114465902A (zh) 2022-05-10
CN114465902B CN114465902B (zh) 2023-09-08

Family

ID=81410141

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210020192.7A Active CN114465902B (zh) 2022-01-07 2022-01-07 一种云主机多网卡管理bond的方法、系统、设备和介质

Country Status (1)

Country Link
CN (1) CN114465902B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024061179A1 (zh) * 2022-09-24 2024-03-28 华为技术有限公司 逻辑绑定口的管理方法、装置、系统及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017166785A1 (zh) * 2016-04-01 2017-10-05 华为技术有限公司 一种部署虚拟机的方法、宿主机及系统
CN111258721A (zh) * 2020-01-19 2020-06-09 苏州浪潮智能科技有限公司 云主机操作系统用户管理方法、装置、设备及存储介质
CN111866209A (zh) * 2020-07-07 2020-10-30 上海云轴信息科技有限公司 一种为云主机分配网卡的方法与设备
CN112463392A (zh) * 2020-12-11 2021-03-09 北京浪潮数据技术有限公司 一种vGPU管理方法、装置及电子设备和存储介质
CN112600903A (zh) * 2020-12-09 2021-04-02 浪潮云信息技术股份公司 一种弹性虚拟网卡迁移方法
CN112653576A (zh) * 2020-12-14 2021-04-13 苏州浪潮智能科技有限公司 基于Kylin系统的网卡识别处理方法、系统、终端及存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017166785A1 (zh) * 2016-04-01 2017-10-05 华为技术有限公司 一种部署虚拟机的方法、宿主机及系统
CN111258721A (zh) * 2020-01-19 2020-06-09 苏州浪潮智能科技有限公司 云主机操作系统用户管理方法、装置、设备及存储介质
CN111866209A (zh) * 2020-07-07 2020-10-30 上海云轴信息科技有限公司 一种为云主机分配网卡的方法与设备
CN112600903A (zh) * 2020-12-09 2021-04-02 浪潮云信息技术股份公司 一种弹性虚拟网卡迁移方法
CN112463392A (zh) * 2020-12-11 2021-03-09 北京浪潮数据技术有限公司 一种vGPU管理方法、装置及电子设备和存储介质
CN112653576A (zh) * 2020-12-14 2021-04-13 苏州浪潮智能科技有限公司 基于Kylin系统的网卡识别处理方法、系统、终端及存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024061179A1 (zh) * 2022-09-24 2024-03-28 华为技术有限公司 逻辑绑定口的管理方法、装置、系统及存储介质

Also Published As

Publication number Publication date
CN114465902B (zh) 2023-09-08

Similar Documents

Publication Publication Date Title
US11886903B2 (en) Continuous uptime of guest virtual machines during upgrade of a virtualization host device
US9384060B2 (en) Dynamic allocation and assignment of virtual functions within fabric
US10509686B2 (en) Distributable computational units in a continuous computing fabric environment
EP2765508B1 (en) Installation method and installation device for application software
CN107209705B (zh) 用于计算环境的活动回滚
JP5932973B2 (ja) 仮想記憶ディスク技術
US10592434B2 (en) Hypervisor-enforced self encrypting memory in computing fabric
US8776041B2 (en) Updating a virtual machine monitor from a guest partition
US8621461B1 (en) Virtual machine based operating system simulation using host ram-based emulation of persistent mass storage device
US10635499B2 (en) Multifunction option virtualization for single root I/O virtualization
EP2737395B1 (en) System and method for virtual partition monitoring
US10459802B2 (en) Backup image restore
KR20140033169A (ko) 가상 머신 이미지 분석 기법
US9817592B1 (en) Using an intermediate virtual disk format for virtual disk conversion
US9501296B2 (en) Hypervisor automation manager for starting an operation system with customization data from a disk image
US11163597B2 (en) Persistent guest and software-defined storage in computing fabric
US9448910B2 (en) Computer-implemented method, program, and tracer node for obtaining trace data relating to particular virtual machine
WO2012000809A1 (en) Streaming virtual machine boot services over a network
US20210019171A1 (en) Physical-to-virtual migration method and apparatus, and storage medium
US9804877B2 (en) Reset of single root PCI manager and physical functions within a fabric
CN114465902B (zh) 一种云主机多网卡管理bond的方法、系统、设备和介质
US20160077847A1 (en) Synchronization of physical functions and virtual functions within a fabric
US10268466B2 (en) Software installer with built-in hypervisor
US9575658B2 (en) Collaborative release of a virtual disk
Hammel Managing kvm deployments with virt-manager

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