云规模处的ZFS块级去重制造技术

技术编号:38597025 阅读:8 留言:0更新日期:2023-08-26 23:32
本文描述的技术涉及云规模处的ZFS块级去重。更具体而言,涉及在对象接口上提供文件系统功能的分层。在某些实施例中,文件系统功能可以在云对象接口上分层以提供基于云的存储,同时允许从遗留应用预期的功能。例如,POSIX接口和语义可以在基于云的存储上分层,同时以与对名称层次结构中的数据组织的基于文件的访问一致的方式提供对数据的访问。各种实施例还可以提供数据的存储器映射,使得存储器映射改变被反映在持久存储装置中,同时确保存储器映射改变和写入之间的一致性。例如,通过将ZFS文件系统基于盘的存储变换成ZFS基于云的存储,ZFS文件系统获得了云存储的弹性。ZFS文件系统获得了云存储的弹性。ZFS文件系统获得了云存储的弹性。

【技术实现步骤摘要】
云规模处的ZFS块级去重
[0001]本申请是申请日为2018年7月12日、题为“云规模处的ZFS块级去重”的专利技术专利申请201780080037.1的分案申请。
[0002]对相关申请的交叉引用
[0003]本申请是于2017年1月6日提交的标题为“FILE SYSTEM HIERARCHIES AND FUNCTIONALITY WITH CLOUD OBJECT STORAGE”的美国临时申请No.62/443,391的非临时申请,并援引35U.S.C.119(e)要求其权益和优先权,其全部内容通过引用并入本文,用于所有目的。


[0004]本公开一般而言涉及数据存储的系统和方法,并且更具体地涉及在对象接口上将文件系统功能分层。

技术介绍

[0005]互联网的不断扩展,以及计算网络和系统的扩展和复杂化,已经导致通过互联网存储和可访问的内容的激增。这进而推动了对大型复杂数据存储系统的需求。随着对数据存储的需求不断增加,正在设计和部署更大和更复杂的存储系统。许多大规模数据存储系统利用包括物理存储介质阵列的存储器件。这些存储器件能够存储大量数据。例如,在这个时候,Oracle的SUN ZFS Storage ZS5

4装备可以存储高达6.9PB的数据。而且,多个存储装备可以联网在一起以形成存储池,这可以进一步增加存储的数据的体量。
[0006]通常,诸如这些之类的大型存储系统可以包括用于存储和访问文件的文件系统。除了存储系统文件(操作系统文件、设备驱动器文件等)之外,文件系统还提供用户数据文件的存储和访问。如果这些文件中的任何一个(系统文件和/或用户文件)包含关键数据,那么采用备份存储方案以确保在文件存储设备发生故障时不会丢失该关键数据是有利的。
[0007]常规的基于云的存储是基于对象的,并提供弹性和规模。然而,云对象存储存在许多问题。云对象存储提供基于取出(get)和放置(put)整个对象的接口。云对象存储提供有限的搜索能力,并且通常具有高延时。有限的基于云的接口不符合本地文件系统应用的需求。将遗留应用转换成使用对象接口将是昂贵的并且可能不实际或甚至不可能。云对象存储加密使制作加密密钥的数据更加脆弱且更不安全。
[0008]因此,需要解决上述问题的系统和方法,以便在对象接口上提供文件系统功能的分层。本公开解决了这一需求和其它需求。

技术实现思路

[0009]本公开的某些实施例一般而言涉及数据存储的系统和方法,并且更具体地涉及用于在对象接口上将文件系统功能分层的系统和方法。
[0010]本文描述了各种技术(例如,系统、方法、在非瞬态机器可读存储介质中有形地实施的计算机程序产品等),用于在对象接口上提供文件系统功能的分层。在某些实施例中,
文件系统功能可以在云对象接口上分层以提供基于云的存储,同时允许遗留应用预期的功能。例如,可移植操作系统接口(POSIX)接口和语义可以在基于云的存储上分层,同时以与对名称层次结构(name hierarchy)中的数据组织的基于文件的访问一致的方式提供对数据的访问。各种实施例还可以提供数据的存储器映射,使得存储器映射改变被反映在持久存储装置中,同时确保存储器映射改变和写入之间的一致性。例如,通过将ZFS文件系统基于盘的存储转换成ZFS基于云的存储,ZFS文件系统获得了云存储的弹性。
[0011]根据下文提供的详细描述,本公开的其它应用领域将变得清楚。应当理解的是,详细描述和具体示例在指示各种实施例的时候仅旨在说明的目的,而不旨在必然限制本公开的范围。
附图说明
[0012]通过结合以下附图参考说明书的其余部分,可以实现对根据本公开的实施例的本质和优点的进一步理解。
[0013]图1图示了可以根据本公开的某些实施例使用的一个示例存储网络。
[0014]图2图示了根据本公开某些实施例的可以在存储环境中执行的文件系统的实例。
[0015]图3A

图3F图示了根据本公开某些实施例的用于文件系统的写时复制(copy

on

write)处理。
[0016]图4是图示根据本公开某些实施例的混合云存储系统的示例的高级图。
[0017]图5图示了根据本公开某些实施例的混合云存储系统的示例网络文件系统的实例。
[0018]图6是图示根据本公开某些实施例的混合云存储系统的云接口装备的附加方面的图。
[0019]图7A

图7F是图示根据本公开某些实施例的示例方法的框图,该示例方法针对用于混合云存储系统的COW处理的某些特征,包括数据服务、快照和克隆。
[0020]图8是图示根据本公开某些实施例的处理增量修改的云接口装备的示例的高级别图。
[0021]图9是图示根据本公开某些实施例的示例方法的框图,该示例方法针对混合云存储系统的某些特征,这些特征确保云中的完整性以及根据最终一致的对象模型(eventually consistent object model)的始终一致的语义(always

consistent semantics)。
[0022]图10是图示根据本公开某些实施例的处理校验的云接口装备的示例的高级别图。
[0023]图11是根据本公开某些实施例的进一步图示混合云存储系统的特征的简化示例的图。
[0024]图12是根据本公开某些实施例的进一步图示混合云存储系统的特征的简化示例的图。
[0025]图13是图示根据本公开某些实施例的示例方法的框图,该示例方法针对混合云存储系统的用于高速缓存管理和云延时掩盖(cloud latency masking)的某些特征。
[0026]图14图示了根据本公开某些实施例的促进同步镜像的混合云存储系统的示例网络文件系统的实例。
[0027]图15是图示根据本公开某些实施例的示例方法的框图,该示例方法针对混合云存储系统的用于同步镜像和云延时掩盖的某些特征。
[0028]图16描绘了用于实现根据本公开某些实施例的分布式系统的简化图。
[0029]图17是根据本公开某些实施例的系统环境的一个或多个部件的简化框图,由系统的一个或多个部件提供的服务可以通过该系统环境作为云服务提供。
[0030]图18图示了示例性计算机系统,在该示例性计算机系统中可以实现本专利技术的各种实施例。
[0031]在附图中,类似的部件和/或特征可以具有相同的参考标签。另外,相同类型的各种部件可以通过在参考标签之后跟随短划线和区分相似部件的第二标签来区分。如果在说明书中仅使用第一参考标签,那么该描述适用于具有相同第一参考标签的任何一个类似部件,而与第二参考标签无关。
具体实施方式
[0032]随后的描述仅提供优选的(一个或多个)示例性实施例,并且不旨在限制本公开的范围、适用性或配置。而是,随后对优选的(一个或多个)示例性实施例的描述将为本领域技术人员提本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种方法,包括:在块存储系统的应用层处,通过所述块存储系统的系统调用接口接收第一请求,所述第一请求包括要对文件系统执行的操作的标识;由所述块存储系统基于所述操作的所述标识生成第一组数据块,所述第一组数据块中的每个数据块对应于文件的数据的第一部分;执行写时复制处理以促进对所述文件系统的所述操作,所述写时复制处理包括:识别与所述文件的所述数据的所述第一部分对应的逻辑树的一部分,所述逻辑树的所述一部分包括多个节点,其中所述多个节点包括一个或多个叶子节点,所述一个或多个叶子节点存储所述文件的所述数据的所述第一部分的散列;基于所述第一组数据块生成一个或多个新叶子节点,其中所述一个或多个新叶子节点存储所述第一组数据块的数据的散列;生成所述逻辑树的所述一部分的新根节点,所述新根节点包括:从所述新根节点指向所述一个或多个新叶子节点或指向包括对所述一个或多个新叶子节点的引用的节点的地址指针;指向所述逻辑树的剩余部分的地址指针;和部分地基于所述一个或多个新叶子节点的散列值;由数据管理单元确定所述第一组数据块中的第一数据块与存储在云对象存储库中的现有数据块匹配;由所述块存储系统定义第二组数据块以包括排除所述第一数据块的所述第一组数据块的子集,其中所述块存储系统在所述写时复制处理的执行期间生成所述第二组数据块;和将所述第二组数据块传输到混合云存储系统,所述混合云存储系统管理所述云对象存储库中的数据存储,其中所述混合云存储系统被配置为基于所述第二组数据块生成一组云存储块。2.根据权利要求1所述的方法,其中,所述逻辑树的非叶子节点包括校验和,所述校验和是基于所述非叶子节点的地址指针所引用的所述逻辑树的另一节点生成的。3.根据权利要求2所述的方法,其中,所述校验和由校验和函数生成,所述检验和函数是SHA256或fletcher4。4.根据权利要求1所述的方法,其中,所述一组云存储块中的每个云存储块在被存储在所述云对象存储库中之前先被压缩和/或加密。5.根据权利要求1所述的方法,其中,所述现有数据块对应于不同的文件。6.根据权利要求1所述的方法,其中,由所述逻辑树表示的数据被存储在第一存储池中,并且其中,所述现有数据块被存储在不同的存储池中。7.根据权利要求1所述的方法,其中,所述现有数据块对应于所述云对象存储库的不同用户。8.一种或多种存储用于对远离计算系统上的块存储系统的云对象存储库上的数据块进行去重的计算机可执行指令的非暂时性有形计算机可读存储介质,所述计算机可执行指令当由一个或多个处理器执行时,执行包括以下各项的操作:在所述块存储系统的应用层处通过所述块存储系统的系统调用接口接收第一请求,所
述第一请求包括要对文件系统执行的操作的标识;由所述块存储系统基于所述操作的所述标识生成第一组数据块,所述第一组数据块中的每个数据块对应于文件的数据的第一部分;执行写时复制处理以促进对所述文件系统的所述操作,所述写时复制处理包括:识别与所述文件的所述数据的所述第一部分对应的逻辑树的一部分,所述逻辑树的所述一部分包括多个节点,其中所述多个节点包括一个或多个叶子节点,所述一个或多个叶子节点存储所述文件的所述数据的所述第一部分的散列;基于所述第一组数据块生成一个或多个新叶子节点,其中所述一个或多个新叶子节点存储所述第一组数据块的数据的散列;生成所述逻辑树的所述一部分的新根节点,所述新根节点包括:从所述新根节点指向所述一个或多个新叶子节点或指向包括对所述一个或多个新叶子节点的引用的节点的地址指针;指向所述逻辑树的剩余部分的地址指针;和部分地基于所述一个或多个新叶子节点的散列值;由数据管理单元确定所述第一组数据块中的第一数据块与存储在云对象存储库中的现有数据块匹配;由所述块存储系统定义第二组数据块以包括排除所述第一数据块的所述第一组数据块的子集,其中所述块存储系统在所述写时复制处理的执行期间生成所述第二组数据块;和将所述第二组数据块传输到混合云存储系统,所述混合云存储系统管理所述云对象存储库中的数据存储,其中所述混合云存储系统被配置为基于所述第二组数据块...

【专利技术属性】
技术研发人员:M
申请(专利权)人:甲骨文国际公司
类型:发明
国别省市:

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

1