一种基于固态硬盘的VF动态调度方法、装置及介质制造方法及图纸

技术编号:38617592 阅读:14 留言:0更新日期:2023-08-26 23:45
本发明专利技术公开了一种基于固态硬盘的VF动态调度方法、装置及介质,适用于计算机虚拟化技术领域。在硬件资源方面将总带宽、队列深度、IOPS、RAB和命名空间总容量进行绑定。在将VF带宽和IOPS与容量绑定时,以确保每个VF运行业务时拥有自己的带宽和IOPS;将VF的队列深度和容量绑定,使得虚拟机下发的命令个数进行限制,不影响其他虚拟机;根据命名空间总容量确定每个VF的RAB,避免业务压力大时及时调整RAB导致的带宽或者IOPS不足,达到运行业务时各VF之间互不影响。在软件方面分别根据调度信用值和NS个数完成调度过程中的NS调度和下刷过程中的下刷快慢,调度信用值由带宽和IOPS决定,保证带宽资源充裕。带宽资源充裕。带宽资源充裕。

【技术实现步骤摘要】
一种基于固态硬盘的VF动态调度方法、装置及介质


[0001]本专利技术涉及计算机虚拟化
,特别是涉及一种基于固态硬盘的VF动态调度方法、装置及介质。

技术介绍

[0002]为了提高单盘存储容量的利用以及降低运营成本,单盘支持多个直连的虚拟机成为一种场景的使用模式,同时也对存储技术的发展和服务质量带来挑战。随着存储接口的技术发展和迭代,固体硬盘(Solid State Drive,SSD)提供了单根I/O虚拟化(Single Root I/O Virtualization,SR

IOV)特性,支持单个SSD的物理功能(physical function,PF)盘虚拟化出多个虚拟功能(virtual function,VF)盘。
[0003]在虚拟机内,VF盘可以看作一个独立的SSD,由于多个虚拟机之间对PF盘资源的使用是竞争关系。当两个以上虚拟机的VF盘在运行业务时,占用的带宽会互相抢占,如当前时刻只有单个VF运行业务,则该VF占用的是总带宽,但是当其他VF也在运行时会抢占当前单个VF的带宽,导致业务的带宽利用出现较大的波动;另外,多个VF运行不同的业务,其中某一个VF盘在切换业务时,如果由随机写业务切换至随机读业务,其随机读业务对应填充的命令还是沿用前一个随机写业务的速度获取命令,导致该VF盘的命令处理延时较长,命令释放延时也随之变长,导致长时间占用资源,从而随机读业务的带宽无法跟上原有的随机读业务的带宽,影响随机读业务。综上,上述两种情况中的多个VF在运行业务时,相互之间的性能存在干扰,导致服务质量得不到保障。
[0004]因此,如何避免多个运行业务之间干扰以保证服务质量是本领域技术人员亟需要解决的。

技术实现思路

[0005]本专利技术的目的是提供一种基于固态硬盘的VF动态调度方法、装置及介质,保证命令和物理资源保持动态平衡。
[0006]为解决上述技术问题,本专利技术提供一种基于固态硬盘的VF动态调度方法,包括:
[0007]预先获取所述固态硬盘的总带宽、命名空间总容量和VF盘数量,其中,所述VF盘数量和命名空间数量相同,且VF盘与命名空间为一一绑定关系;
[0008]根据所述总带宽、所述命名空间总容量和所述VF盘数量的组合关系确定硬件资源对应的硬件调度参数,其中,所述硬件参数至少包括命名空间带宽临界值、IOPS临界值、NVME队列深度的临界值和RAB值;
[0009]获取所述固态硬盘的当前运行业务的命名空间个数和链表内的当前命令,并根据所述当前命令确定对应的调度信用值,其中,所述调度信用值由所述带宽临界值和所述IOPS临界值确定得到;
[0010]分别根据所述调度信用值和所述当前运行业务的命名空间个数确定对应的调度策略以完成软件资源对应的调度。
[0011]优选地,根据所述总带宽、所述命名空间总容量和所述VF盘数量的关系确定所述命名空间带宽临界值,包括:
[0012]获取所述固态硬盘的当前命名空间的容量值;
[0013]根据所述总带宽和所述命名空间总容量进行绑定得到每个命名空间的带宽值;
[0014]根据所述当前命名空间的容量值与所述带宽值的关系确定所述命名空间带宽临界值;
[0015]对应地,根据所述总带宽、所述命名空间总容量和所述VF盘数量的关系确定所述IOPS临界值,包括:
[0016]获取每个IO的带宽值;
[0017]根据所述每个IO的带宽值和所述命名空间带宽临界值的关系确定所述IOPS临界值。
[0018]优选地,根据所述命名空间总容量和所述VF盘数量的关系确定所述NVME队列深度的临界值,包括:
[0019]根据所述命名空间总容量和所述VF盘数量的关系确定各VF的容量比值;
[0020]根据各所述VF的容量比值与预设临界范围的关系确定各所述VF所属的IO队列命令个数临界值,其中,所述预设临界范围规定VF容量比值的范围,且与所述IO队列命令个数临界值存在映射关系;
[0021]将所述IO队列命令个数临界值作为所述NVME队列深度的临界值。
[0022]优选地,所述RAB值与所述当前命令所处的物理盘状态相关,在所述物理盘状态为FOB态时,根据所述总带宽、所述命名空间总容量和所述VF盘数量的关系确定所述RAB值,包括:
[0023]根据所述命名空间总容量和所述VF盘数量的关系确定各VF的容量比值;
[0024]根据各所述VF的容量比值与临界阈值范围的关系确定各所述VF所属的RAB临界值,其中,所述临界阈值范围规定VF容量比值的范围,且与所述RAB临界值存在映射关系。
[0025]优选地,所述RAB值与所述当前命令所处的物理盘状态相关,在所述物理盘状态为SS态时,根据所述总带宽、所述命名空间总容量和所述VF盘数量的关系确定所述RAB值,包括:
[0026]获取当前VF运行的目标业务、所述目标业务对应的业务参数和当前RAB值,其中,所述业务参数至少包括业务类型和/或当前IOPS值的一种或多种,所述业务类型由所述当前IOPS值确定,所述当前IOPS值小于所述IOPS临界值,且由当前命名空间带宽值确定,所述IOPS临界值由所述总带宽、所述命名空间总容量和所述VF盘数量的关系确定;
[0027]根据所述目标业务对应的业务参数确定所述目标业务的RAB值调整策略;
[0028]根据所述RAB值调整策略对所述目标业务的所述当前RAB值进行调整得到所述RAB值。
[0029]优选地,在所述目标业务的业务参数为所述业务类型时,根据所述业务类型确定所述目标业务的RAB值调整策略,包括:
[0030]获取所述目标业务的业务类型和各VF下的所述当前RAB值,其中,所述业务类型至少包括随机读业务、随机写业务的一种,所述随机读业务由单位时间随机的读命令个数确定;
[0031]在所述业务类型为所述随机读业务时,在所述当前RAB值的基础上增加预设RAB值以作为所述目标业务对应的RAB值调整策略;
[0032]在其他业务的所述当前RAB值的基础上减少所述预设RAB值以作为所述其他业务对应的RAB值调整策略。
[0033]优选地,在所述目标业务的业务参数为所述当前IOPS值,根据所述业务类型确定所述目标业务的RAB值调整策略,包括:
[0034]获取所述当前IOPS值;
[0035]判断所述目标业务的所述当前IOPS值是否大于预设IOPS值;
[0036]若是,则获取所述目标业务对应的所述当前RAB值;
[0037]在所述当前RAB值的基础上增加预设RAB值以作为所述目标业务对应的RAB值调整策略;
[0038]在其他业务的所述当前RAB值的基础上减少所述预设RAB值以作为所述其他业务对应的RAB值调整策略。
[0039]优选地,在所述目标业务发生变化时,在所述根据所述RAB值调整策略调整所述当前VF的所述当前RAB值之后,还包括:
[0040]将所本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于固态硬盘的VF动态调度方法,其特征在于,包括:预先获取所述固态硬盘的总带宽、命名空间总容量和VF盘数量,其中,所述VF盘数量和命名空间数量相同,且VF盘与命名空间为一一绑定关系;根据所述总带宽、所述命名空间总容量和所述VF盘数量的组合关系确定硬件资源对应的硬件调度参数,其中,所述硬件参数至少包括命名空间带宽临界值、IOPS临界值、NVME队列深度的临界值和RAB值;获取所述固态硬盘的当前运行业务的命名空间个数和链表内的当前命令,并根据所述当前命令确定对应的调度信用值,其中,所述调度信用值由所述带宽临界值和所述IOPS临界值确定得到;分别根据所述调度信用值和所述当前运行业务的命名空间个数确定对应的调度策略以完成软件资源对应的调度。2.根据权利要求1所述的基于固态硬盘的VF动态调度方法,其特征在于,根据所述总带宽、所述命名空间总容量和所述VF盘数量的关系确定所述命名空间带宽临界值,包括:获取所述固态硬盘的当前命名空间的容量值;根据所述总带宽和所述命名空间总容量进行绑定得到每个命名空间的带宽值;根据所述当前命名空间的容量值与所述带宽值的关系确定所述命名空间带宽临界值;对应地,根据所述总带宽、所述命名空间总容量和所述VF盘数量的关系确定所述IOPS临界值,包括:获取每个IO的带宽值;根据所述每个IO的带宽值和所述命名空间带宽临界值的关系确定所述IOPS临界值。3.根据权利要求1所述的基于固态硬盘的VF动态调度方法,其特征在于,根据所述命名空间总容量和所述VF盘数量的关系确定所述NVME队列深度的临界值,包括:根据所述命名空间总容量和所述VF盘数量的关系确定各VF的容量比值;根据各所述VF的容量比值与预设临界范围的关系确定各所述VF所属的IO队列命令个数临界值,其中,所述预设临界范围规定VF容量比值的范围,且与所述IO队列命令个数临界值存在映射关系;将所述IO队列命令个数临界值作为所述NVME队列深度的临界值。4.根据权利要求1至3任意一项所述的基于固态硬盘的VF动态调整方法,其特征在于,所述RAB值与所述当前命令所处的物理盘状态相关,在所述物理盘状态为FOB态时,根据所述总带宽、所述命名空间总容量和所述VF盘数量的关系确定所述RAB值,包括:根据所述命名空间总容量和所述VF盘数量的关系确定各VF的容量比值;根据各所述VF的容量比值与临界阈值范围的关系确定各所述VF所属的RAB临界值,其中,所述临界阈值范围规定VF容量比值的范围,且与所述RAB临界值存在映射关系。5.根据权利要求1至3任意一项所述的基于固态硬盘的VF动态调整方法,其特征在于,所述RAB值与所述当前命令所处的物理盘状态相关,在所述物理盘状态为SS态时,根据所述总带宽、所述命名空间总容量和所述VF盘数量的关系确定所述RAB值,包括:获取当前VF运行的目标业务、所述目标业务对应的业务参数和当前RAB值,其中,所述业务参数至少包括业务类型和/或当前IOPS值的一种或多种,所述业务类型由所述当前IOPS值确定,所述当前IOPS值小于所述IOPS临界值,且由当前命名空间带宽值确定,所述
IOPS临界值由所述总带宽、所述命名空间总容量和所述VF盘数量的关系确定;根据所述目标业务对应的业务参数确定所述目标业务的RAB值调整策略;根据所述RAB值调整策略对所述目标业务的所述当前RAB值进行调整得到调整后的RAB值。6.根据权利要求5所述的基于固态硬盘的VF动态调整方法,其特征在于,在所述目标业务的业务参数为所述业务类型时,根据所述业务类型确定所述目标业务的RAB值调整策略,包括:获取所述目标业务的业务类型和各VF下的所述当前RAB值,其中,所述业务类型至少包括随机读业务、随机写业务的一种,所述随机读业务由单位时间随机的读命令个数确定;在所述业务类型为所述随机读业务时,在所述当前RAB值的基础上增加预设RAB值以作为所述目标业务对应的RAB值调整策略;在其他业务的所述当前RAB值的基础上减少所述预设RAB值以作为所述其他业务对应的RAB值调整策略。7.根据权利要求5所述的基于固态硬盘的VF动态调整方法,其特征在于,在所述目标...

【专利技术属性】
技术研发人员:袁勇奋吴增坤王晋强杨亚飞
申请(专利权)人:深圳大普微电子科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1