一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

VF的QoS调整方法、装置及电子设备与流程

2022-12-19 22:55:25 来源:中国专利 TAG:

vf的qos调整方法、装置及电子设备
技术领域
1.本发明涉及网络虚拟化技术领域,尤其涉及一种vf的qos调整方法、装置及电子设备。


背景技术:

2.在nfv(network functions virtualization,网络功能虚拟化)领域,许多场景需要sr-iov(single root i/o virtualization,单根i/o虚拟化)的l2冗余,并且需要qos(quality of service,服务质量)进行流量带宽控制。
3.相关技术中,通常是通过配置多个虚拟端口并分配不同的vf(virtual functions,虚拟功能)在不同的物理网卡的虚拟端口来实现,并且为每个虚拟端口分别配置qos策略。
4.由于需要为每一个虚拟端口配置qos策略,需要人为保证带宽限速数值的一致性,且虚拟端口之间独立,其中一个vf的sr-iov网口故障,qos带宽限速值就会减少,导致qos带宽限速值不稳定。


技术实现要素:

5.本发明提供一种vf的qos调整方法、装置及电子设备,用以解决现有技术中qos带宽限速值不稳定的缺陷,实现了提高单点故障时带宽限速值的稳定性的效果。
6.本发明提供一种vf的qos调整方法,所述方法应用于虚拟机,所述方法包括:
7.确定n个目标虚拟功能vf中所属的单根i/o虚拟化sr-iov网口的状态为第一状态的目标vf的第一数量;
8.基于所述第一数量,调整n个所述目标vf的服务质量qos带宽限速值;
9.其中,n个所述目标vf配置于同一个目标虚拟端口,所述n个目标vf的局域网mac地址和虚拟局域网vlan均相同,n为大于1的正整数。
10.根据本发明提供的一种vf的qos调整方法,所述第一状态为up状态,所述基于所述第一数量,调整n个所述目标vf的服务质量qos带宽限速值,包括:
11.将目标qos带宽限速值平均分配于所述第一状态为up状态的所述目标vf,且将所述第一状态为down状态的所述目标vf的qos带宽限速值配置为0;所述目标qos带宽限速值为所述目标虚拟端口的最大qos带宽限速值。
12.根据本发明提供的一种vf的qos调整方法,在所述基于所述第一数量,调整n个所述目标vf的服务质量qos带宽限速值之后,所述方法还包括:
13.按照目标周期重新确定n个所述目标vf中所属的sr-iov网口的状态为第一状态的所述目标vf的数量;
14.在当前确定的所述目标vf的数量与上一次确定的所述目标vf的数量不相同的情况下,基于当前确定的所述目标vf的数量,重新调整n个所述目标vf的qos带宽限速值。
15.根据本发明提供的一种vf的qos调整方法,在所述确定n个目标虚拟功能vf中所属
的单根i/o虚拟化sr-iov网口的状态为第一状态的目标vf的第一数量之前,所述方法还包括:
16.配置所述目标虚拟端口的qos带宽限速值为所述目标qos带宽限速值,并生成虚拟端口更新事件;
17.在接收到所述虚拟端口更新事件的更新通知的情况下,将所述目标qos带宽限速值平均分配至n个所述目标vf;
18.其中,n个所述目标vf的第一状态为up状态。
19.根据本发明提供的一种vf的qos调整方法,在所述配置所述目标虚拟端口的qos带宽限速值为所述目标qos带宽限速值之前,所述方法还包括:
20.接收用户的输入,确定所述目标虚拟端口的qos带宽限速值策略;
21.基于所述目标虚拟端口的qos带宽限速值策略,确定所述目标qos带宽限速值。
22.根据本发明提供的一种vf的qos调整方法,n个所述目标vf的所述mac地址和所述vlan均采用所述目标虚拟端口的mac地址和vlan。
23.本发明还提供一种vf的qos调整装置,包括:
24.第一处理模块,用于确定n个目标虚拟功能vf中所属的单根i/o虚拟化sr-iov网口的状态为第一状态的目标vf的第一数量;
25.第二处理模块,用于基于所述第一数量,调整n个所述目标vf的服务质量qos带宽限速值;
26.其中,n个所述目标vf配置于同一个目标虚拟端口,所述n个目标vf的局域网mac地址和虚拟局域网vlan均相同,n为大于1的正整数。
27.本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述vf的qos调整方法。
28.本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述vf的qos调整方法。
29.本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述vf的qos调整方法。
30.本发明提供的vf的qos调整方法、装置及电子设备,通过对一个目标虚拟端口配置多个目标vf,可以保持目标虚拟端口的qos带宽限速值的一致性,并对多个目标vf的网口状态进行检测来调整各个目标vf的qos带宽限速值,可以根据网卡状态灵活调整每个目标vf的qos数值,保证了网口单点故障时带宽限速值的稳定性。
附图说明
31.为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
32.图1是本发明提供的vf的qos调整方法的流程示意图之一;
33.图2是本发明提供的虚拟机的结构示意图之一;
34.图3是本发明提供的虚拟机的结构示意图之二;
35.图4是本发明提供的vf的qos调整方法的流程示意图之二;
36.图5是本发明提供的vf的qos调整装置的结构示意图;
37.图6是本发明提供的电子设备的结构示意图。
具体实施方式
38.为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
39.下面结合图1-图6描述本发明的vf的qos调整方法、装置及电子设备。
40.本发明实施例的vf的qos调整方法主要应用于虚拟机(virtual machine,vm)。下面以虚拟机为执行主体来对本发明实施例的vf的qos调整方法进行说明。
41.如图1所示,本发明实施例的vf的qos调整方法主要包括步骤110和步骤120。
42.步骤110,确定n个目标虚拟功能vf中所属的单根i/o虚拟化sr-iov网口的状态为第一状态的目标vf的第一数量。
43.需要说明的是,n个目标vf配置于同一个目标虚拟端口,且n为大于1的正整数,例如n为2。
44.在一些实施例中,一个目标虚拟端口可以灵活挂载多个目标vf到虚拟机,一个虚拟端口对应多个目标vf,提高vf冗余。当一个目标虚拟端口中的一个目标vf存在故障时,可以利用其他的vf进行替代,提高虚拟机的可靠性。
45.openstack是一个开源的云计算管理平台项目,是一系列软件开源项目的组合。openstack在引入sr-iov后,可以通过sr-iov虚拟端口直接关联一个vf。在另一些实施例中,还可以兼容现有技术中一个虚拟端口对应一个vf的方案。
46.在一些实施例中,n个目标vf的局域网mac地址和虚拟局域网vlan均相同。即n个目标vf之间的mac地址和vlan均相同,这样可以避免在进行聚合时需要关闭安全检测的问题,提高安全性。
47.例如,一个目标虚拟端口有2个目标vf,vf1的mac地址和vf2的mac地址相同,vf1的vlan和vf2的vlan也相同。
48.在此种情况下,如图2和图3所示,一个目标虚拟端口挂载两个目标vf,host bond(主机节点组bond,模式为4)中有网络接口控制器(network interface controller,nic)1和nic2,开启链路聚合控制协议lacp(link aggregation control protocol),nic1通过vf1连接到eth0上,nic2通过vf2连接到eth1上。
49.在虚拟机内部,guest bond(虚机组bond,模式为2)将eth0和eth1聚合,关闭lacp,从而实现一个虚拟端口挂载两个vf。
50.在本实施方式中,通过对一个目标虚拟端口配置多个目标vf,提高了sr-iov的l2冗余,解决虚拟机单点故障,提高虚拟机的可靠性,多个目标vf的mac地址和vlan均相同,无需开启安全信任开关,提高了安全性。
51.可以理解的是,sr-iov网口的状态有up和down两种状态。例如,第一状态可以是up
状态。
52.在一些实施例中,可以通过虚拟机neutron组件对应的neutron-sriov-agent对各个目标vf所属的sr-iov的网口状态进行检测,进而确定出n个目标vf中sr-iov的网口状态为第一状态的目标vf的第一数量。
53.例如,n为2。第一状态为up状态,若检测到只有一个目标vf的状态为up状态,则第一数量为1。
54.步骤120,基于第一数量,调整n个目标vf的服务质量qos带宽限速值。
55.在此种情况下,可以根据当前目标虚拟端口所对应的qos带宽限速值来对n个目标vf的qos带宽限速值自动进行重新分配并进行调整。
56.在一些实施例中,第一状态为up状态,基于第一数量,调整n个目标vf的服务质量qos带宽限速值,包括将目标qos带宽限速值平均分配于第一状态为up状态的目标vf,且将n个目标vf中第一状态为down状态的目标vf的qos带宽限速值配置为0。
57.需要说明的是,目标qos带宽限速值为目标虚拟端口的最大qos带宽限速值。
58.例如,当前目标虚拟端口的qos带宽限速值为q,n个目标vf的qos带宽限速值在检测前可以被配置为q/n。
59.若对n个目标vf的sr-iov的网口状态分别进行检测,检测得到m个目标vf的网口状态由up状态转换为了down状态,则第一数量为n-m,m为大于等于1且小于n的正整数。
60.在此种情况下,neutron-sriov-agent对各个目标vf的qos带宽限速值进行更新,可以配置n-m个目标vf平均分配目标虚拟端口的最大qos带宽限速值。
61.换言之,sr-iov的网口状态为up状态的n-m个目标vf的qos带宽限速值被更新为q/(n-m),sr-iov的网口状态为down状态的m个目标vf的qos带宽限速值被更新为0。
62.在本实施方式中,当其中m个sr-iov网口故障时,可以动态调整n-m个目标vf平均分配目标虚拟端口的最大qos带宽限速值,在故障恢复时,可以动态调整n个目标vf为正常状态下的qos带宽限速值。
63.如图2所示,当前目标虚拟端口所对应的qos带宽限速值为q,n为2。第一状态为up状态,每个目标vf的qos带宽限速值为q/2。
64.如图3所示,若检测到只有一个目标vf的状态为up状态,则第一数量为1。状态为up状态的目标vf的qos带宽限速值可以由q/2调整为q/1,即为q。而另一个状态为down状态的目标vf的qos带宽限速值可以由q/2调整为0。
65.根据本发明实施例提供的vf的qos调整方法,通过对一个目标虚拟端口配置多个目标vf,可以保持目标虚拟端口的qos带宽限速值的一致性,并对多个目标vf的网口状态进行检测来调整各个目标vf的qos带宽限速值,可以根据网卡状态灵活调整每个目标vf的qos数值,保证了网口单点故障时带宽限速值的稳定性。
66.在一些实施例中,在基于第一数量,调整n个目标vf的服务质量qos带宽限速值之后,方法还包括按照目标周期重新确定n个目标vf中所属的sr-iov网口的状态为第一状态的目标vf的数量。
67.可以理解的是,可以按照目标周期不断及时地确定故障网口与正常网口的数量,进而及时调整各个目标vf的qos带宽限速值的分配。
68.在当前确定的目标vf的数量与上一次确定的目标vf的数量相同的情况下,维持各
个目标vf的qos带宽限速值不变。
69.在当前确定的目标vf的数量与上一次确定的目标vf的数量不相同的情况下,基于当前确定的目标vf的数量,重新调整n个目标vf的qos带宽限速值。
70.例如,在上一次检测过程中,若对n个目标vf的sr-iov的网口状态分别进行检测,检测得到m个目标vf的网口状态由up状态转换为了down状态,则第一数量为n-m,m为大于等于1且小于n的正整数。
71.在本次检测过程中,若m个目标vf中的y个目标vf的sr-iov网口状态恢复成up状态,则可以将目标虚拟端口的最大qos带宽限速值平均分配至sr-iov网口状态为up状态的各个目标vf,并将剩余的目标vf的qos带宽限速值设置为0。
72.在此种情况下,可以将sr-iov网口状态为up状态的(n-m y)个目标vf的qos带宽限速值设置为q/(n-m y),其余sr-iov网口状态为down状态的(m-y)目标vf的qos带宽限速值设置为0。
73.在本实施方式中,可以不断对目标vf的sr-iov网口状态进行检测,并在新的目标vf的网口发生故障时能及时调整各个目标vf的qos带宽限速值,进而保证网口故障时带宽限速值的稳定性。
74.在一些实施例中,在确定n个目标虚拟功能vf中所属的单根i/o虚拟化sr-iov网口的状态为第一状态的目标vf的第一数量之前,本发明实施例的vf的qos调整方法还包括:配置目标虚拟端口的qos带宽限速值为目标qos带宽限速值,并生成虚拟端口更新事件。
75.在本实施方式中,可以通过调用neutron-server的api(application program interface,应用程序界面)为目标虚拟端口配置最大qos带宽限速值,并生成虚拟端口更新事件向neutron-sriov-agent发送。
76.在neutron-sriov-agent接收到虚拟端口更新事件的更新通知的情况下,neutron-sriov-agent将目标qos带宽限速值平均分配至n个目标vf。其中,n个目标vf的第一状态为up状态。
77.在此种情况下,若最大qos带宽限速值为q,每个目标vf的qos带宽限速值被配置为q/n,使得目标虚拟端口的每个目标vf的qos带宽限速值相同。
78.在一些实施例中,在配置目标虚拟端口的qos带宽限速值为目标qos带宽限速值之前,本发明实施例的vf的qos调整方法还包括:接收用户的输入,确定目标虚拟端口的qos带宽限速值策略。
79.可以理解的是,可以通过接收用户通过前端用户交互界面调用neutron-server组件的api创建qos带宽限速值策略的操作来确定目标虚拟端口的qos带宽限速值策略。
80.在此种情况下,可以基于目标虚拟端口的qos带宽限速值策略,确定目标qos带宽限速值的具体数值。
81.在本实施方式中,可以通过用户定义的方式确定目标虚拟端口的qos带宽限速值策略,进而便于确定出各个目标vf的qos带宽限速值。
82.如图4所示,在一些实施例中,在创建具有sr-iov虚拟端口的虚拟机后,可以在一个虚拟端口直接关联n个目标vf。
83.在此基础上,可以通过用户调用neutron-server组件的api创建qos带宽限速值策略,并在策略中设置qos带宽限速值规则,即最大qos带宽限速值。
84.在确定出最大qos带宽限速值后,可以调用neutron-server的api为目标虚拟端口配置上述qos带宽限速值策略,并发送目标虚拟端口更新事件至neutron-sriov-agent。
85.在neutron-sriov-agent接收到虚拟端口更新事件的更新通知的情况下,更新每个目标vf的qos带宽限速值,每个目标vf的qos带宽限速值被配置为q/n。
86.neutron-sriov-agent按照目标周期不断检测每个目标vf所属sr-iov的网口状态,若检测得到m个目标vf的网口状态由up状态转换为了down状态,则neutron-sriov-agent对各个目标vf的qos带宽限速值进行更新。
87.sr-iov的网口状态为up状态的n-m个目标vf的qos带宽限速值被更新为q/(n-m),sr-iov的网口状态为down状态的m个目标vf的qos带宽限速值被更新为0。
88.在继续进行检测的过程中,若m个目标vf中的y个目标vf的sr-iov网口状态恢复成up状态,则neutron-sriov-agent对各个目标vf的qos带宽限速值进行更新。
89.可以将sr-iov网口状态为up状态的(n-m y)个目标vf的qos带宽限速值设置为q/(n-m y),其余sr-iov网口状态为down状态的(m-y)目标vf的qos带宽限速值设置为0。
90.在继续检测的过程中,若检测到目标vf的sr-iov网口状态发生变化,则继续对各个目标vf的qos带宽限速值进行更新,实现了对目标vf的qos带宽限速值的动态更新。
91.参照图5,下面对本发明提供的vf的qos调整装置进行描述,下文描述的vf的qos调整装置与上文描述的vf的qos调整方法可相互对应参照。
92.本发明实施例的vf的qos调整装置包括第一处理模块510和第二处理模块520。
93.第一处理模块510用于确定n个目标虚拟功能vf中所属的单根i/o虚拟化sr-iov网口的状态为第一状态的目标vf的第一数量;
94.第二处理模块520用于基于第一数量,调整n个目标vf的服务质量qos带宽限速值;
95.其中,n个目标vf配置于同一个目标虚拟端口,n个目标vf的局域网mac地址和虚拟局域网vlan均相同,n为大于1的正整数。
96.根据本发明实施例提供的vf的qos调整装置,通过对一个目标虚拟端口配置多个目标vf,可以保持目标虚拟端口的qos带宽限速值的一致性,并对多个目标vf的网口状态进行检测来调整各个目标vf的qos带宽限速值,可以根据网卡状态灵活调整每个目标vf的qos数值,保证了网口单点故障时带宽限速值的稳定性。
97.在一些实施例中,第一状态为up状态,第二处理模块520还用于将目标qos带宽限速值平均分配于第一状态为up状态的目标vf,且将第一状态为down状态的目标vf的qos带宽限速值配置为0;目标qos带宽限速值为目标虚拟端口的最大qos带宽限速值。
98.在一些实施例中,本发明实施例的vf的qos调整装置还包括第三处理模块,第三处理模块用于按照目标周期重新确定n个目标vf中所属的sr-iov网口的状态为第一状态的目标vf的数量;在当前确定的目标vf的数量与上一次确定的目标vf的数量不相同的情况下,基于当前确定的目标vf的数量,重新调整n个目标vf的qos带宽限速值。
99.在一些实施例中,本发明实施例的vf的qos调整装置还包括第四处理模块,第四处理模块用于配置目标虚拟端口的qos带宽限速值为目标qos带宽限速值,并生成虚拟端口更新事件;在接收到虚拟端口更新事件的更新通知的情况下,将目标qos带宽限速值平均分配至n个目标vf;其中,n个目标vf的第一状态为up状态。
100.在一些实施例中,本发明实施例的vf的qos调整装置还包括第五处理模块,第五处
理模块用于接收用户的输入,确定目标虚拟端口的qos带宽限速值策略;基于目标虚拟端口的qos带宽限速值策略,确定目标qos带宽限速值。
101.在一些实施例中,n个目标vf的mac地址和vlan均采用目标虚拟端口的mac地址和vlan。
102.图6示例了一种电子设备的实体结构示意图,如图6所示,该电子设备可以包括:处理器(processor)610、通信接口(communications interface)620、存储器(memory)630和通信总线640,其中,处理器610,通信接口620,存储器630通过通信总线640完成相互间的通信。处理器610可以调用存储器630中的逻辑指令,以执行vf的qos调整方法,该方法包括:确定n个目标虚拟功能vf中所属的单根i/o虚拟化sr-iov网口的状态为第一状态的目标vf的第一数量;基于第一数量,调整n个目标vf的服务质量qos带宽限速值;其中,n个目标vf配置于同一个目标虚拟端口,n个目标vf的局域网mac地址和虚拟局域网vlan均相同,n为大于1的正整数。
103.此外,上述的存储器830中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
104.另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的vf的qos调整方法,该方法包括:确定n个目标虚拟功能vf中所属的单根i/o虚拟化sr-iov网口的状态为第一状态的目标vf的第一数量;基于第一数量,调整n个目标vf的服务质量qos带宽限速值;其中,n个目标vf配置于同一个目标虚拟端口,n个目标vf的局域网mac地址和虚拟局域网vlan均相同,n为大于1的正整数。
105.又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的vf的qos调整方法,该方法包括:确定n个目标虚拟功能vf中所属的单根i/o虚拟化sr-iov网口的状态为第一状态的目标vf的第一数量;基于第一数量,调整n个目标vf的服务质量qos带宽限速值;其中,n个目标vf配置于同一个目标虚拟端口,n个目标vf的局域网mac地址和虚拟局域网vlan均相同,n为大于1的正整数。
106.以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
107.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上
述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
108.最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献