基于硬件卸载的链接克隆方法、系统、设备及存储介质技术方案

技术编号:36872960 阅读:20 留言:0更新日期:2023-03-15 20:11
本申请实施例提供一种基于硬件卸载的链接克隆方法、系统、设备及存储介质。在本申请实施例中,在主机和存储设备之间增设硬件卸载卡,将基于主机侧CPU算力构建的链接克隆技术下沉到硬件卸载卡上,利用硬件卸载卡异构硬件的高效并行处理能力,一方面模拟存储设备挂载于主机上,另一方面对存储设备进行虚拟化管理,在虚拟化的基础上面向主机提供命名空间的创建能力,使得主机能够通过该硬件卸载卡实现硬件级别的链接克隆技术,既能避免对主机侧的系统环境产生侵入,减少主机的运维管理负担,又能降低主机侧的计算资源开销,而且对物理空间的访问操作由硬件卸载卡完成,相比软件处理逻辑可降低物理空间的访问性能损耗,提高IO处理性能。理性能。理性能。

【技术实现步骤摘要】
基于硬件卸载的链接克隆方法、系统、设备及存储介质


[0001]本申请涉及云计算
,尤其涉及一种基于硬件卸载的链接克隆方法、系统、设备及存储介质。

技术介绍

[0002]在云计算领域,通常采用链接克隆(Linked Clone,LC)技术实现虚拟机实例的快速批量创建,同时通过瘦分配(thin provisioning)技术节省大量的存储空间。链接克隆技术的原理是:基于一个具备完整数据空间的母卷来创建子卷,新创建的子卷仅包含一个指向母卷的链接;针对子卷的读请求被重定向到母卷,子卷复用母卷的实际物理空间,由于子卷未分配实际物理空间,可快速批量创建。当有数据写入子卷时,再分配实际物理空间,达到按需使用的效果,实现实际物理空间的超卖。
[0003]现有技术,一般是利用逻辑卷管理(Logical Volume Manager,LVM)技术,在操作系统的通用块设备层之上增加逻辑设备管理层,由逻辑设备管理层实现对硬盘空间的虚拟化,进而在该虚拟化基础上,基于快照(snapshot)和瘦分配技术实现链接克隆能力。但是,在该方案中,对实际物理空间的IO操作都要经过逻辑设备管理层,而该逻辑设备管理层的处理逻辑相对复杂,这会造成物理空间的访问性能损耗,尤其是对于被子卷复用的物理空间,当大量读请求被重定向到该物理空间时会出现频繁的IO操作,IO性能损耗明显。

技术实现思路

[0004]本申请的多个方面提供一种基于硬件卸载的链接克隆方法、系统、设备及存储介质,用以降低物理空间的访问性能损耗,提高IO处理性能。
>[0005]本申请实施例提供一种基于硬件卸载的链接克隆系统,包括:依次互联的主机、硬件卸载卡以及目标存储设备;其中,硬件卸载卡至少包括:可编程硬件模块和处理器;可编程硬件模块,用于根据与主机之间的互联协议,模拟目标存储设备挂载于主机上,并获取来自主机端的基于命名空间的链接克隆请求,将链接克隆请求写入处理器的内存空间中;处理器,用于对目标存储设备进行虚拟化管理,以向主机提供命名空间创建能力;以及在接收到链接克隆请求的情况下,根据链接克隆母卷对应的第一命名空间,创建链接克隆子卷对应的第二命名空间,并将第二命名空间指向第一命名空间对应的物理空间,以实现基于命名空间的链接克隆。
[0006]本申请实施例还提供一种硬件卸载卡,硬件卸载卡分别与主机和目标存储设备互联,硬件卸载卡至少包括:可编程硬件模块和处理器;可编程硬件模块,用于根据硬件卸载卡与主机之间的互联协议,模拟目标存储设备挂载于主机上,并获取来自主机端的基于命名空间的链接克隆请求,将链接克隆请求写入处理器的内存空间中;处理器,用于对目标存储设备进行虚拟化管理,以向主机提供命名空间创建能力;以及在接收到链接克隆请求的情况下,根据链接克隆母卷对应的第一命名空间,创建链接克隆子卷对应的第二命名空间,并将第二命名空间指向第一命名空间对应的物理空间,以实现基于命名空间的链接克隆。
[0007]本申请实施例还提供一种基于硬件卸载的链接克隆方法,应用于与主机和目标存储设备互联的硬件卸载卡,硬件卸载卡模拟目标存储设备挂载于主机上,并面向主机提供命名空间创建能力,该方法包括:响应来自主机端的基于命名空间的链接克隆请求,根据链接克隆母卷对应的第一命名空间,创建链接克隆子卷对应的第二命名空间,并将第二命名空间指向第一命名空间对应的物理空间,以实现基于命名空间的链接克隆。
[0008]本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,当计算机程序被处理器执行时,致使处理器执行本申请实施例提供的基于硬件卸载的链接克隆方法中的步骤。
[0009]在本申请实施例中,在主机和存储设备之间增设硬件卸载卡,将基于主机侧CPU算力构建的链接克隆技术下沉到硬件卸载卡上,利用硬件卸载卡异构硬件的高效并行处理能力,一方面模拟目标存储设备挂载于主机上,实现与主机的对接;另一方面对目标存储设备进行虚拟化管理,在虚拟化的基础上面向主机提供命名空间的创建能力,使得主机能够通过该硬件卸载卡实现硬件级别的基于命名空间的链接克隆技术,既能避免对主机侧的系统环境产生侵入,减少主机的运维管理负担,又能降低主机侧的计算资源开销,而且对物理空间的访问操作由硬件卸载卡完成,相比软件处理逻辑可降低物理空间的访问性能损耗,提高IO处理性能。
附图说明
[0010]此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
[0011]图1a为本申请示例性实施例提供的一种基于LVM技术的链接克隆系统的结构示意图;
[0012]图1b为本申请示例性实施例提供的一种基于硬件卸载的链接克隆系统的结构示意图;
[0013]图2为本申请示例性实施例提供的另一种基于硬件卸载的链接克隆系统的结构示意图;
[0014]图3a为本申请示例性实施例提供的又一种基于硬件卸载的链接克隆系统的结构示意图;
[0015]图3b为本申请示例性实施例提供的一种硬件卸载卡的处理器的软件架构示意图;
[0016]图4为本申请示例性实施例提供的一种空间映射表以及物理空间状态表的示意图;
[0017]图5为本申请示例性实施例提供的一种基于硬件卸载的链接克隆方法的流程示意图。
具体实施方式
[0018]为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0019]在现有技术中,基于LVM软件实现链接克隆技术。该实现方案的内部架构图如图1a所示,基于该内部架构图实现链接克隆的过程以及后续IO读写过程如下所示:
[0020]如图1a所示:主机(Host)上包括应用程序(APP),每个应用程序对应有逻辑卷(Logical Volume,LV),父应用程序对应有基础(Base)LV,子应用程序对应的逻辑卷是基于基础LV进行链接克隆得到的,子应用程序对应的逻辑卷称为子卷,又称为支持读写的(Read Write,RW)LV。其中,在主机上通过软件实现有设备映射器(Device Mapper),该设备映射器基于LVM技术实现链接克隆技术,该设备映射器的内部实现结构如图1a所示。
[0021]设备映射器的组成如下:
[0022]1、精简池(Thin Pool):包括一个元设备(Meta Device)和一个数据设备(Data Device),两者也可以位于同一个物理磁盘上,thin pool将数据设备组织成一个存储空间,最小分配单位是块(chunk)。
[0023]1)元设备(Meta Device),用于负责管理逻辑空间到物理空间的映射关系,同时,利用写时复制(Copy On Write,COW)技术实现了瘦分配技术本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种硬件卸载卡,其特征在于,所述硬件卸载卡分别与主机和目标存储设备互联,所述硬件卸载卡至少包括:可编程硬件模块和处理器;所述可编程硬件模块,用于根据所述硬件卸载卡与所述主机之间的互联协议,模拟所述目标存储设备挂载于所述主机上,并获取来自所述主机端的基于命名空间的链接克隆请求,将所述链接克隆请求写入所述处理器的内存空间中;所述处理器,用于对所述目标存储设备进行虚拟化管理,以向所述主机提供命名空间创建能力;以及在接收到所述链接克隆请求的情况下,根据链接克隆母卷对应的第一命名空间,创建链接克隆子卷对应的第二命名空间,并将所述第二命名空间指向所述第一命名空间对应的物理空间,以实现基于命名空间的链接克隆。2.根据权利要求1所述的硬件卸载卡,其特征在于,所述可编程硬件模块上至少实现有通信引擎装置和存储端点装置;所述存储端点装置,用于根据所述硬件卸载卡与主机之间的互联协议,模拟所述目标存储设备挂载于所述主机上;所述通信引擎装置,用于获取来自所述主机端的基于命名空间的链接克隆请求,并将所述链接克隆请求写入所述处理器的内存空间中。3.根据权利要求2所述的硬件卸载卡,其特征在于,所述可编程硬件模块上还实现有高速缓存装置,用于缓存各个命名空间的空间映射表,每个空间映射表中存储对应命名空间中逻辑块的地址偏移,逻辑块对应物理块的地址偏移以及物理块是否具有只读共享属性的标记信息。4.根据权利要求3所述的硬件卸载卡,其特征在于,所述处理器在实现基于命名空间的链接克隆时具体用于:从所述高速缓存装置中获取所述第一命名空间的空间映射表;根据所述第一命名空间的空间映射表生成第二命名空间的空间映射表,并写入所述高速缓存装置中进行缓存,以实现基于命名空间的链接克隆;其中,所述第二命名空间的空间映射表中包含的逻辑块的数量以及逻辑块对应物理块的地址偏移和只读共享属性均与所述第一命名空间的空间映射表中的相同。5.根据权利要求4所述的硬件卸载卡,其特征在于,所述可编程硬件模块上还实现有IO映射装置;所述通信引擎装置还用于:获取所述主机端对所述第二命名空间发起的IO读写请求,将所述IO读写请求提供给所述IO映射装置;所述IO映射装置,用于根据所述IO读写请求,基于所述高速缓存装置中缓存的所述第二命名空间的空间映射表,对所述第二命名空间进行IO读写操作。6.根据权利要求5所述的硬件卸载卡,其特征在于,所述IO映射装置,具体用于:在所述IO读写请求为读请求的情况下,根据所述读请求中包含的第一逻辑块的地址偏移查询所述高速缓存装置,以从所述第二命名空间的空间映射表中获取所述第一逻辑块对应的第一物理块的地址偏移;根据所述第一物理块的地址偏移,对所述第一物理块进行数据读操作;或者在所述IO读写请求为写请求的情况下,根据所述写请求中包含的第二逻辑块的地址偏移查询所述高速缓存装置,以从所述第二命名空间的空间映射表中获取所述第二逻辑块对
应且不具有只读共享属性的第二物理块的地址偏移;若未获取到所述第二物理块的地址偏移,请求所述处理器为所述第二逻辑块分配所述第二物理块,并根据所述第二物理块的地址偏移,对所述第二物理块进行数据写操作。7.根据权利要求6所述的硬件卸载卡,其特征在于,所述处理器还用于:在为所述第二逻辑块分配所述第二物理块的情况下,将所述第二命名空间的空间映射表中所述第二逻辑块对应的物理块的地址偏移更新为所述第二物理块的地址偏移,并将具有只读共享属性的标记信息更新为不具有只读共享属性的标记信息。8.根据权利要求4

7任一项所述的硬件卸载卡,其特征在于,所述通信引擎装置还用于:获取所述主机端请求创建第一命名空间的创建请求,将所述创建请求写入所述处理器的内存空间中;所述处理器还用于:根据所述创建请求中包含的创建参数,创建所述第一命名空间,为所述第一命名空间中的逻辑块分配对应的物理块,以及生成所述第一命名空间的空间映射表并写入所述高速缓存装置中,并根据所述通信引擎装置的通知设置所述第一命名空间中各物理块具有只读共享属性;所...

【专利技术属性】
技术研发人员:朴君
申请(专利权)人:阿里巴巴中国有限公司
类型:发明
国别省市:

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

1