This application discloses a method, device and storage server for service quality control, in which multiple agents are set up between multiple storage servers and clients, and the agents can communicate with each other and obtain the corresponding relationship between volume groups and agents. The method is applied to agents, including receiving IO requests from clients accessing corresponding volume groups and serving clients. End-IO requests are counted to get statistical information, which includes the number of client IO requests and corresponding output phase information; client IO requests and statistical information are sent to the storage server, so that the storage server calculates the reserved time label, weight time label and upper limit time label for client IO requests. The client IO request is processed, and the output phase information corresponding to the client IO request sent by the storage server is received, and the statistical information of the corresponding volume group is updated. This application implements dmClock algorithm to support volume group QoS, improves the quality of service and meets the application requirements.
【技术实现步骤摘要】
服务质量控制方法、装置和存储服务器
本申请涉及计算机
,具体涉及一种服务质量控制方法、装置和存储服务器。
技术介绍
分布式存储系统是由多台存储服务器组成的存储集群。分布式存储具有高可靠性,高可用性,快速存取,易于扩展等优点。由于分布式存储系统将数据分散存储在各存储服务器的不同存储设备中,当多个用户同时访问同一存储设备时,就会引起存储资源的竞争问题。例如,假设某分布式存储系统有两个用户,它们分别提供联机事务处理(On-LineTransactionProcessing,简称OLTP)业务和备份业务,存储资源是一定的,备份业务的数据量较大并且对存储服务器的使用较频繁,所以备份业务会占用大量的存储资源,导致OLTP业务无法获得足够的存储资源而影响业务的正常运行。鉴于这一问题,分布式存储领域提出了存储服务质量QoS(QualityofService)算法,存储QoS算法的目标是合理分配存储资源,解决部分业务独占存储资源致使其它业务无法正常工作的问题。现有技术有多种实现存储QoS的算法,例如,典型的漏桶和令牌桶算法,但每种算法都有一定的局限性,漏桶和令牌桶算法只能实现限速功能。现有技术中有一种mClock算法,mClock算法是2010年发表的一篇论文《mClock:handlingthroughputvariabilityforhypervisorIOscheduling》中提出的算法。mClock算法包含三个主要参数:预留、上限和权重(或称比例)。预留是保证给定存储块的最低性能,上限是限制给定存储块的最高性能,权重是在满足预留和上限的前提下为不同用户提供不 ...
【技术保护点】
1.一种服务质量控制方法,其特征在于,在多个存储服务器和客户端之间设置多个代理,所述代理之间能够通信,且所述代理能够获得卷组与所述代理之间的对应关系,该方法应用于所述代理,包括:接收访问对应卷组的客户端IO请求;对访问对应卷组的客户端IO请求进行统计得到统计信息;其中,统计信息包括:访问对应卷组的客户端IO请求的数目以及客户端IO请求对应的输出阶段信息;将客户端IO请求和统计信息发送至存储服务器,以使所述存储服务器为所述客户端IO请求计算预留时间标签、权重时间标签和上限时间标签,并对所述客户端IO请求进行处理;接收所述存储服务器发送的所述客户端IO请求对应的输出阶段信息,更新对应卷组的所述统计信息。
【技术特征摘要】
1.一种服务质量控制方法,其特征在于,在多个存储服务器和客户端之间设置多个代理,所述代理之间能够通信,且所述代理能够获得卷组与所述代理之间的对应关系,该方法应用于所述代理,包括:接收访问对应卷组的客户端IO请求;对访问对应卷组的客户端IO请求进行统计得到统计信息;其中,统计信息包括:访问对应卷组的客户端IO请求的数目以及客户端IO请求对应的输出阶段信息;将客户端IO请求和统计信息发送至存储服务器,以使所述存储服务器为所述客户端IO请求计算预留时间标签、权重时间标签和上限时间标签,并对所述客户端IO请求进行处理;接收所述存储服务器发送的所述客户端IO请求对应的输出阶段信息,更新对应卷组的所述统计信息。2.根据权利要求1所述的方法,其特征在于,接收所述存储服务器发送的所述客户端IO请求对应的输出阶段信息包括:接收所述存储服务器在基于预留的阶段处理所述客户端IO请求时发送的基于预留的阶段信息;所述基于预留的阶段信息中包括:客户端IO请求标识信息以及指示客户端IO请求的输出阶段的信息,或者,接收所述存储服务器在基于权重的阶段处理所述客户端IO请求时发送的基于权重的阶段信息;所述基于权重的阶段信息中包括:客户端IO请求标识信息以及指示客户端IO请求的输出阶段的信息,更新对应卷组的所述统计信息包括:根据所述客户端IO请求对应的基于预留的阶段信息,更新统计信息中基于预留的阶段信息对应的客户端IO请求数目,或者,根据所述客户端IO请求对应的基于权重的阶段信息,更新统计信息中基于权重的阶段信息对应的客户端IO请求数目。3.根据权利要求1或2所述的方法,其特征在于,所述代理分为负责代理和非负责代理,所述负责代理,接收访问对应卷组的客户端IO请求,和/或接收非负责代理转发的访问对应卷组的客户端IO请求或客户端IO请求对应的通知消息;对访问对应卷组的客户端IO请求进行统计得到统计信息,并将客户端IO请求和统计信息发送至存储服务器;接收所述存储服务器发送的客户端IO请求对应的输出阶段信息,更新对应卷组的所述统计信息;所述非负责代理,接收访问对应卷组的客户端IO请求,将访问对应卷组的客户端IO请求转发至所述负责代理,或者将接收的访问对应卷组的客户端IO请求发送至存储服务器,并发送通知消息至所述负责代理,所述通知消息中包括:客户端IO请求的标识信息,非负责代理的标识信息以及存储服务器的地址信息。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:在所述代理启动后,向服务进程发送查询请求,以获得所述代理与卷组之间的对应关系以及所述代理的角色信息,所述角色信息用于指示所述代理作为负责代理还是非负责代理。5.根据权利要求3所述的方法,其特征在于,负责代理具体执行如下步骤:接收访问对应卷组的读请求,将所述读请求和统计信息一并发送至存储服务器;接收所述存储服务器在对读请求处理后发送的读请求对应的输出阶段信息,并更新所述统计信息中相应输出阶段信息对应的客户端IO请求数目;接收所述存储服务器发送的读响应信息,返回读响应信息至发送所述读请求的客户端;和/或接收访问对应卷组的写请求,将所述写请求和统计信息一并发送至存储服务器;接收所述存储服务器在对写请求处理后发送的写请求对应的输出阶段信息,并更新所述统计信息中相应输出阶段信息对应的客户端IO请求数目;接收所述存储服务器发送的写响应信息,返回写响应信息至发送所述写请求的客户端。6.根据权利要求3所述的方法,其特征在于,非负责代理具体执行如下步骤:接收访问对应卷组的写请求,将所述写请求发送至存储服务器,并发送通知消息至所述负责代理,以使所述负责代理根据接收到的通知消息,将统计信息发送至所述存储服务器;接收所述存储服务器发送的写响应信息,返回写响应信息至发送所述写请求的客户端;和/或接收访问对应卷组的读请求,转发所述读请求至所述负责代理,以使所述负责代理将统计信息以及读请求一并发送至存储服务器;接收所述存储服务器发送的读响应信息,返回读响应信息至发送所述读请求的客户端。7.一种存储服务器,其特征在于,包括:通信模块,适于接收代理发送的访问对应卷组的客户端IO请求和统计信息,其中,所述代理设置在多个存储服务器和客户端之间,所述代理之间能够通信,且所述代理能够获得卷组与所述代理之间的对应关系,所述统计信息包括:访问对应卷组的客户端IO请求的数目以及客户端IO请求对应的输出阶段信息,IO处理模块,适于为所述客户端IO请求计算预留时间标签、权重时间标签和上限时间标签,并对所述客户端IO请求进行处理;所述通信模块,还适于将所述客户端IO请求对应的输出阶段信息发送至所述代理,使得所述代理更新对应卷组的所述统计信息。8.根据权利要求7所述的存储服务器,其特征在于,所述通信模块,适于接收对应卷组的负责代理发送的客户端IO请求和统计信息,将所述客户端IO请求对应的输出阶段信息发送至所述负责代理,以使负责代理更新对应卷组的所述统计信息;所述通信模块,适于接收对应卷组的非负责代理发送的客户端IO请求,并接收所述负责代理发送的所述统计信息。9.根据权利要求8所述的存储服务器,其特征在于,所述通信模块,适于接收对应卷组的非负责代理发送的写请求,并接收所述负责代理发送的统计信息,所述IO处理模块,适于根据所述写请求以及所述统计信息,利用时间标签计算公式计算出写请求的准预留时间标签,准上限时间标签和准权重时间标签...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。