IO服务质量控制方法、装置、设备及存储介质制造方法及图纸

技术编号:19341000 阅读:19 留言:0更新日期:2018-11-07 13:29
本发明专利技术实施例公开了一种IO服务质量控制方法、装置、设备及存储介质。所述方法包括:基于虚拟磁盘接收IO请求,并根据所述虚拟磁盘与控制组的对应关系对所述IO请求标记对应的控制组,其中,所述虚拟磁盘已格式化成与用户需求信息匹配的文件系统;基于所述虚拟磁盘与调度器的对应关系,将所述IO请求分发至对应的调度器;根据控制组与调度对象的对应关系,以及当前调度器接收的IO请求的标记控制组,将当前调度器接收的IO请求分发至对应的调度对象,其中,所述调度器包含至少一个调度对象;根据当前调度对象的配额,对所述当前调度对象中的多个IO请求进行调度处理。本发明专利技术实施例可以实现对IO请求合理分配,并最大化利用底层磁盘驱动器的性能。

IO QoS control method, device, device and storage medium

The embodiment of the invention discloses a IO service quality control method, device, device and storage medium. The method includes: receiving IO requests based on virtual disk and corresponding control groups according to the corresponding relationship between the virtual disk and the control group, in which the virtual disk has been formatted into a file system matching the user's requirement information; and based on the corresponding relationship between the virtual disk and the scheduler, the control group corresponding to the IO request tag is formed. The IO request is distributed to the corresponding scheduler; according to the corresponding relationship between the control group and the scheduling object and the label control group of the IO request received by the current scheduler, the IO request received by the current scheduler is distributed to the corresponding scheduling object, in which the scheduler contains at least one scheduling object; and according to the current scheduling pair, the IO request received by the current scheduler is distributed to the corresponding scheduling object. The quota of images is scheduled to process multiple IO requests in the current scheduling object. The embodiment of the invention can realize reasonable allocation of IO requests and maximize the utilization of the performance of the underlying disk drive.

【技术实现步骤摘要】
IO服务质量控制方法、装置、设备及存储介质
本专利技术实施例涉及质量服务控制技术,尤其涉及一种IO服务质量控制方法、装置、设备及存储介质。
技术介绍
在云计算应用场景中,存储资源通常以虚拟化的方式部署给用户。为了保证集群资源高效的利用,以及用户之间的公平性分配,需要保证在满足单个用户最大IO资源需求的前提下,不影响其他用户IO资源的使用。其中,对每个用户进行IO请求控制,一般统称为质量服务(QualityofService,QoS)。在Linux操作系统中,由于文件系统、页面缓存(PageCache)和控制组(ControlGroup,Cgroup)的设计,通过在IO调用栈的不同层次引入不同的解决方案,能够在一定程度上解决IOQoS控制的问题,IO调用栈具体如图1a所示,通常操作系统可分为内核空间和用户空间,用户进程通过标准接口(如posix标准)向操作系统发送IO请求。内核空间中,文件系统可以选择向PageCache或者直接向底层块设备发送IO请求,PageCache可以定期向底层块设备发送IO请求。其中,由于块设备往往是机械硬盘,机械硬盘进行IO时相当一部分的开销是在IO的寻道上,为了降低磁盘寻道成本,在块设备请求发送到底层块设备上会对IO请求执行合并操作。目前IOQoS控制方法主要包括以下三种:1、基于文件系统的IOQoS控制:在用户往文件系统请求的时候,对用户IO进行统计,当用户的请求超过限额时,降低对用户相应的请求速度,从而达到限速的目的;2、基于块设备请求(BlockingIO,BIO)的IOQoS控制:在文件系统向块设备层提交请求的时候,对IO请求进行统计,并当超过用户指定的配额,系统将用户的块请求挂起,可以实现对PageCache往下发的块请求进行有效的控制,即以块设备为单位进行IOQoS;3、基于Cgroup的IOQoS控制:将每个进程进行分组,在IO请求调度的时候,对IO进行合并,然后再统计,最后根据每个控制组的权值,在一个磁盘调度周期内为控制组合理分配磁盘驱动器的带宽,使得磁盘驱动器能够最大化利用磁盘带宽,同时又能保证用户之间合理的带宽分配。上述方法均存在缺陷:1、基于文件系统的IOQoS控制:只统计用户发出的请求,无法根据底层磁盘驱动器、PageCache命中率和块设备合并的请求进行有效控制。2、与第一种方法的缺陷相似,均无法充分利用磁盘驱动器的性能。3、目前通用的Cgroup为V1版本,其无法对PageCache层的IO进行有效的QoS控制。但是这些隔离方式在有些应用场景下,部分参数难以估计,运维人员无法简单有效的实施IOQoS控制,因而在实际的生产中没有得到广泛的应用。
技术实现思路
本专利技术实施例提供了一种IO服务质量控制方法、装置、设备及存储介质,可以优化现有的IO服务质量控制方法,在实现PageCache层的IO请求进行有效的服务质量控制的同时实现充分利用磁盘驱动器的性能,避免资源浪费,实现合理公平分配资源。第一方面,本专利技术实施例提供了一种IO服务质量控制方法,包括:基于虚拟磁盘接收IO请求,并根据所述虚拟磁盘与控制组的对应关系对所述IO请求标记对应的控制组,其中,所述虚拟磁盘已格式化成与用户需求信息匹配的文件系统;基于所述虚拟磁盘与调度器的对应关系,将所述IO请求分发至对应的调度器;根据控制组与调度对象的对应关系,以及当前调度器接收的IO请求的标记控制组,将当前调度器接收的IO请求分发至对应的调度对象,其中,所述调度器包含至少一个调度对象;根据当前调度对象的配额,对所述当前调度对象中的多个IO请求进行调度处理。第二方面,本专利技术实施例还提供了一种IO服务质量控制装置,包括:控制组信息标记模块,用于基于虚拟磁盘接收IO请求,并根据所述虚拟磁盘与控制组的对应关系对所述IO请求标记对应的控制组,其中,所述虚拟磁盘已格式化成与用户需求信息匹配的文件系统;IO请求第一分发模块,用于基于所述虚拟磁盘与调度器的对应关系,将所述IO请求分发至对应的调度器;IO请求第二分发模块,用于根据控制组与调度对象的对应关系,以及当前调度器接收的IO请求的标记控制组,将当前调度器接收的IO请求分发至对应的调度对象,其中,所述调度器包含至少一个调度对象;IO请求调度处理模块,用于根据当前调度对象的配额,对所述当前调度对象中的多个IO请求进行调度处理。第三方面,本专利技术实施例还提供了一种设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序所述处理器执行所述程序时实现如本专利技术实施例中任一所述的IO服务质量控制方法。第四方面,本专利技术实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本专利技术实施例中任一所述的IO服务质量控制方法。本专利技术实施例通过设置虚拟磁盘分发用户的IO请求,解决了现有技术中不能识别页面缓存中的IO请求的问题,可以全面精准识别出用户的IO请求,实现对用户的IO请求进行合理分配以及有效控制,同时基于QoS控制组对IO请求进行服务质量控制,实现合理分配物理磁盘的带宽,能够最大化利用物理磁盘的带宽,提高物理磁盘的资源的利用率,同时保证各用户之间的公平合理的带宽分配。附图说明图1a是现有技术中提供的一种IO调用栈的示意图;图1b是本专利技术实施例一提供的一种IO服务质量控制方法的流程图;图1c是本专利技术实施例一提供的一种调度器的功能框图;图2a是本专利技术实施例二提供的一种IO服务质量控制方法的流程图;图2b是本专利技术实施例二提供的一种构建虚拟磁盘的示意图;图2c是本专利技术实施例二提供的一种调度对象的关系示意图;图3是本专利技术实施例三提供的一种IO服务质量控制装置的示意图;图4是本专利技术实施例四提供的一种设备的结构示意图。具体实施方式下面结合附图和实施例对本专利技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本专利技术,而非对本专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本专利技术相关的部分而非全部结构。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。实施例一图1b为本专利技术实施例一提供的一种IO服务质量控制方法的流程图,本实施例可适用于Linux操作系统在本地存储中对多个用户间的IO请求的调度情形,该方法可以由本专利技术实施例提供的IO服务质量控制装置来执行,该装置可采用软件和/或硬件的方式实现,并一般可集成在本专利技术实施例提供的设备中。如图1b所示,本实施例的方法具体包括:S110,基于虚拟磁盘接收IO请求,并根据所述虚拟磁盘与控制组的对应关系对所述IO请求标记对应的控制组,其中,所述虚拟磁盘已格式化成与用户需求信息匹配的文件系统。具体的,虚拟磁盘可以是在内存中里面虚拟出的磁盘,同时,由于内存的处理速度大于物理磁盘的处理速度,通过构建虚拟磁盘可以加快磁盘的数据交换的速度。控制组可以是一种可以限制、记录、隔离进程组所使用的资源(本文档来自技高网
...

【技术保护点】
1.一种IO服务质量控制方法,其特征在于,包括:基于虚拟磁盘接收IO请求,并根据所述虚拟磁盘与控制组的对应关系对所述IO请求标记对应的控制组,其中,所述虚拟磁盘已格式化成与用户需求信息匹配的文件系统;基于所述虚拟磁盘与调度器的对应关系,将所述IO请求分发至对应的调度器;根据控制组与调度对象的对应关系,以及当前调度器接收的IO请求的标记控制组,将当前调度器接收的IO请求分发至对应的调度对象,其中,所述调度器包含至少一个调度对象;根据当前调度对象的配额,对所述当前调度对象中的多个IO请求进行调度处理。

【技术特征摘要】
1.一种IO服务质量控制方法,其特征在于,包括:基于虚拟磁盘接收IO请求,并根据所述虚拟磁盘与控制组的对应关系对所述IO请求标记对应的控制组,其中,所述虚拟磁盘已格式化成与用户需求信息匹配的文件系统;基于所述虚拟磁盘与调度器的对应关系,将所述IO请求分发至对应的调度器;根据控制组与调度对象的对应关系,以及当前调度器接收的IO请求的标记控制组,将当前调度器接收的IO请求分发至对应的调度对象,其中,所述调度器包含至少一个调度对象;根据当前调度对象的配额,对所述当前调度对象中的多个IO请求进行调度处理。2.根据权利要求1所述的方法,其特征在于,在基于虚拟磁盘接收IO请求,并根据所述虚拟磁盘与控制组的对应关系将所述IO请求标记到对应的控制组之前,还包括:根据至少一个物理磁盘建立存储池;根据接收的虚拟磁盘的创建请求,将所述存储池中分配为至少一个虚拟磁盘,并将每个虚拟磁盘对应格式化成与用户需求信息匹配的文件系统;建立至少一个控制组,其中每个控制组设置有对应的权值;建立所述至少一个控制组与所述至少一个所述虚拟磁盘的对应关系。3.根据权利要求1所述的方法,其特征在于,所述根据当前调度对象的配额,对所述当前调度对象中的多个IO请求进行调度处理,包括:根据所述当前调度对象中IO请求的调度顺序,依次对所述当前调度对象中IO请求进行调度处理,直到所述当前调度对象的配额用完或所述述当前调度对象中IO请求均被调度完成时,结束所述当前调度对象中IO请求的调度。4.根据权利要求3所述的方法,其特征在于,在根据所述当前调度对象中IO请求的调度顺序,依次对所述当前调度对象中IO请求进行调度处理之前,还包括:根据所述当前调度对象中的IO请求的来源位置和请求时间进行调度排序。5.根据权利要求2所述的方法,其特征在于,所述调度器...

【专利技术属性】
技术研发人员:郑淮城
申请(专利权)人:星环信息科技上海有限公司
类型:发明
国别省市:上海,31

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

1