一种异构存储优化方法及装置的制造方法

文档序号:9921970阅读:285来源:国知局
一种异构存储优化方法及装置的制造方法
【技术领域】
[0001]本发明涉及数据存储技术领域,尤其涉及一种异构存储优化方法及装置。
【背景技术】
[0002]目前,在虚拟化网关或软件定义存储(Software Defined Storage,SDS)设备中,通常将物理存储设备虚拟化或封装成为更需要的存储资源类型来整合存储资源以及提供存储服务,用来虚拟化或封装的物理存储设备称为后端存储设备。将不同性能、结构的后端存储设备应用虚拟化技术集中管理起来,使所有的存储子系统在一个存储池中得到统一的管理,以集中存储资源,提供存储服务,降低维护投入,称为异构存储虚拟化。
[0003]由于虚拟化网关或SDS设备中的这些后端存储设备是来自于不同的存储设备厂商,且规格也不尽相同,因此,每个后端存储设备的属性和性能参数差异较大,其中,性能参数包括每秒读写次数(Input/Output Operat1ns Per Second,I OPS)与延迟时间等。
[0004]但是虚拟化网关或SDS设备通常在对不同的后端存储设备进行虚拟化的过程中,对不同的后端存储设备采用相同的处理策略,即虚拟化网关或SDS设备在本地的高速缓冲存储器(Cache)为对接的每一个后端存储设备采用同样的策略分配Cache资源,然而,由于不同的后端存储设备的性能参数不同,针对性能参数较低的慢阵列和中端阵列,通过虚拟化网关或SDS设备分配的对应的Cache资源,可以明显提高慢阵列和中端阵列的读写性能;针对性能参数较高的快阵列,如某全闪存存储阵列性能参数很高,在经过虚拟化网关或SDS设备虚拟化过后,该全闪存存储阵列的读写性能远低于该全闪存存储阵列未虚拟化的读写性能,虚拟化网关或SDS设备中的Cache拖慢了该全闪存存储阵列的访问速度,进而降低了该存储系统的读写性能,同时,也导致虚拟化网关或SDS设备中Cache资源的浪费,不能充分提高其它后端存储设备读写速度。

【发明内容】

[0005]本发明实施例提供一种异构存储优化方法及装置,用以解决现有技术中存在的对不同性能参数的后端存储设备进行虚拟化后,降低了后端存储设备的性能参数,以及浪费Cache资源的问题。
[0006]本发明实施例提供的具体技术方案如下:
[0007]第一方面,一种异构存储优化方法,包括:
[0008]针对一个后端存储设备,将高速缓冲存储器Cache资源池中的至少一个Cache块分配给所述后端存储设备;并
[0009]将所述Cache资源池中分配给所述后端存储设备的Cache块删除;
[0010]在一个预设时长结束后,确定主机在所述时长内,基于分配的Cache块读写所述后端存储设备的数据的读写任务的第一总延迟时间,以及确定在未给所述后端存储设备分配Cache块的情况下,主机读写所述后端存储设备的数据时,处理所述读写任务的第二总延迟时间;
[0011]根据所述第一总延迟时间和所述第二总延迟时间对已分配给所述后端存储设备的Cache块的数量进行调整。
[0012]结合第一方面,在第一种可能的实现方式中,将Cache资源池中的至少一个Cache块分配给所述后端存储设备,包括:
[0013]将Cache资源池中设定比例的Cache块分配给所述后端存储设备;或
[0014]将Cache资源池中设定数目的Cache块分配给所述后端存储设备。
[0015]结合第一方面或第一方面的第一种可能的实现方式,在第二种可能的实现方式中,确定主机在所述时长内,基于分配的Cache块读写所述后端存储设备的数据的读写任务的第一总延迟时间,包括:
[0016]获取主机在所述时长内,基于分配的Cache块的读任务的总数目和写任务的总数目;并
[0017]获取分配的Cache块的击中率,所述Cache块的击中率指针对分配的Cache块的读任务中,使分配的Cache块击中的读任务的数目与所述读任务的总数目的比值,所述Cache块击中指针对任意读任务,在Cache块中读取到对应数据;
[0018]分别获取主机基于分配的Cache块进行的写任务的第一平均延迟时间、主机在所述分配的Cache块击中时进行的读任务的第二平均延迟时间,以及主机在所述分配的Cache块未击中时进行的读任务的第三平均延迟时间;
[0019]根据获取的所述读任务的总数目、所述写任务的总数目、分配的Cache块的击中率、所述第一平均延迟时间、所述第二平均延迟时间以及所述第三平均延迟时间,确定主机在所述时长内,基于分配的Cache块读写所述后端存储设备的数据的读写任务的第一总延迟时间。
[0020]结合第一方面的第二种可能的实现方式,在第三种可能的实现方式中,确定主机在所述时长内,基于分配的Cache块读写所述后端存储设备的数据的读写任务的第一总延迟时间,所述第一总延迟时间满足下述公式的条件:
[0021 ] Tcache= TWON Write+TRA,*NRead*PCache+TRA*NRead* (1-Pcache)
[0022]其中,Tca-为第一总延迟时间;
[0023]Nftlte为写任务的总数目,N Rea#读任务的总数目;
[0024]Pca-为分配的Cache块的击中率;
[0025]TffC为第一平均延迟时间,TRA’为第二平均延迟时间,TRA为第三平均延迟时间。
[0026]结合第一方面或第一方面的第一种可能的实现方式,在第四种可能的实现方式中,确定在未给所述后端存储设备分配Cache块的情况下,主机读写所述后端存储设备的数据时,处理所述读写任务的第二总延迟时间,包括:
[0027]获取主机在所述时长内,针对所述后端存储设备的读任务的总数目和写任务的总数目;
[0028]分别获取在未给所述后端存储设备分配Cache块的情况下,主机针对所述后端存储设备进行的写任务的第四平均延迟时间和主机针对所述后端存储设备进行的读任务的第五平均延迟时间;
[0029]根据获取的所述读任务的总数目、所述写任务的总数目、所述第四平均延迟时间以及所述第五平均延迟时间,确定在未给所述后端存储设备分配Cache块的情况下,主机读写所述后端存储设备的数据时,处理所述读写任务的第二总延迟时间。
[0030]结合第一方面的第四种可能的实现方式,在第五种可能的实现方式中,确定在未给所述后端存储设备分配Cache块的情况下,主机读写所述后端存储设备的数据时,处理所述读写任务的第二总延迟时间,所述第二总延迟时间满足下述公式的条件:
[0031]TNoCache= Tff*N ‘ Write+TR*N,Read
[0032]其中,TN—为第二总延迟时间;
[0033]N VltoS写任务的总数目,N’ Read为读任务的总数目,TW为第四平均延迟时间,TR为第五平均延迟时间。
[0034]结合第一方面或第一方面的第一至第五任意一种可能的实现方式,在第六种可能的实现方式中,根据所述第一总延迟时间和所述第二总延迟时间对已分配给所述后端存储设备的Cache块的数量进行调整,包括:
[0035]当所述第一总延迟时间小于所述第二总延迟时间时,获取所述后端存储设备的热点逻辑区块地址LBA的总容量和为所述后端存储设备分配的Cache块的容量;
[0036]若所述热点LBA的总容量大于或等于分配的Cache块的容量,则将Cache资源池中的第一设定数目的Cache块增加分配给所述后端存储设备,并在所述Cache资源池中删除所述第一设定数目的Cache块;
[0037]若所述热点LBA的总容量小于分配的Cache块的容量,则在已分配给所述后端存储设备的Cache块中减少第一设定数目的Cache块,并将减少的第一设定数目的Cache块增加到所述Cache资源池中。
[0038]结合第一方面或第一方面的第一至第五任意一种可能的实现方式,在第七种可能的实现方式中,根据所述第一总延迟时间和所述第二总延迟时间对已分配给所述后端存储设备的Cache块的数量进行调整,包括:
[0039]当所述第一总延迟时间大于或等于所述第二总延迟时间,且所述第一总延迟时间除以所述第二总延迟时间得到的第一延迟时间比例小于预设比例门限值时,获取所述后端存储设备的热点LBA的总容量和为所述后端存储设备分配的Cache块的容量,所述预设比例门限值大于I ;
[0040]当所述热点LBA的总容量大于分配的Cache块的容量、且所述热点LBA的总容量与分配的Cache块的容量差大于设定容量差时,判断分配的Cache块的击中率是否小于击中率阈值;
[0041]所述Cache块的击中率指针对分配的Cache块的读任务中,使分配的Cache块击中的读任务的数目与所述读任务的总数目的比值,所述Cache块击中指针对任意读任务在Cache块中读取到对应数据;
[0042]若分配的Cache块的击中率小于击中率阈值,则取消已分配给所述后端存储设备的Cache块,并将取消的Cache块增加到所述Cache资源池中;
[0043]若分配的Cache块的击中率大于或等于击中率阈值,则将Cache资源池中的第一设定数目的Cache块增加分配给所述后端存储设备,并在所述Cache资源池中删除所述第一设定数目的Cache块。
[0044]结合第一方面或第一方面的第一至第五任意一种可能的实现方式,在第八种可能的实现方式中,根据所述第一总延迟时间和所述第二总延迟时间对已分配给所述后端存储设备的Cache块的数量进行调整,包括:
[0045]当所述第一总延迟时间大于或等于所述第二总延迟时间,且所述第一总延迟时间除以所述第二总延迟时间得到的第一延迟时间比例小于预设比例门限值时,获取所述后端存储设备的热点LBA的总容量和为所述后端存储设备分配的Cache块的容量,所述预设比例门限值大于I ;
[0046]当所述热点LBA的总容量小于分配的Cache块的容量、且所述热点LBA的总容量与分配的Cache块的容量差大于设定容量差时,取消已分配给所述后端存储设备的Cache块,并将取消的Cache块增加到所述Cache资源池中。
[0047]结合第一方面或第一方面的第一至第五任意一种可能的实现方式,在第九种可能的实现方式中,根据所述第一总延迟时间和所述第二总延迟时间对已分配给所述后端存储设备的Cache块的数量进行调整,包括:
[0048]当所述第一总延迟时间大于或等于所述第二总延迟时间,且所述第一总延迟时间除以所述第二总延迟时间得到的第一延迟时间比例小于预设比例门限值时,获取所述后端存储设备的热点LBA的总容量和为所述后端存储设备分配的Cache块的容量,所述预设比例门限值大于I ;
[0049]当所述热点LBA的总容量与分配的Cache块的容量差小于或等于设定容量差时,判断分配的Cache块的击中率是否大于击中率阈值;
[0050]所述Cache块的击中率指针对分配的Cache块的读任务中,使分配的Cache块击中的读任务的数目与所述读任务的总数目的比值,所述Cache块击中指针对任意读任务在Cache块中读取到对应数据;
[0051]若分配的Cache块的击中率大于击中率阈值,则将Cache资源池中的第一设定数目的Cache块增加分配给所述后端存储设备,并在所述Cache资源池中删除所述第一设定数目的Cache块;
[0052]若分配的Cache块的击中率小于或等于击中率阈值,则取消已分配给所述后端存储设备的Cache块,并将取消的Cache块增加到所述Cache资源池中。
[0053]结合第一方面或第一方面的第一至第五任意一种可能的实现方式,在第十种可能的实现方式中,根据所述第一总延迟时间和所述第二总延迟时间对已分配给所述后端存储设备的Cache块的数量进行调整,包括:
[0054]当所述第一总延迟时间除以所述第二总延迟时间得到的第一延迟时间比例大于或等于预设比例门限值时,取消已分配给所述后端存储设备的Cache块,并将取消的Cache块增加到所述Cache资源池中,所述预设比例门限值大于I。
[0055]结合第一方面的第六、第七、第九任意一种可能的实现方式,在第十一种可能的实现方式中,将Cache资源池中的第一设定数目的Cache块增加分配给所述后端存储设备后,还包括:
[0056]在下一个预设时长结束时,确定主机在所述时长内,基于增加第一设定数目后的分配的Cache块的读写任务的第三总延迟时间,以及确定在未给所述后端存储设备分配Cache块的情况下,主机读写所述后端存储设备的数据时处理所述读写任务的第四总延迟时间;
[0057]将所述第一总延迟时间除以所述第二总延迟时间得到第一延迟时间比例,并将第三总延迟时间除以第四总延迟时间得到第二延迟时间比例;
[0058]若第二延迟时间比例大于或等于第一延迟时间比例,则取消增加的第一设定数目的Cache块,并将取消的第一设定数目Cache块增加到所述Cache资源池中;
[0059]若第二延迟时间比例小于第一延迟时间比例,则继续将Cache资源池中的第一设定数目的Cache块增加分配给所述后端存储设备,并在所述Cache资源池中删除所述第一设定数目的Cache块。
[0060]结合第一方面的第六、第七、第九任意一种可能的实现方式,在第十二种可能的实现方式中,将Cache资源池中的第一设定数目的Cache块增加分配给所述后端存储设备,包括:
[0061]在所述后端存储设备的服务优先级非最低,且当前Cache资源池中的Cache块的数目小于所述第一设定数目时,将所述第一设定数目减去当前Cache资源池中的Cache块的数目得到缺省数目;
[0062]从为服务优先级最低的后端存储设备分配的Cache块中恢复缺省数目的Cache块到Cache资源池;
[0063]将Cache资源池中的第一设定数目的Cache块增加分配给所述后端存储设备。
[0064]结合第一方面的第六种可能的实现方式,在第十三种可能的实现方式中,在已分配给所述后端存储设备的Cache块中减少第一设定数目的Cache块后,还包括:
[0065]在下一个预设时长结束时,确定主机在所述时长内,基于减少第一设定数目后的分配的Cache块的读写任务的第三总延迟时间,以及确定在未给所述后端存储设备分配Cache块的情况下,主机读写所述后端存储设备的数据时处理所述读写任务的第四总延迟时间;
[0066]将所述第一总延迟时间除以所述第二总延迟时间得到第一延迟时间比例,并将第三总延迟时间除以第四总延迟时间得到第二延迟时间比例;
[0067]若第二延迟时间比例大于第一延迟时间比例,则恢复减少的第一设定数目的Cache块分配给所述后端存储设备,并在所述Cache资源池中删除所述第一设定数目的Cache 块;
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1