处理虚拟机网卡配置信息的方法、装置及存储介质转让专利

申请号 : CN202011228607.7

文献号 : CN112350866B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 唐登科

申请人 : 北京首都在线科技股份有限公司

摘要 :

本申请实施例提出了处理虚拟机网卡配置信息的方法、装置及计算机存储介质,其中,该方法包括:获取所述虚拟机的待修改网卡的期望配置信息,所述期望配置信息至少包括所述待修改网卡的期望名称配置信息和期望顺序配置信息;基于设备管理器的网卡规则配置文件确定所述虚拟机的所有网卡的当前配置信息;在所述所有网卡中非待修改网卡的当前配置信息不受影响的条件下,基于所述期望配置信息对所述待修改网卡的当前配置信息进行调整,得到调整后的所述待修改网卡的配置信息;其中,所述调整后的待修改网卡的配置信息中包括:所述待修改网卡的名称和顺序。该方法能够灵活调整虚拟机内部网卡的名称和顺序。

权利要求 :

1.一种处理虚拟机网卡配置信息的方法,其特征在于,包括:获取所述虚拟机的待修改网卡的期望配置信息,所述期望配置信息至少包括所述待修改网卡的期望名称配置信息和期望顺序配置信息;

基于设备管理器的网卡规则配置文件确定所述虚拟机的所有网卡的当前配置信息;

在所述所有网卡中非待修改网卡的当前配置信息不受影响的条件下,基于所述期望配置信息对所述待修改网卡的当前配置信息进行调整,得到调整后的所述待修改网卡的配置信息;其中,所述调整后的待修改网卡的配置信息中包括:所述待修改网卡的名称和顺序;

其中,所述基于所述期望配置信息对所述待修改网卡的当前配置信息进行调整包括:在预设序号区间段遍历所述待修改网卡的顺序,根据所述期望配置信息中的命名前缀信息和所述待修改网卡的顺序生成所述待修改网卡的网卡名称。

2.根据权利要求1所述的方法,其特征在于,所述方法还包括:将所述调整后的所述待修改网卡的配置信息更新到所述网卡规则配置文件中。

3.根据权利要求1所述的方法,其特征在于,所述待修改网卡至少包括下述一种网卡:新增加的网卡;

准备删除的网卡;

待变更名称的网卡。

4.根据权利要求1所述的方法,其特征在于,基于所述设备管理器的网卡规则配置文件确定所述虚拟机的所有网卡的当前配置信息之前,所述方法还包括:根据所述期望配置信息判断是否需要清理网络配置;

当判定需要清理网络配置时,根据操作系统类型执行相应的清理处理。

5.根据权利要求4所述的方法,其特征在于,所述根据所述期望配置信息判断是否需要清理网络配置,包括:

根据所述期望配置信息中是否携带有用于指示清理网络配置的标识,判断是否需要清理网络配置。

6.根据权利要求1所述的方法,其特征在于,基于所述设备管理器的网卡规则配置文件确定所述虚拟机的所有网卡的当前配置信息之前,所述方法还包括:在该期望配置信息中不包括命名前缀设置信息、并且该期望配置信息中包括期望公网网卡数量设置信息的情况下,若当前网卡规则配置文件中不存在公网网卡占位规则记录,则根据该期望配置信息中命名前缀设置信息和网卡序号信息生成公网网卡占位规则,将该公网网卡占位规则添加到该当前网卡规则配置文件。

7.根据权利要求1所述的方法,其特征在于,所述当前配置信息包括介质访问控制MAC地址和名称的临时对应关系信息;

所述基于所述设备管理器的网卡规则配置文件确定所述虚拟机的所有网卡的当前配置信息,包括:

基于所述设备管理器的网卡规则配置文件确定所述虚拟机当前已添加的所有网卡的MAC地址和名称的临时对应关系信息;

生成表征所述临时对应关系信息的键值对数据。

8.根据权利要求1所述的方法,其特征在于,在所述所有网卡中非待修改网卡的当前配置信息不受影响条件下调整所述待修改网卡的当前配置信息之前,所述方法还包括以下至少之一:

确定并删除所述网卡规则配置文件中无效网卡的脏数据,保留MAC地址对应的网卡名称是期望完整名称的网卡的记录、未指定完整名称的网卡的记录、公网网卡占位规则的记录;

确定并删除期望完整名称与当前名称不匹配的网卡的记录;

删除用于指示网卡命名需受内核限制的指令。

9.根据权利要求1所述的方法,其特征在于,当所述待修改的网卡包括公网网卡时,所述方法还包括:

若待修改公网网卡的数量超出所述期望公网网卡数量,输出提示信息,所述提示信息用于提示公网网卡的排列顺序不全都位于私网网卡前面。

10.根据权利要求1所述的方法,其特征在于,所述当前配置信息包括MAC地址和名称的临时对应关系信息;

在所述所有网卡中非待修改网卡的当前配置信息不受影响的条件下,基于所述期望配置信息对所述待修改网卡的当前配置信息进行调整,得到调整后的所述待修改网卡的配置信息,包括以下步骤:

步骤P1:从待修改网卡中确定一个当前网卡,判断当前网卡是否存在完整网卡名称,如果存在完整网卡名称,跳转步骤P5;如果不存在完整网卡名称,跳转步骤P2;

步骤P2:判断当前网卡是否是公网网卡,如果是公网网卡,跳转步骤P3;如果不是公网网卡,则先基于期望公网网卡数值确定当前网卡的允许排列起始序号值,然后进入步骤P3;

步骤P3:在预设序号区间段遍历当前网卡的序号,其中,所述预设序号区间段的左端点值为所述允许排列起始序号值,所述预设序号区间段的右端点值为预设数值;

步骤P4:根据命名前缀信息和当前序号信息生成当前网卡的网卡名称;

步骤P5:判断所述网卡名称是否包含于当前网卡规则配置文件或存在名称被占用情况,如果不是,则跳转步骤P8;如果是,则执行步骤P6;

步骤P6:从临时对应关系信息中获取当前网卡名称对应的MAC地址,判断所述MAC地址是否在待修改网卡列表中,如果不是,跳转步骤P10;如果是,进入步骤P7;

步骤P7:将已占用名称的网卡修改为临时名称,并更新临时对应关系信息数据;

步骤P8:断开当前待修改网卡的连接,建立当前网卡的MAC地址与所述完整网卡名称的对应关系,重新连接所述当前网卡;并在所述当前网卡规则配置文件增加当前网卡的对应关系记录,标记当前网卡修改结束;

步骤P9:更新序号变量值为当前序号值加1;

步骤P10:判断当前网卡的名称和顺序是否完成修改,如果完成修改,则确定得到调整后的所述当前网卡的配置信息,跳转步骤P1;如果未完成修改,则跳转步骤P3。

11.一种处理虚拟机网卡配置信息的装置,其特征在于,包括:获取模块,用于获取所述虚拟机的待修改网卡的期望配置信息,所述期望配置信息至少包括所述待修改网卡的期望名称配置信息和期望顺序配置信息;

确定模块,用于基于设备管理器的网卡规则配置文件确定所述虚拟机的所有网卡的当前配置信息;

调整模块,用于在所述所有网卡中非待修改网卡的当前配置信息不受影响的条件下,基于所述期望配置信息对所述待修改网卡的当前配置信息进行调整,得到调整后的所述待修改网卡的配置信息;其中,所述调整后的待修改网卡的配置信息中包括:所述待修改网卡的名称和顺序;

其中,所述基于所述期望配置信息对所述待修改网卡的当前配置信息进行调整包括:在预设序号区间段遍历所述待修改网卡的顺序,根据所述期望配置信息中的命名前缀信息和所述待修改网卡的顺序生成所述待修改网卡的网卡名称。

12.根据权利要求11所述的装置,其特征在于,所述装置还包括:处理模块,用于将所述调整后的所述待修改网卡的配置信息更新到所述网卡规则配置文件中。

13.根据权利要求11所述的装置,其特征在于,所述待修改网卡至少包括下述一种网卡:

新增加的网卡;

准备删除的网卡;

待变更名称的网卡。

14.根据权利要求11所述的装置,其特征在于,所述装置还包括:清理判断模块,用于根据所述期望配置信息判断是否需要清理网络配置;

清理执行模块,用于当判定需要清理网络配置时,根据操作系统类型执行相应的清理处理。

15.根据权利要求14所述的装置,其特征在于,所述清理判断模块,用于:根据所述期望配置信息中是否携带有用于指示清理网络配置的标识,判断是否需要清理网络配置。

16.根据权利要求14所述的装置,其特征在于,所述装置还包括:解析模块,用于在该期望配置信息中不包括命名前缀设置信息、并且该期望配置信息中包括期望公网网卡数量设置信息的情况下,若当前网卡规则配置文件中不存在公网网卡占位规则记录,则根据该期望配置信息中命名前缀设置信息和网卡序号信息生成公网网卡占位规则,将该公网网卡占位规则添加到该当前网卡规则配置文件。

17.根据权利要求11所述的装置,其特征在于,所述当前配置信息包括介质访问控制MAC地址和名称的临时对应关系信息;

所述确定模块,用于:

基于所述设备管理器的网卡规则配置文件确定所述虚拟机当前已添加的所有网卡的MAC地址和名称的临时对应关系信息;

生成表征所述临时对应关系信息的键值对数据。

18.根据权利要求17所述的装置,其特征在于,所述装置还包括:删除模块,用于执行以下至少之一:确定并删除所述网卡规则配置文件中无效网卡的脏数据,保留MAC地址对应的网卡名称是期望完整名称的网卡的记录、未指定完整名称的网卡的记录、公网网卡占位规则的记录;

确定并删除期望完整名称与当前名称不匹配的网卡的记录;

删除用于指示网卡命名需受内核限制的指令。

19.根据权利要求11所述的装置,其特征在于,当所述待修改的网卡包括公网网卡时,所述装置还包括:

提示模块,用于:

若待修改公网网卡的数量超出所述期望公网网卡数量,输出提示信息,所述提示信息用于提示公网网卡的排列顺序不全都位于私网网卡前面。

20.根据权利要求11所述的装置,其特征在于,所述当前配置信息包括MAC地址和名称的临时对应关系信息;

所述调整模块执行的步骤包括以下步骤:步骤P1:从待修改网卡中确定一个当前网卡,判断当前网卡是否存在完整网卡名称,如果存在完整网卡名称,跳转步骤P5;如果不存在完整网卡名称,跳转步骤P2;

步骤P2:判断当前网卡是否是公网网卡,如果是公网网卡,跳转步骤P3;如果不是公网网卡,则先基于期望公网网卡数值确定当前网卡的允许排列起始序号值,然后进入步骤P3;

步骤P3:在预设序号区间段遍历当前网卡的序号,其中,所述预设序号区间段的左端点值为所述允许排列起始序号值,所述预设序号区间段的右端点值为预设数值;

步骤P4:根据命名前缀信息和当前序号信息生成当前网卡的网卡名称;

步骤P5:判断所述网卡名称是否包含于当前网卡规则配置文件或存在名称被占用情况,如果不是,则跳转步骤P8;如果是,则执行步骤P6;

步骤P6:从临时对应关系信息中获取当前网卡名称对应的MAC地址,判断所述MAC地址是否在待修改网卡列表中,如果不是,跳转步骤P10;如果是,进入步骤P7;

步骤P7:将已占用名称的网卡修改为临时名称,并更新临时对应关系信息数据;

步骤P8:断开当前待修改网卡的连接,建立当前网卡的MAC地址与所述完整网卡名称的对应关系,重新连接所述当前网卡;并在所述当前网卡规则配置文件增加当前网卡的对应关系记录,标记当前网卡修改结束;

步骤P9:更新序号变量值为当前序号值加1;

步骤P10:判断当前网卡的名称和顺序是否完成修改,如果完成修改,则确定得到调整后的所述当前网卡的配置信息,跳转步骤P1;如果未完成修改,则跳转步骤P3。

21.一种基于设备管理器处理虚拟机网卡配置信息的装置,其特征在于,包括:处理器和存储器,所述存储器中存储指令,所述指令由处理器加载并执行,以实现如权利要求1至

10任一项所述的方法。

22.一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至10中任一项所述的方法。

说明书 :

处理虚拟机网卡配置信息的方法、装置及存储介质

技术领域

[0001] 本申请涉及计算机技术领域,尤其涉及一种处理虚拟机网卡配置信息的方法、装置及计算机可读存储介质。

背景技术

[0002] udev(即Linux内核的设备管理器)通过并行加载内核模块,具有潜在的性能优势。对网卡来说,常见的设备加载顺序固定的方法,比如修改加载不同的网卡对应的驱动顺序、
直接设置设备管理器规则通过网卡介质访问控制(MAC,Media Access Control)地址永久
绑定网卡名称等。但异步加载模块的方式也有一个天生的缺点:无法保证每次加载模块的
顺序,继而可能会因为不同的加载顺序导致配置与设备映射关系改变,造成设备功能无法
使用、系统异常等故障。在整个云计算平台中,虚拟机对应多个网卡,且网卡驱动种类一般
比较单一,无法支持每个网卡驱动都不相同,因此采用现有的这些方法无法保证加载顺序,
进而会造成设备功能无法使用、系统异常等故障。

发明内容

[0003] 本申请实施例提供一种基于设备管理器处理虚拟机网卡配置信息的方法、装置及计算机可读存储介质,以至少解决现有技术中的以上技术问题。
[0004] 第一方面,本申请实施例提供了一种处理虚拟机网卡配置信息的方法,包括:
[0005] 获取所述虚拟机的待修改网卡的期望配置信息,所述期望配置信息至少包括所述待修改网卡的期望名称配置信息和期望顺序配置信息;
[0006] 基于设备管理器的网卡规则配置文件确定所述虚拟机的所有网卡的当前配置信息;
[0007] 在所述所有网卡中非待修改网卡的当前配置信息不受影响的条件下,基于所述期望配置信息对所述待修改网卡的当前配置信息进行调整,得到调整后的所述待修改网卡的
配置信息;其中,所述调整后的待修改网卡的配置信息中包括:所述待修改网卡的名称和顺
序。
[0008] 第二方面,本申请实施例提供了一种处理虚拟机网卡配置信息的装置,包括:
[0009] 获取模块,用于获取所述虚拟机的待修改网卡的期望配置信息,所述期望配置信息至少包括所述待修改网卡的期望名称配置信息和期望顺序配置信息;
[0010] 确定模块,用于基于设备管理器的网卡规则配置文件确定所述虚拟机的所有网卡的当前配置信息;
[0011] 调整模块,用于在所述所有网卡中非待修改网卡的当前配置信息不受影响的条件下,基于所述期望配置信息对所述待修改网卡的当前配置信息进行调整,得到调整后的所
述待修改网卡的配置信息;其中,所述调整后的待修改网卡的配置信息中包括:所述待修改
网卡的名称和顺序。
[0012] 第三方面,本申请实施例提供了一种处理虚拟机网卡配置信息的装置,该装置包括:存储器和处理器。其中,该存储器和该处理器通过内部连接通路互相通信,该存储器用
于存储指令,该处理器用于执行该存储器存储的指令,并且当该处理器执行该存储器存储
的指令时,使得该处理器执行上述各方面任一种实施方式中的方法。
[0013] 第四方面,本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质存储计算机程序,当计算机程序在计算机上运行时,上述各方面任一种实施方式中的方法
被执行。
[0014] 上述技术方案中的一个技术方案优点或有益效果至少包括:
[0015] 获取虚拟机的待修改网卡的期望配置信息,该期望配置信息至少包括待修改网卡的名称配置信息和顺序配置信息;基于设备管理器的网卡规则配置文件确定虚拟机的所有
网卡的当前配置信息;在所有网卡中非待修改网卡的当前配置信息不受影响条件下调整待
修改网卡的当前配置信息,使调整后的待修改网卡的最终配置信息满足期望配置信息,从
而能够根据用户需求灵活调整虚拟机内部网卡的展示名称和顺序,进而避免造成设备功能
无法使用、系统异常等故障。
[0016] 上述概述仅仅是为了说明书的目的,并不意图以任何方式进行限制。除上述描述的示意性的方面、实施方式和特征之外,通过参考附图和以下的详细描述,本申请进一步的
方面、实施方式和特征将会是容易明白的。

附图说明

[0017] 在附图中,除非另外规定,否则贯穿多个附图相同的附图标记表示相同或相似的部件或元素。这些附图不一定是按照比例绘制的。应该理解,这些附图仅描绘了根据本申请
公开的一些实施方式,而不应将其视为是对本申请范围的限制。
[0018] 图1示出根据本发明实施例提供的基于设备管理器处理虚拟机网卡配置信息的方法的流程图一;
[0019] 图2示出根据本发明实施例提供的基于设备管理器处理虚拟机网卡配置信息的方法的流程图二;
[0020] 图3示出根据本发明实施例提供的基于设备管理器处理虚拟机网卡配置信息的方法的流程图三;
[0021] 图4示出根据本发明实施例提供的基于设备管理器处理虚拟机网卡配置信息的方法的流程图四;
[0022] 图5示出根据本发明实施例提供的基于设备管理器处理虚拟机网卡配置信息的方法的流程图五;
[0023] 图6示出根据本发明实施例提供的基于设备管理器处理虚拟机网卡配置信息的方法的流程图六;
[0024] 图7示出根据本发明实施例提供的虚拟机网卡名称和顺序的配置流程示意图;
[0025] 图8示出根据本发明实施例提供的基于设备管理器处理虚拟机网卡配置信息装置的结构框图一;
[0026] 图9示出根据本发明实施例提供的基于设备管理器处理虚拟机网卡配置信息装置的结构框图二;
[0027] 图10示出根据本发明实施例提供的基于设备管理器处理虚拟机网卡配置信息装置的结构框图三;
[0028] 图11示出根据本发明实施例提供的基于设备管理器处理虚拟机网卡配置信息装置的结构框图四;
[0029] 图12示出根据本发明实施例提供的基于设备管理器处理虚拟机网卡配置信息装置的结构框图五;
[0030] 图13示出根据本发明实施例提供的实现基于设备管理器处理虚拟机网卡配置信息的设备的结构框图。

具体实施方式

[0031] 在下文中,仅简单地描述了某些示例性实施例。正如本领域技术人员可认识到的那样,在不脱离本申请的精神或范围的情况下,可通过各种不同方式修改所描述的实施例。
因此,附图和描述被认为本质上是示例性的而非限制性的。
[0032] 图1示出了根据本申请实施例提供的一种基于设备管理器处理虚拟机网卡配置信息方法的流程图。本申请实施例可以应用于云计算平台或安装有虚拟机的用户设备中,该
用户设备包括但不限于固定终端和移动终端。本实施例可以适用于云环境的各种类型的虚
拟机,例如kvm虚拟机和vmware虚拟机等。参见图1,该方法包括以下步骤。
[0033] 在步骤S101中,获取虚拟机的待修改网卡的期望配置信息,该期望配置信息至少包括该待修改网卡的期望名称配置信息和期望顺序配置信息;
[0034] 在步骤S102中,基于设备管理器的网卡规则配置文件确定该虚拟机的所有网卡的当前配置信息;
[0035] 在步骤S103中,在该所有网卡中非待修改网卡的当前配置信息不受影响的条件下,基于该期望配置信息调整该待修改网卡的当前配置信息,得到调整后的该待修改网卡
的配置信息;其中,所述调整后的待修改网卡的配置信息中包括:所述待修改网卡的名称和
顺序。
[0036] 本实施例中,并不对待修改网卡的网卡类型进行限定。比如待修改网卡可以是公网网卡,也可以是私网网卡。
[0037] 本实施例中,并不对待修改网卡的数量进行限定。
[0038] 本实施例中,待修改网卡至少包括下述一种网卡:新增加的网卡;准备删除的网卡;待变更名称的网卡。
[0039] 本实施例中,并不对获取虚拟机的待修改网卡的期望配置信息的方式进行限定。示例性地,用户设备或云计算平台接收待修改列表数据,通过解析该待修改列表数据以获
取虚拟机的待修改网卡的期望配置信息。
[0040] 对于使用systemd/udev的操作系统,如果配置强制使用ethX模式网卡命名,需要去掉内核参数net.ifnames=0,具体来说,期望配置信息可以包括:
[0041] 命名前缀:如传统命名模式的eth前缀,可插拔设备的ens前缀;
[0042] 期望公网数量:保证公网命名序号在前,私网在后,需要知道期望公网数量,默认生成占位udev规则;一般该逻辑用在系统第一次初始化网络配置;
[0043] 待修改或者调整的网卡按序列表:列表每一项包含通过使用者购买的网络/网段名称查找到的网卡对应mac地址、以及期望的完整网卡名称(如eth1/ens1/eno1/personal_
name;在指定网卡命名前缀条件下可以不指定,不指定则根据前缀和序号组合,如eth前缀
时第一块网卡为eth0);公网网卡在前,私网在后;
[0044] 待修改网卡中公网网卡数量:不足期望数量时,需要生成占位规则来保证后添加的公网也能分配名称顺序排在私网网卡之前;
[0045] 是否清理网络配置:如果是,则会清理所有网络配置,并按照公网在前私网在后、期望占位、命名前缀等逻辑排列所有网卡;反之,根据解析到的待修改的网卡进行按需指定
命名。
[0046] 在本申请实施例所述的技术方案中,基于设备管理器的网卡规则配置文件确定虚拟机的所有网卡的当前配置信息;在所有网卡中非待修改网卡的当前配置信息不受影响条
件下调整待修改网卡的当前配置信息,使调整后的待修改网卡的最终配置信息满足期望配
置信息,从而能够根据用户需求灵活调整各网卡的名称和顺序,即可以灵活调整虚拟机内
部网卡的配置信息,这样可以适配复杂多变的网卡命名顺序需求。
[0047] 另外,如图2所示,本实施例在前述步骤完成之后还包括:
[0048] 在步骤S104中,将所述调整后的所述待修改网卡的配置信息更新到所述网卡规则配置文件中。
[0049] 也就是,将经过调整后满足对应期望配置信息的待修改网卡的最终配置信息更新到该网卡规则配置文件中。
[0050] 如此,可以将经过调整后满足对应期望配置信息的待修改网卡的最终配置信息更新到网卡规则配置文件中,因此设备管理器还可以响应于展示请求,按照更新后的配置文
件展示虚拟机的各网卡的配置信息,由于展示的配置信息为期望配置信息,便于管控各网
卡,提升用户使用体验。
[0051] 基于图1所示的技术方案,在一些实施例中,如图3所示,步骤S102之前,该方法还包括:
[0052] 步骤S105:根据该期望配置信息判断是否需要清理网络配置;当判定需要清理网络配置时,根据操作系统类型执行相应的清理处理。
[0053] 本实施例中,不同操作系统类型对应的清理处理操作不同。示例性地,操作系统类型1对应清理处理操作1,操作系统类型2对应清理处理操作2,操作系统类型3对应清理处理
操作3。
[0054] 如此,当判定需要清理网络配置时,根据操作系统类型执行相应的清理处理,有助于提高修改待修改网卡配置信息的速度。
[0055] 在一种实施方式中,该根据该期望配置信息判断是否需要清理网络配置,包括:
[0056] 根据该期望配置信息中是否携带有用于指示清理网络配置的标识,判断是否需要清理网络配置。
[0057] 如此,根据标识便于快速判断出是否需要清理网络配置。
[0058] 在一种实施方式中,该根据该期望配置信息判断是否需要清理网络配置,包括:
[0059] 将期望配置信息与已知现有网卡的配置信息二者之间作比较;
[0060] 根据比较结果,判断是否需要清理网络配置。
[0061] 如此,通过比较结果能够判断出是否需要清理网络配置,从而有助于为后续步骤S102中的网卡规则配置数据提供好的数据支撑环境。
[0062] 基于图1所示的技术方案,在一些实施例中,如图4所示,步骤S102之前,该方法还包括:
[0063] 步骤S106:在该期望配置信息中不包括命名前缀设置信息、并且该期望配置信息中包括期望公网网卡数量设置信息的情况下,若当前网卡规则配置文件中不存在公网网卡
占位规则记录,则根据该期望配置信息中命名前缀设置信息和网卡序号信息生成公网网卡
占位规则,将该公网网卡占位规则添加到该当前网卡规则配置文件。
[0064] 具体的,可以包括:
[0065] 判断该期望配置信息中是否包括命名前缀设置信息,如果不包括命名前缀设置信息,检查该期望配置信息中是否包括期望公网网卡数量设置信息;
[0066] 如果该期望配置信息中包括期望公网网卡数量设置信息,判断当前网卡规则配置文件是否存在公网网卡占位规则记录;
[0067] 如果当前网卡规则配置文件中不存在公网网卡占位规则记录,则根据该期望配置信息中命名前缀设置信息和网卡序号信息生成公网网卡占位规则,将该公网网卡占位规则
添加到该当前网卡规则配置文件。
[0068] 需要说明的是,在一些实施例中,在判断该期望配置信息中是否包括命名前缀设置信息之前,先判断是否存在网卡规则配置文件,若不存在,则创建网卡规则配置文件。
[0069] 在步骤S106中,如果该期望配置信息中包括命名前缀设置信息,执行步骤S102;如果该期望配置信息中不包括期望公网网卡数量设置信息,执行步骤S102;如果当前网卡规
则配置文件存在公网网卡占位规则记录,执行步骤S102。
[0070] 如此,能够在执行步骤S102之前,充分明确期望配置信息中的命名前缀设置要求、期望公网网卡数量设置要求以及公网网卡占位规则要求等用户要求,从而为后续执行步骤
S102和步骤S103提供数据支撑。
[0071] 基于图1所示的技术方案,在一些实施例中,该当前配置信息包括介质访问控制MAC地址和名称的临时对应关系信息;则步骤S102,包括:
[0072] 步骤S102a:基于该设备管理器的网卡规则配置文件确定该虚拟机当前已添加的所有网卡的MAC地址和名称的临时对应关系信息;
[0073] 步骤S102b:生成表征该临时对应关系信息的键值对(map)数据。
[0074] 其中,键值对数据中,键对应的变量表示MAC地址,值对应的变量表示名称。
[0075] 基于图1所示的技术方案,在一些实施例中,在步骤S103之前,如图5所示,该方法还包括以下至少之一:
[0076] 步骤S106a:确定并删除该网卡规则配置文件中无效网卡的脏数据,以保留MAC地址对应的网卡名称是期望完整名称的网卡的记录、未指定完整名称的网卡的记录、公网网
卡占位规则的记录;
[0077] 步骤S106b:确定并删除期望完整名称与当前名称不匹配的网卡的记录;
[0078] 步骤S106c:删除用于指示网卡命名需受内核限制的指令。
[0079] 需要说明的是,本实施例并不对步骤S106a、步骤S106b、步骤S106c三者之间的执行顺序进行限定;另外,步骤S106a、步骤S106b、步骤S106c三者可以仅使用其中一个,也可
以仅使用其中任意两个,当然也可以全部使用。
[0080] 如此,能够为后续调整当前配置信息提供更干净的数据环境。
[0081] 基于图1所示的技术方案,在一些实施例中,当该待修改的网卡包括公网网卡时,该方法还包括:
[0082] 判断待修改公网网卡的数量是否超出期望公网网卡数量;
[0083] 若待修改公网网卡的数量超出该期望公网网卡数量,输出提示信息,该提示信息用于提示公网网卡的排列顺序不全都位于私网网卡前面。
[0084] 如此,能够提醒用户公网网卡的排列顺序不全都位于私网网卡前面,也即提醒并不完全遵循“公网网卡在前,私网网卡在后”的规则,从而有利于降低用户误操作网卡的概
率。
[0085] 基于图1所示的技术方案,在一种实施例中,该当前配置信息包括MAC地址和名称的临时对应关系信息;如图6所示,步骤S103包括以下步骤:
[0086] 步骤P1:从待修改网卡中确定一个当前网卡,判断当前网卡是否存在完整网卡名称,如果存在完整网卡名称,跳转步骤P5;如果不存在完整网卡名称,跳转步骤P2;
[0087] 步骤P2:判断当前网卡是否是公网网卡,如果是公网网卡,跳转步骤P3;如果不是公网网卡,则先基于期望公网网卡数值确定当前网卡的允许排列起始序号值,然后进入步
骤P3;
[0088] 步骤P3:在预设序号区间段遍历当前网卡的序号,其中,该预设序号区间段的左端点值为该允许排列起始序号值,该预设序号区间段的右端点值为预设数值;
[0089] 步骤P4:根据命名前缀信息和当前序号信息生成当前网卡的网卡名称;
[0090] 步骤P5:判断所述网卡名称是否包含于当前网卡规则配置文件或是否存在名称被占用情况,如果不是,则跳转步骤P8;如果是,则执行步骤P6;
[0091] 步骤P6:从临时对应关系信息中获取当前网卡名称对应的MAC地址,判断该MAC地址是否在待修改网卡列表中,如果不是,跳转步骤P10;如果是,进入步骤P7;
[0092] 步骤P7:将已占用名称的网卡修改为临时名称,并更新临时对应关系信息数据;
[0093] 步骤P8:断开当前待修改网卡的连接,建立当前网卡的MAC地址与该完整网卡名称的对应关系,重新连接该当前网卡;并在该当前网卡规则配置文件增加当前网卡的对应关
系记录,标记当前网卡修改结束;
[0094] 步骤P9:更新序号变量值为当前序号值加1;
[0095] 步骤P10:判断当前网卡的名称和顺序是否完成修改,如果完成修改,则确定得到调整后的所述当前网卡的配置信息,跳转步骤P1;如果未完成修改,则跳转步骤P3。
[0096] 如此,能为所有待修改网卡配置与期望配置信息相符合的信息,实现按需指定命名。
[0097] 图7示出了虚拟机网卡名称和顺序的配置流程示意图,如图7所示,该流程主要包括:
[0098] 步骤S601:开始;
[0099] 步骤S602:解析待修改网卡按序列表数据;
[0100] 其中,该待修改网卡按序列表数据包括待修改网卡的期望配置信息,该期望配置信息包括名称配置信息和顺序配置信息。
[0101] 步骤S603:判断是否清理网络配置;如果是,进入步骤S604;如果否,跳转步骤S605;具体的指令可以如:centos,执行rm‑rf${NIC_NAME_FILE}$(ls/etc/sysconfig/
network‑scripts/ifcfg‑*|grep‑v"ifcfg‑lo");如ubuntu,执行rm‑rf${NIC_NAME_FILE}/
etc/netplan/*/etc/network/interfaces.d/*;
[0102] 步骤S604:根据操作系统类型执行相应的清理处理;
[0103] 步骤S605:判断是否存在设备管理器的当前网卡规则配置文件,如果否,进入步骤S606;如果是,跳转步骤S607;
[0104] 步骤S606:创建网卡规则配置文件;
[0105] 步骤S607:判断是否指示命名前缀设置信息,如果是,进入步骤S608;如果否,跳转步骤S611;
[0106] 步骤S608:判断是否指示期望公网网卡数量设置信息,如果是,进入步骤S609;如果否,跳转步骤S611;
[0107] 步骤S609:是否存在公网网卡占位规则记录,如果是,进入步骤S610;如果否,跳转步骤S611;
[0108] 步骤S610:根据命名前缀设置信息和网卡序号信息生成公网网卡占位规则;
[0109] 步骤S611:获取当前已添加的所有网卡的MAC地址和名称的临时对应关系信息,生成表征该临时对应关系信息的键值对数据;也就是,获取当前已添加的所有网卡mac和名称
name的关系,grep"00"/sys/class/net/*/address|grep‑v"00:00:00:00:00:00"|awk‑F"/
sys/class/net/|/address:"'{print$2"‑‑"$3}',并生成mac‑>name临时关系map数据;
[0110] 步骤S612:确定并删除该网卡规则配置文件中无效网卡的脏数据;确定并删除期望完整名称与当前名称不匹配的网卡的记录;删除用于指示网卡命名需受内核限制的指
令;比如,清理${NIC_NAME_FILE}udev规则脏数据,保留现有网卡mac是期望完整名称、未指
定完整名称的mac、公网网卡占位的规则记录,接着清理掉同时包含待修改网卡清单mac和
KERNEL==\"eth\*\"的记录,保证去掉内核命名模式带来的ethX冲突;
[0111] 步骤S613:判断待修改公网网卡的数量是否超出期望公网网卡数量;如果是,进入步骤S614;如果否,跳转步骤S615;
[0112] 步骤S614:输出提示信息;
[0113] 其中,该提示信息用于提示公网网卡的排列顺序不全都位于私网网卡前面。
[0114] 步骤S615:设置当前网卡的允许排列起始序号;
[0115] 比如,设置nic_index=0,nic_index表示序号变量。
[0116] 步骤S616:遍历待修改网卡的按序列表,执行下面步骤;
[0117] 步骤S617:判断遍历是否完成,如果是,跳转步骤S632;如果否,进入步骤S618;
[0118] 步骤S618:判断当前网卡是否存在完整网卡名称,如果否,进入步骤S619;如果是,跳转步骤S624;
[0119] 步骤S619:判断当前网卡是否是公网;如果否,进入步骤S620;如果是,跳转步骤S621;
[0120] 步骤S620:若存在期望公网网卡数目,当前遍历得到的序号需要比期望公网网卡数目大;
[0121] 步骤S621:在预设序号区间段遍历当前网卡的序号;
[0122] 其中,该预设序号区间段的左端点值为该允许排列起始序号值,该预设序号区间段的右端点值为预设数值;示例性地,设预设数值为99,遍历${nic_index}为0~99,${nic_
index}表示序号值。
[0123] 步骤S622:选定当前序号;
[0124] 步骤S623:根据命名前缀和当前序号生成当前网卡的网卡名称;
[0125] 步骤S624:判断完整网卡名称是否包含于当前网卡规则配置文件或存在名称被占用情况,如果是,进入步骤S625;如果否,则跳转步骤S628;
[0126] 步骤S625:从临时对应关系信息中获取当前网卡名称对应的MAC地址;
[0127] 步骤S626:判断该MAC地址是否在待修改网卡列表中,如果是,进入步骤S627;如果否,跳转步骤S629;
[0128] 步骤S627:将已占用名称的网卡修改为临时名称,并更新临时对应关系信息数据;比如,网卡对应占用名称为eth2执行ip link set eth2 down&&ip link set eth2 name 
eth9992&&ip link set eth9992 up,并更新临时map数据;
[0129] 步骤S628:断开当前待修改网卡的连接,建立当前网卡的MAC地址与该完整网卡名称的对应关系,重新连接当前网卡;然后跳转步骤S631;
[0130] 步骤S629:更新序号变量为当前序号加1;
[0131] 步骤S630:判断当前网卡名称和顺序修改是否完成,如果是,跳转步骤S616;如果否,跳转步骤S621;
[0132] 步骤S631:在网卡规则配置文件增加当前网卡的对应关系记录,标记当前网卡修改结束;
[0133] 步骤S632:结束。
[0134] 通过上述配置流程,基于设备管理器灵活调整虚拟机内多网卡名称和顺序。具体能包括以下功能特性:
[0135] 1.可配置网卡数量不受外部设备驱动类型影响,可以多网卡设备使用同一个驱动;
[0136] 2.开机配置,不需要重启虚拟机,只短暂影响待修改网卡上的流量,原则上不中断业务;
[0137] 3.原则上网卡名称可任意选择;
[0138] 4.调整已有网卡的名称顺序;
[0139] 5.新加添加网卡进行按需排位,可以选择补中间空位或者排最后;
[0140] 6.支持网卡设备加载后生成mac地址的网卡操作;
[0141] 7.支持批量网卡操作,包括添加、修改、删除;
[0142] 8.可以任意时间执行配置流程,一般在添加网卡后第一时间或者配置IP时。
[0143] 图8示出根据本发明一实施例的处理虚拟机网卡配置信息的装置的结构框图。如图8所示,该装置可以包括:
[0144] 获取模块71,用于获取所述虚拟机的待修改网卡的期望配置信息,所述期望配置信息至少包括所述待修改网卡的期望名称配置信息和期望顺序配置信息;
[0145] 确定模块72,用于基于该设备管理器的网卡规则配置文件确定该虚拟机的所有网卡的当前配置信息;
[0146] 调整模块73,用于在所述所有网卡中非待修改网卡的当前配置信息不受影响的条件下,基于所述期望配置信息对所述待修改网卡的当前配置信息进行调整,得到调整后的
所述待修改网卡的配置信息;其中,所述调整后的待修改网卡的配置信息中包括:所述待修
改网卡的名称和顺序。
[0147] 所述装置还包括:
[0148] 处理模块74,用于将所述调整后的所述待修改网卡的配置信息更新到所述网卡规则配置文件中。
[0149] 在一种实施方式中,该待修改网卡至少包括下述一种网卡:
[0150] 新增加的网卡;
[0151] 准备删除的网卡;
[0152] 待变更名称的网卡。
[0153] 在一种实施方式中,如图9所示,该装置还包括:
[0154] 清理判断模块75,用于根据该期望配置信息判断是否需要清理网络配置;
[0155] 清理执行模块76,用于当判定需要清理网络配置时,根据操作系统类型执行相应的清理处理。
[0156] 在一种实施方式中,该清理判断模块75,用于:
[0157] 根据该期望配置信息中是否携带有用于指示清理网卡规则配置文件的标识,判断是否需要清理网络配置。
[0158] 在一种实施方式中,如图10所示,该装置还包括:
[0159] 解析模块77,用于在该期望配置信息中不包括命名前缀设置信息、并且该期望配置信息中包括期望公网网卡数量设置信息的情况下,若当前网卡规则配置文件中不存在公
网网卡占位规则记录,则根据该期望配置信息中命名前缀设置信息和网卡序号信息生成公
网网卡占位规则,将该公网网卡占位规则添加到该当前网卡规则配置文件。
[0160] 在一种实施方式中,该当前配置信息包括介质访问控制MAC地址和名称的临时对应关系信息;
[0161] 该确定模块72,用于:
[0162] 基于该设备管理器的网卡规则配置文件确定该虚拟机当前已添加的所有网卡的MAC地址和名称的临时对应关系信息;
[0163] 生成表征该临时对应关系信息的键值对数据。
[0164] 在一种实施方式中,如图11所示,该装置还包括:
[0165] 删除模块78,用于执行以下至少之一:
[0166] 确定并删除该网卡规则配置文件中无效网卡的脏数据,保留MAC地址对应的网卡名称是期望完整名称的网卡的记录、未指定完整名称的网卡的记录、公网网卡占位规则的
记录;
[0167] 确定并删除期望完整名称与当前名称不匹配的网卡的记录;
[0168] 删除用于指示网卡命名需受内核限制的指令。
[0169] 在一种实施方式中,当该待修改的网卡包括公网网卡时,如图12所示,该装置还包括:
[0170] 提示模块79,用于:
[0171] 判断待修改公网网卡的数量是否超出期望公网网卡数量;
[0172] 若待修改公网网卡的数量超出该期望公网网卡数量,输出提示信息,该提示信息用于提示公网网卡的排列顺序不全都位于私网网卡前面。
[0173] 在一种实施方式中,该当前配置信息包括MAC地址和名称的临时对应关系信息;
[0174] 该调整模块执行的步骤包括以下步骤:
[0175] 步骤P1:从待修改网卡中确定一个当前网卡,判断当前网卡是否存在完整网卡名称,如果存在完整网卡名称,跳转步骤P5;如果不存在完整网卡名称,跳转步骤P2;
[0176] 步骤P2:判断当前网卡是否是公网网卡,如果是公网网卡,跳转步骤P3;如果不是公网网卡,则先基于期望公网网卡数值确定当前网卡的允许排列起始序号值,然后进入步
骤P3;
[0177] 步骤P3:在预设序号区间段遍历当前网卡的序号,其中,所述预设序号区间段的左端点值为所述允许排列起始序号值,所述预设序号区间段的右端点值为预设数值;
[0178] 步骤P4:根据命名前缀信息和当前序号信息生成当前网卡的网卡名称;
[0179] 步骤P5:判断所述网卡名称是否包含于当前网卡规则配置文件或存在名称被占用情况,如果不是,则跳转步骤P8;如果是,则执行步骤P6;
[0180] 步骤P6:从临时对应关系信息中获取当前网卡名称对应的MAC地址,判断所述MAC地址是否在待修改网卡列表中,如果不是,跳转步骤P10;如果是,进入步骤P7;
[0181] 步骤P7:将已占用名称的网卡修改为临时名称,并更新临时对应关系信息数据;
[0182] 步骤P8:断开当前待修改网卡的连接,建立当前网卡的MAC地址与所述完整网卡名称的对应关系,重新连接所述当前网卡;并在所述当前网卡规则配置文件增加当前网卡的
对应关系记录,标记当前网卡修改结束;
[0183] 步骤P9:更新序号变量值为当前序号值加1;
[0184] 步骤P10:判断当前网卡的名称和顺序是否完成修改,如果完成修改,则确定得到调整后的所述当前网卡的配置信息,跳转步骤P1;如果未完成修改,则跳转步骤P3。
[0185] 本发明实施例各装置中的各模块的功能可以参见上述方法中的对应描述,在此不再赘述。
[0186] 图13示出根据本发明一实施例的实现基于设备管理器处理虚拟机网卡配置信息的设备的结构框图。如图13所示,该设备包括:存储器810和处理器820,存储器810内存储有
可在处理器820上运行的计算机程序。处理器820执行该计算机程序时实现上述实施例中的
基于设备管理器处理虚拟机网卡配置信息方法。存储器810和处理器820的数量可以为一个
或多个。
[0187] 该基于设备管理器处理虚拟机网卡配置信息的设备还包括:
[0188] 通信接口830,用于与外界设备进行通信,进行数据交互传输。
[0189] 如果存储器810、处理器820和通信接口830独立实现,则存储器810、处理器820和通信接口830可以通过总线相互连接并完成相互间的通信。该总线可以是工业标准体系结
构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component 
Interconnect,PCI)总线或扩展工业标准体系结构(Extended Industry Standard 
Architecture,EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表
示,图12中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0190] 可选的,在具体实现上,如果存储器810、处理器820及通信接口830集成在一块芯片上,则存储器810、处理器820及通信接口830可以通过内部接口完成相互间的通信。
[0191] 应理解的是,上述处理器可以是中央处理器(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processing,DSP)、专用集成电
路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field 
Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、
分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。值得说明的是,
处理器可以是支持进阶精简指令集机器(Advanced RISC Machines,ARM)架构的处理器。
[0192] 进一步地,可选的,上述存储器可以包括只读存储器和随机存取存储器,还可以包括非易失性随机存取存储器。该存储器可以是易失性存储器或非易失性存储器,或可包括
易失性和非易失性存储器两者。其中,非易失性存储器可以包括只读存储器(Read‑only 
Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器
(Erasable PROM,EPROM)、电可擦除可编程只读存储器Electrically EPROM,EEPROM)或闪
存。易失性存储器可以包括随机存取存储器(Random Access Memory,RAM),其用作外部高
速缓存。通过示例性但不是限制性说明,许多形式的RAM可用。例如,静态随机存取存储器
(static RAM,SRAM)、动态随机存取存储器(Dynamic Random Access Memory,DRAM)、同步
动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器
(Double Data SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,
ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,SLDRAM)和直接内存总线随机存
取存储器(Direct Rambus RAM,DR RAM)。
[0193] 本发明实施例提供了一种计算机可读存储介质,其存储有计算机程序,该程序被处理器执行时实现本申请实施例中提供的方法。
[0194] 在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品
包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产
生按照本申请的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其
他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存
储介质向另一个计算机可读存储介质传输。
[0195] 在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特
点包括于本申请的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点
可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本
领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特
征进行结合和组合。
[0196] 此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐
含地包括至少一个该特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有
明确具体的限定。
[0197] 流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部
分。并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺
序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能。
[0198] 在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供
指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执
行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设
备而使用。
[0199] 应理解的是,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软
件或固件来实现。上述实施例方法的全部或部分步骤是可以通过程序来指令相关的硬件完
成,该程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步
骤之一或其组合。
[0200] 此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模
块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。上述集成的模块如
果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机
可读存储介质中。该存储介质可以是只读存储器,磁盘或光盘等。
[0201] 以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到其各种变化或替换,
这些都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范
围为准。