System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及存储,尤其是涉及一种虚拟磁盘的缓存数据加速方法、装置和设备。
技术介绍
1、open cas(open caching acceleration software)是一种开源的缓存加速软件,用于提高存储系统的性能和效率。在open cas中需要对存储设备进行加速,比如后备存储(backend storage)作为被加速存储设备,高速缓冲存储器(cache storage)作为高速存储设备。其中cache缓存数据的读加速原理是:通过lru(least recently used,最近最少使用)表记录输入输出(input output,io)及访问频率判断;若cache lru表被命中,则优先从cache存储设备中读数据;若cache lru表不被命中,则将缓存数据添加到lru表,并从backend storage中加载该数据到cache storage中,以便后续这些输入输出io有机会被命中,数据写加速原理与读加速原理类似。
2、在数据读/写加速过程中,为了提高虚拟磁盘的io性能,使用虚拟化闪存加速技术,如图1所示,3个主机分别是主机a、主机b和主机c,使用共享文件系统,虚拟磁盘作为共享文件系统上的一个文件,将虚拟磁盘的缓存加速层放置在ssd(solid state drive,固态硬盘)上。
3、在数据缓存加速过程中,管理员可以选择使用vmotion功能迁移一个虚拟机vm到另一台主机上,或者迁移缓存数据,或者还可以放弃缓存数据,而是而在目的端重建。在vmotion过程中使用虚拟机缓存加速会有
4、一方面,因为使用vmotion功能迁移过程中会包括缓存数据,与不迁移缓存数据相比,会耗费更长的时间来迁移虚拟机,该迁移耗费的时间取决于缓存数据的大小和可用的网络带宽、存储带宽等。另一方面,使用vmotion功能迁移虚拟机过程中,若是放弃缓存数据,不复制缓存加速的数据,则在虚拟机迁移后,就失去了缓存加速的作用;当源主机宕机或硬件异常,由于缓存的数据不可访问,则会缓存数据全部丢失。
技术实现思路
1、有鉴于此,本专利技术提供了一种虚拟磁盘的缓存数据加速方法、装置和设备,以解决虚拟机迁移过程中加快缓存迁移的问题。
2、第一方面,本专利技术提供了一种虚拟磁盘的缓存数据加速方法,该方法应可用于第一主机,该第一主机为宿主机,该方法包括:
3、获取第一主机上本地缓存的第一最近最少使用lru列表,第一lru列表中包括n条缓存的lru表项,n为正整数且n≥1,第一lru列表用于在本地缓存中存储lru缓存数据;
4、在第一lru列表中查询缓存的lru缓存数据如果未命中,则生成一条lru表项,并将lru表项添加至第一lru列表,建立本地缓存的lru缓存数据与共享文件系统的后备缓存之间的映射关系;
5、将添加所述lru表项的第一lru列表持久化至第一主机所在集群的共享文件系统的后备缓存单元中,生成第二lru列表,以使其他主机从共享文件系统的后备缓存单元中获取第二lru列表,并根据第二lru列表中映射关系和所述lru表项恢复所述lru缓存数据。
6、结合第一方面,在一种可能的实施方式中,上述将添加所述lru表项的第一lru列表持久化至所述第一主机所在集群的共享文件系统的后备缓存单元中,包括:
7、当在第一lru列表中添加lru表项,以及新建映射关系时,将添加所述lru表项的第一lru列表持久化至后备缓存单元中;
8、或者,周期性地向共享文件系统的后备引擎处理模块发送至少一个第一命令,根据每个第一命令用于指示将添加所述lru表项的第一lru表项持久化至后备缓存单元中。
9、结合第一方面,在另一种可能的实施方式中,上述方法还包括:当需要淘汰第一lru列表中末尾的lru表项时,在本地缓存的至少一个映射关系中确定目标映射关系,目标映射关系为末尾的lru表项的缓存数据与目标后备缓存之间的映射关系;将删除所述末尾lru表项和目标映射关系的第一lru列表,持久化至共享文件系统的后备缓存单元中,生成第三lru列表;其中,第三lru列表为淘汰末尾lru表项数据后的列表,将第三lru列表持久化至共享文件系统的后备缓存单元中。
10、可选的,第三lru列表中包括n-1条lru表项。
11、结合第一方面,在又一种可能的实施方式中,上述方法还包括:当检测到第一主机宕机时,向迁移处理模块发送第二命令,第二命令用于指示迁移处理模块将第一主机的磁盘文件迁移至第二主机;以使第二主机根据第二lru列表生成第五lru列表,第五lru列表用于恢复第一虚拟磁盘文件的加速缓存数据。
12、结合第一方面,在又一种可能的实施方式中,将所述第二lru列表加载至第二主机,包括:将所述第二lru列表中的至少一个lru表项和映射关系拆分成多个数据块;将多个数据块加载至第二主机,以使第二主机根据多个数据块整合恢复第一虚拟磁盘文件,并生成所述第五lru列表。
13、第二方面,本专利技术还提供了一种虚拟磁盘的缓存数据加速方法,应用于共享文件系统中,方法包括:
14、响应于第一主机将添加有lru表项的第一lru列表持久化至所述共享文件系统的持久化操作,并生成第二lru列表,第二lru列表中包括映射关系和所述lru表项,所述映射关系为第一主机本地缓存的lru缓存数据与共享文件系统的后备缓存之间的映射关系,第一lru列表为在第一主机的本地缓存中存储有n条lru表项的lru列表;
15、将第二lru列表中的映射关系追加写入到后备缓存单元中,以使集群中其他主机从共享文件系统的后备缓存单元中获取第二lru列表,并根据映射关系和lru表项恢复所述lru缓存数据。
16、结合第二方面,在一种可能的实施方式中,响应于第一主机将添加有lru表项的第一lru列表持久化至所述共享文件系统的操作,并生成第二lru列表,包括:当在第一lru列表中添加lru表项时,响应于第一lru列表的持久化操作,生成第二lru列表;或者,周期性地接收第一主机发送的至少一个第一命令,根据每个第一命令执行所述第一主机的持久化操作,生成第二lru列表。
17、结合第二方面,在另一种可能的实施方式中,上述方法还包括:当第一主机淘汰第一lru列表中末尾的lru表项时,响应于第一主机将删除所述末尾lru表项和目标映射关系的第一lru列表的持久化操作,生成第三lru列表第三lru列表,第三lru列表为在第一lru列表中淘汰末尾的lru表项后生成的列表;将第三lru列表追加写入至后备缓存单元中。
18、结合第二方面,在又一种可能的实施方式中,接收来自第一主机持久化操作的第二lru列表之后,还包括:按照预设规则对第二lru列表中的至少一个lru表项进行整合,并生成第四lru列表,预设规则包括按照追加写机制比较新追加的lru表项与列表中已存储的lru表项是否存在重复,如果是,则剔除重复的lru表项;将所述第四本文档来自技高网...
【技术保护点】
1.一种虚拟磁盘的缓存数据加速方法,其特征在于,应用于第一主机,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述将添加所述LRU表项的第一LRU列表持久化至所述第一主机所在集群的共享文件系统的后备缓存单元中,包括:
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
5.一种虚拟磁盘的缓存数据加速方法,其特征在于,应用于共享文件系统中,所述方法包括:
6.根据权利要求5所述的方法,其特征在于,所述响应于第一主机将添加有LRU表项的第一LRU列表持久化至所述共享文件系统的操作,并生成第二LRU列表,包括:
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
8.根据权利要求5至7中任一项所述的方法,其特征在于,所述生成所述第二LRU列表之后,还包括:
9.根据权利要求5至7中任一项所述的方法,其特征在于,所述方法还包括:
10.根据权利要求9所述的方法,其特征在于,所述将所述第二LRU列
11.一种虚拟磁盘的缓存数据加速装置,其特征在于,所述装置包括:
12.一种虚拟磁盘的缓存数据加速装置,其特征在于,所述装置包括:
13.一种电子设备,其特征在于,包括存储器和处理器,所述存储器和所述处理器相连接,
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机指令,
...【技术特征摘要】
1.一种虚拟磁盘的缓存数据加速方法,其特征在于,应用于第一主机,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述将添加所述lru表项的第一lru列表持久化至所述第一主机所在集群的共享文件系统的后备缓存单元中,包括:
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
5.一种虚拟磁盘的缓存数据加速方法,其特征在于,应用于共享文件系统中,所述方法包括:
6.根据权利要求5所述的方法,其特征在于,所述响应于第一主机将添加有lru表项的第一lru列表持久化至所述共享文件系统的操作,并生成第二lru列表,包括:
7.根据权利要求6所述...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。