利用云对象存储的一致文件系统语义技术方案

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

Uniform File System Semantics Using Cloud Object Storage

【技术实现步骤摘要】
【国外来华专利技术】利用云对象存储的一致文件系统语义对相关申请的交叉引用本PCT申请要求于2017年1月6日提交的标题为“FILESYSTEMHIERARCHIESANDFUNCTIONALITYWITHCLOUDOBJECTSTORAGE”的美国临时申请No.62/443,391的权益和优先权,并要求于2017年5月31日提交的标题为“CONSISTENTFILESYSTEMSEMANTICSWITHCLOUDOBJECTSTORAGE”的美国申请No.15/610,361的权益和优先权。上述申请的全部内容通过引用并入本文,用于所有目的。
本公开一般而言涉及数据存储的系统和方法,并且更具体地涉及在对象接口上将文件系统功能分层。
技术介绍
互联网的不断扩展,以及计算网络和系统的扩展和复杂化,已经导致通过互联网存储和可访问的内容的激增。这进而推动了对大型复杂数据存储系统的需求。随着对数据存储的需求不断增加,正在设计和部署更大和更复杂的存储系统。许多大规模数据存储系统利用包括物理存储介质阵列的存储器件。这些存储器件能够存储大量数据。例如,在这个时候,Oracle的SUNZFSStorageZS5-4装备可以存储高达6.9PB的数据。而且,多个存储装备可以联网在一起以形成存储池,这可以进一步增加存储的数据的体量。通常,诸如这些之类的大型存储系统可以包括用于存储和访问文件的文件系统。除了存储系统文件(操作系统文件、设备驱动器文件等)之外,文件系统还提供用户数据文件的存储和访问。如果这些文件中的任何一个(系统文件和/或用户文件)包含关键数据,那么采用备份存储方案以确保在文件存储设备发生故障时不会丢失该关键数据是有利的。常规的基于云的存储是基于对象的,并提供弹性和规模。然而,云对象存储存在许多问题。云对象存储提供基于取出(get)和放置(put)整个对象的接口。云对象存储提供有限的搜索能力,并且通常具有高延时。有限的基于云的接口不符合本地文件系统应用的需求。将遗留应用转换成使用对象接口将是昂贵的并且可能不实际或甚至不可能。云对象存储加密使制作加密密钥的数据更加脆弱且更不安全。因此,需要解决上述问题的系统和方法,以便在对象接口上提供文件系统功能的分层。本公开解决了这一需求和其它需求。
技术实现思路
本公开的某些实施例一般而言涉及数据存储的系统和方法,并且更具体地涉及用于在对象接口上将文件系统功能分层的系统和方法。本文描述了各种技术(例如,系统、方法、在非瞬态机器可读存储介质中有形地实施的计算机程序产品等),用于在对象接口上提供文件系统功能的分层。在某些实施例中,文件系统功能可以在云对象接口上分层以提供基于云的存储,同时允许遗留应用预期的功能。例如,可移植操作系统接口(POSIX)接口和语义可以在基于云的存储上分层,同时以与对名称层次结构(namehierarchy)中的数据组织的基于文件的访问一致的方式提供对数据的访问。各种实施例还可以提供数据的存储器映射,使得存储器映射改变被反映在持久存储装置中,同时确保存储器映射改变和写入之间的一致性。例如,通过将ZFS文件系统基于盘的存储转换成ZFS基于云的存储,ZFS文件系统获得了云存储的弹性。根据下文提供的详细描述,本公开的其它应用领域将变得清楚。应当理解的是,详细描述和具体示例在指示各种实施例的时候仅旨在说明的目的,而不旨在必然限制本公开的范围。附图说明通过结合以下附图参考说明书的其余部分,可以实现对根据本公开的实施例的本质和优点的进一步理解。图1图示了可以根据本公开的某些实施例使用的一个示例存储网络。图2图示了根据本公开某些实施例的可以在存储环境中执行的文件系统的实例。图3A-图3F图示了根据本公开某些实施例的用于文件系统的写时复制(copy-on-write)处理。图4是图示根据本公开某些实施例的混合云存储系统的示例的高级图。图5图示了根据本公开某些实施例的混合云存储系统的示例网络文件系统的实例。图6是图示根据本公开某些实施例的混合云存储系统的云接口装备的附加方面的图。图7A-图7F是图示根据本公开某些实施例的示例方法的框图,该示例方法针对用于混合云存储系统的COW处理的某些特征,包括数据服务、快照和克隆。图8是图示根据本公开某些实施例的处理增量修改的云接口装备的示例的高级别图。图9是图示根据本公开某些实施例的示例方法的框图,该示例方法针对混合云存储系统的某些特征,这些特征确保云中的完整性以及根据最终一致的对象模型(eventuallyconsistentobjectmodel)的始终一致的语义(always-consistentsemantics)。图10是图示根据本公开某些实施例的处理校验的云接口装备的示例的高级别图。图11是根据本公开某些实施例的进一步图示混合云存储系统的特征的简化示例的图。图12是根据本公开某些实施例的进一步图示混合云存储系统的特征的简化示例的图。图13是图示根据本公开某些实施例的示例方法的框图,该示例方法针对混合云存储系统的用于高速缓存管理和云延时掩盖(cloudlatencymasking)的某些特征。图14图示了根据本公开某些实施例的促进同步镜像的混合云存储系统的示例网络文件系统的实例。图15是图示根据本公开某些实施例的示例方法的框图,该示例方法针对混合云存储系统的用于同步镜像和云延时掩盖的某些特征。图16描绘了用于实现根据本公开某些实施例的分布式系统的简化图。图17是根据本公开某些实施例的系统环境的一个或多个部件的简化框图,由系统的一个或多个部件提供的服务可以通过该系统环境作为云服务提供。图18图示了示例性计算机系统,在该示例性计算机系统中可以实现本专利技术的各种实施例。在附图中,类似的部件和/或特征可以具有相同的参考标签。另外,相同类型的各种部件可以通过在参考标签之后跟随短划线和区分相似部件的第二标签来区分。如果在说明书中仅使用第一参考标签,那么该描述适用于具有相同第一参考标签的任何一个类似部件,而与第二参考标签无关。具体实施方式随后的描述仅提供优选的(一个或多个)示例性实施例,并且不旨在限制本公开的范围、适用性或配置。而是,随后对优选的(一个或多个)示例性实施例的描述将为本领域技术人员提供用于实现本公开的优选示例性实施例的实现性描述。应该理解的是,在不脱离如所附权利要求中阐述的本公开的精神和范围的情况下,可以对元素的功能和布置进行各种改变。如上所述,基于云的存储提供弹性和规模,但存在许多问题。云对象存储提供基于取出和放置整个对象的接口。云对象存储提供有限的搜索能力,并且通常具有高延时。有限的基于云的接口不符合本地文件系统应用的需求。将遗留应用转换成使用对象接口将是昂贵的并且可能不实际或甚至不可能。因此,需要解决方案,使得为了直接访问云对象存储装置不必对文件系统应用进行改变,因为它肯定复杂且昂贵。解决方案应当允许保留本地应用接口,而不引入各种类型的适配层以将本地存储系统的数据映射到云中的对象存储装置。因而,根据本公开某些实施例可以在云对象接口上对文件系统功能进行分层以提供基于云的存储,同时允许遗留应用预期的功能。例如,非基于云的遗留应用可以访问主要作为文件的数据,并且可以针对POSIX接口和语义进行配置。从遗留应用的角度来看,预期能够在不重写文件本文档来自技高网
...

【技术保护点】
1.一种方法,包括:通过ZFS系统的接口层的系统调用接口从ZFS系统的应用层接收用于针对文件执行事务的第一请求,其中所述文件与根据树层次结构分开存储为逻辑块的数据块和对应的元数据对应;将所述第一请求传送到所述ZFS系统的池化存储层中的存储池分配器;由所述ZFS系统的云接口装备至少部分地基于所述第一请求生成对象接口请求;由所述云接口装备经由一个或多个网络上的对象协议将所述对象接口请求发送到云对象存储库,其中所述对象接口请求与针对存储在所述云对象存储库中的至少一个云存储对象的读取操作对应,其中所述至少一个云存储对象与根据所述树层次结构的第一节点对应;由所述云接口装备从所述云对象存储库接收所述至少一个云存储对象的版本;由所述存储池分配器或所述云接口装备处理所述至少一个云存储对象的所述版本,以生成经生成的校验和;由所述存储池分配器或所述云接口装备检索与所述至少一个云存储对象分开存储并且与第二节点对应的元数据,其中所述第二节点根据所述树层次结构是针对所述第一节点的父节点;由所述存储池分配器或所述云接口装备从所述元数据中识别用于所述至少一个云存储对象的参考校验和,所述参考校验和与所述云存储对象的最后修改版本相关联;确定所述经生成的校验和是否与所述参考校验和匹配;以及当确定所述经生成的校验和与所述参考校验和匹配时,至少部分地基于所述至少一个云存储对象的所述版本生成对所述第一请求的响应。...

【技术特征摘要】
【国外来华专利技术】2017.01.06 US 62/443,391;2017.05.31 US 15/610,3611.一种方法,包括:通过ZFS系统的接口层的系统调用接口从ZFS系统的应用层接收用于针对文件执行事务的第一请求,其中所述文件与根据树层次结构分开存储为逻辑块的数据块和对应的元数据对应;将所述第一请求传送到所述ZFS系统的池化存储层中的存储池分配器;由所述ZFS系统的云接口装备至少部分地基于所述第一请求生成对象接口请求;由所述云接口装备经由一个或多个网络上的对象协议将所述对象接口请求发送到云对象存储库,其中所述对象接口请求与针对存储在所述云对象存储库中的至少一个云存储对象的读取操作对应,其中所述至少一个云存储对象与根据所述树层次结构的第一节点对应;由所述云接口装备从所述云对象存储库接收所述至少一个云存储对象的版本;由所述存储池分配器或所述云接口装备处理所述至少一个云存储对象的所述版本,以生成经生成的校验和;由所述存储池分配器或所述云接口装备检索与所述至少一个云存储对象分开存储并且与第二节点对应的元数据,其中所述第二节点根据所述树层次结构是针对所述第一节点的父节点;由所述存储池分配器或所述云接口装备从所述元数据中识别用于所述至少一个云存储对象的参考校验和,所述参考校验和与所述云存储对象的最后修改版本相关联;确定所述经生成的校验和是否与所述参考校验和匹配;以及当确定所述经生成的校验和与所述参考校验和匹配时,至少部分地基于所述至少一个云存储对象的所述版本生成对所述第一请求的响应。2.如权利要求1所述的方法,还包括:当确定所述经生成的校验和与所述参考校验和不匹配时,发起一个或多个补救处理。3.如权利要求2所述的方法,其中所述一个或多个补救处理包括由所述云接口装备向所述云对象存储库发送后续对象接口请求,其中所述后续对象接口请求与针对存储在所述云对象存储库中的所述至少一个云存储对象的经尝试的读取操作对应;并且所述方法还包括:响应于第二对象接口请求,由所述云接口装备从所述云对象存储库接收所述至少一个云存储对象的第二版本;由所述存储池分配器或所述云接口装备处理所述至少一个云存储对象的第二版本,以生成第二经生成的校验和;确定所述第二经生成的校验和是否与所述参考校验和匹配;以及当确定所述第二经生成的校验和与所述参考校验和匹配时,至少部分地基于所述至少一个云存储对象的所述第二版本生成对所述第一请求的响应。4.如权利要求3所述的方法,其中所述一个或多个补救处理包括第二补救处理,并且所述方法还包括:当确定所述第二经生成的校验和与所述参考校验和不匹配时,执行所述第二补救处理。5.如权利要求4所述的方法,其中所述第二补救处理包括:识别存储在第二云对象数据存储库中的所述至少一个云存储对象的副本的记录;在识别所述记录之后,由所述云接口装备向所述第二云对象存储库发送第三对象接口请求,其中所述后续对象接口请求与针对存储在所述第二云对象存储库中的所述至少一个云存储对象的所述副本的经尝试的读取操作对应。6.如权利要求5所述的方法,还包括:响应于所述第三对象接口请求,由所述云接口装备从所述第二云对象存储库接收所述至少一个云存储对象的第三版本;由所述存储池分配器或所述云接口装备处理所述至少一个云存储对象的所述第三版本,以生成第三经生成的校验和;确定所述第三经生成的校验和是否与所述参考校验和匹配;以及当确定所述第三经生成的校验和与所述参考校验和匹配时,至少部分地基于所述至少一个云存储对象的所述第三版本生成对所述第一请求的响应。7.如权利要求6所述的方法,还包括:当确定所述第三经生成的校验和与所述参考校验和匹配时,由所述云接口装备经由一个或多个网络上的对象协议向所述云对象存储库发送第四对象接口请求,其中所述第四对象接口请求与用于至少部分地基于所述至少一个云存储对象的所述第三版本替换所述至少一个云存储对象的所述版本的写入操作对应。8.一种系统,包括:一个或多个处理器,通信地耦合到存储器,所述一个或多个处理器促进:通过ZFS系统的接口层的系统调用接口从ZFS系统的应用层接收用于针对文件执行事务的第一请求,其中所述文件与根据树层次结构分开存储为逻辑块的数据块和对应的元数据对应;将所述第一请求传送到所述ZFS系统的池化存储层中的存储池分配器;至少部分地基于所述第一请求生成对象接口请求;经由一个或多个网络上的对象协议将所述对象接口请求发送到云对象存储库,其中所述对象接口请求与针对存储在所述云对象存储库中的至少一个云存储对象的读取操作对应,其中所述至少一个云存储对象与根据所述树层次结构的第一节点对应;从所述云对象存储库接收所述至少一个云存储对象的版本;处理所述至少一个云存储对象的所述版本,以生成经生成的校验和;检索与所述至少一个云存储对象分开存储并且与第二节点对应的元数据,其中所述第二节点根据所述树层次结构是针对所述第一节点的父节点;从所述元数据中识别用于所述至少一个云存储对象的参考校验和,所述参考校验和与所述云存储对象的最后修改版本相关联;确定所述经生成的校验和是否与所述参考校验和匹配;以及当确定所述经生成的校验和与所述参考校验和匹配时,至少部分地基于所述至少一个云存储对象...

【专利技术属性】
技术研发人员:M·梅比J·克雷默V·拉图什金
申请(专利权)人:甲骨文国际公司
类型:发明
国别省市:美国,US

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

1