实现存储网关高可用分布式QOS的方法技术

技术编号:38250314 阅读:18 留言:0更新日期:2023-07-25 18:08
一种实现存储网关高可用分布式QOS的方法,包括如下步骤:高可用集群记录令牌控制中心的信息,并定期收集、维护各存储网关的状态;基于各存储网关的状态和令牌控制中心的信息,选出一个存储网关负责运行令牌控制中心,令牌控制中心按配置生成令牌;每个存储网关收到用户的请求后,从其本地令牌桶中获取令牌,若令牌不足则等待;每个存储网关间隔性地检测其本地令牌数量,当本地令牌数量小于设定阈值时向令牌控制中心申请令牌;令牌控制中心根据各存储网关近期的需求为各个存储网关按比例分配令牌。本方法不但支持高可用,而且能自适应存储节点数的变化,保证QOS限制能在分布式的存储网关上全局生效,提升QOS可持续性和准确性。提升QOS可持续性和准确性。提升QOS可持续性和准确性。

【技术实现步骤摘要】
实现存储网关高可用分布式QOS的方法


[0001]本专利技术涉及计算机网络与分布式存储技术,特别是涉及实现存储网关高可用分布式QOS的方法。

技术介绍

[0002]存储网关存储网关一般指基于存储底层并实现存储协议的存储协议网关,如s3对象网关、nfs存储网关、cifs存储网关等,在一个存储集群中可通常支持多个存储网关节点以保证负载的均衡性。
[0003]高可用集群高可用集群是指以减少服务中断时间为目的服务器集群技术,高可用集群通常由多个节点组成,即使在少数节点掉线或数据损坏的情况下,仍可提供服务。为了实现高可用存储集群,常见的算法有paxos、raft等。
[0004]paxos算法是在多个节点间达成数据一致的一种算法,通常由提议者(Proposer),决策者(Acceptor),和最终决策学习者(Learner)组成,并通过3阶段的动作来达成数据的一致性。
[0005]高可用集群cephmon就是基于paxos算法简化而实现的,高可用集群cephmon可在少数节点掉线或数据损坏的情况下,仍继续提供业务服务。
[0006]QOSQOS(QualityofService)是指服务质量,在同个存储集群中,存储的资源(如带宽,每秒传输的请求个数tps等)都是共享的,当多个用户访问时,如果个别用户的请求压力特别大,可能会耗尽存储系统的资源,导致其他用户的请求不能及时执行,极大的影响了其他用户的体验,引入QOS后,可对个别请求压力大的用户做带宽或tps限制,预留出部分系统资源给其他用户使用,提高其他用户的使用体验。
[0007]当存储集群中存在多个存储网关时,用户请求可从任意的网关发起,故需要QOS限制能在多个网关之间协调的执行,这就需要分布式QOS的实现。
[0008]CN202010669317.X公开了一种共享宽带限速方法,用于用户前置设备中,所述用户前置设备为分布式设备中的任意一个,所述分布式设备为共享同一个限速带宽且具有不同网络出口的至少两个用户前置设备,所述方法包括:根据初始带宽速率将令牌添加至所述用户前置设备的令牌桶中;每隔预设时间间隔将统计信息报告上报至中心控制器,所述统计信息报告为反映所述令牌桶中令牌的盈余情况或者缺少情况的报告,所述统计信息报告用于指示所述中心控制器通过中央令牌桶对所述用户前置设备的令牌进行再分配,所述中央令牌桶用于维护限速带宽对应的最大盈余值和存储所述限速带宽对应的全网令牌,所述最大盈余值表示所述中央令牌桶在所述限速带宽的限制下能提供的最大令牌数;所述方法还包括:当令牌盈余量为正数时,根据统计信息报告周期和令牌添加速率将所述令牌桶进行重置,所述令牌盈余量为所述用户前置设备的所述令牌桶中盈余或者缺少的令牌数
量,所述令牌添加速率为向所述令牌桶里添加令牌的速度,所述统计信息报告周期为所述中心控制器预先配置的时长;当所述令牌盈余量为负数时,接收所述中心控制器的反馈信息,所述反馈信息用于指示奖励的额外令牌;将所述额外令牌分配给指定限速参与设备,所述指定限速参与设备为与所述用户前置设备相连的多个限速参与设备中的至少一个。其缺点有:(1)控制中心不支持高可用,存在单点问题。(2)初始带宽速率由限速带宽和用户前置设备的数量共同决定,当前置设备掉线后,流控将不再准确。(3)当各个前置设备都需要不断和控制中心通信,通信代价比较大。
[0009]CN202010949707.2公开了一种分布式存储中实现服务质量的方法,包括:接收读写操作;检测对象存储网关在本地缓存的令牌个数是否满足所述读写操作所需的令牌个数;在所述本地缓存的令牌个数小于所述读写操作所需的令牌个数的情况下,分别从多个对象存储守护进程获取令牌,更新所述本地缓存的令牌个数;在所述本地缓存的令牌个数大于或者等于所述读写操作所需的令牌个数的情况下,执行所述读写操作。其缺点有:(1)当本地缓存的令牌个数不足时,需从多个对象存储守护进程获取令牌,通信成本比较高。(2)当总令牌充足,但本地缓存的令牌不足时才触发实时更新令牌也会导致该场景下的请求延迟会明显增加。(3)当有存储节点掉线后,Qos限制将不再准确。
[0010]需要说明的是,在上述
技术介绍
部分公开的信息仅用于对本申请的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。

技术实现思路

[0011]本专利技术的主要目的在于克服上述
技术介绍
的缺陷,提供一种实现存储网关高可用分布式QOS的方法,使得存储网关系统能实现更良好的QOS控制。
[0012]为实现上述目的,本专利技术采用以下技术方案:一种实现存储网关高可用分布式QOS的方法,包括如下步骤:高可用集群记录令牌控制中心的信息,并定期收集、维护各存储网关的状态;基于各存储网关的状态和令牌控制中心的信息,选出一个存储网关负责运行令牌控制中心,令牌控制中心按配置生成令牌;每个存储网关收到用户的请求后,从其本地令牌桶中获取令牌,若令牌不足则等待;每个存储网关间隔性地检测其本地令牌数量,当本地令牌数量小于设定阈值时向令牌控制中心申请令牌;令牌控制中心根据各存储网关近期的需求为各个存储网关按比例分配令牌。
[0013]进一步地:各存储网关通过心跳进行相互监控,当任意存储网关发现其他存储网关不在线时,向高可用集群报告状态,高可用集群重新发布网关状态,基于最新网关状态重新选择运行令牌控制中心的存储网关。
[0014]所述高可用集群重新发布网关状态包括:将所有存储网关的状态信息同步到各存储网关中。
[0015]所述基于最新网关状态重新选择运行令牌控制中心的存储网关包括:用分布式令牌桶的id和所有存储网关的id做hash计算,得到一系列hash值,比较该系列hash值,获取最大hash值所用的存储网关作为运行令牌控制中心的存储网关。
[0016]所述方法还包括:当任意存储网关在近期没有申请令牌时,令牌控制中心删除相应存储网关的令牌申请记录。
[0017]所述方法还包括:当任意存储网关从令牌控制中心申请令牌失败超过一定的次数后,则将按当前时段内能申请到的最大令牌数为相应存储网关的本地令牌桶添加令牌。
[0018]所述各存储网关近期的需求包括每个存储网关近期申请的令牌总数。
[0019]任意存储网关向令牌控制中心申请的令牌数数量等于设定阈值减去本地令牌桶的本地令牌数量。
[0020]当用户的请求发送到存储网关后,先进入请求队列,并且在获取对应数量的令牌后,出队列继续执行该请求。
[0021]一种计算机可读存储介质,存储有计算机程序,所述计算机程序由处理器运行时,执行所述的实现存储网关高可用分布式QOS的方法。
[0022]本专利技术具有如下有益效果:相对于现有的QOS方法,本专利技术提供一种实现存储网关高可用分布式QOS的方法,其分布式QOS不但能支持高可用,而且能自适应存储节点数的变化,保证QOS可持续性和准确性。
[0023]本专利技术的主要优点体现在:通过一种分布式的QOS限制,保证QOS限制能在分布式的多个节点的存储网关本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种实现存储网关高可用分布式QOS的方法,其特征在于,包括如下步骤:高可用集群记录令牌控制中心的信息,并定期收集、维护各存储网关的状态;基于各存储网关的状态和令牌控制中心的信息,选出一个存储网关负责运行令牌控制中心,令牌控制中心按配置生成令牌;每个存储网关收到用户的请求后,从其本地令牌桶中获取令牌,若令牌不足则等待;每个存储网关间隔性地检测其本地令牌数量,当本地令牌数量小于设定阈值时向令牌控制中心申请令牌;令牌控制中心根据各存储网关近期的需求为各个存储网关按比例分配令牌。2.如权利要求1所述的方法,其特征在于,还包括:各存储网关通过心跳进行相互监控,当任意存储网关发现其他存储网关不在线时,向高可用集群报告状态,高可用集群重新发布网关状态,基于最新网关状态重新选择运行令牌控制中心的存储网关。3.如权利要求2所述的方法,其特征在于,所述高可用集群重新发布网关状态包括:将所有存储网关的状态信息同步到各存储网关中。4.如权利要求2所述的方法,其特征在于,所述基于最新网关状态重新选择运行令牌控制中心的存储网关包括:用分布式令牌桶的id和所有存储网关的id做hash计算,得到一系列...

【专利技术属性】
技术研发人员:傅金地陈坚文刘飞
申请(专利权)人:深圳市杉岩数据技术有限公司
类型:发明
国别省市:

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

1