存储系统容量使用率估计技术方案

技术编号:32081906 阅读:22 留言:0更新日期:2022-01-29 17:59
本公开的实施例涉及存储系统容量使用率估计。公开了用于估计存储系统容量的技术和架构。去重的数据和对象条目的索引被维护在存储系统中。条目包含浅引用计数。浅引用计数值指示保持对对应对象的引用的父元数据对象的数目。对象条目的一个或多个树毫索引和一个或多个节点毫索引被维护在存储系统中。条目与存储在存储系统中的对象子集对应。条目还具有存储系统中的对应对象的截断的对象签名值和深引用计数值。存储系统的容量利用率基于利用深引用计数值来执行各种多集合操作的分析而被确定。定。定。

【技术实现步骤摘要】
hnode可以包含三个签名:1)包含属性的数据对象的签名;2)包含扩展属性的数据对象的签名;以及3)inode 根hnode的签名。以inode根hnode为根的树的叶节点提供与inode相关联的文件或目录的数据。
[0015]如上文所讨论的,数据可以被存储在各种类型的计算系统(诸如服务器、计算机设备、工作站、存储系统或存储阵列、融合或超融合系统等)上。通过网络连接的计算系统可以被称为节点。为了存储数据,一些计算系统可以利用数据虚拟化平台,该数据虚拟化平台对在其上物理地存储数据的物理存储硬件的方面(例如,诸如寻址、配置等的方面) 进行抽象化并且将虚拟化或逻辑存储装置呈现给用户环境(例如,呈现给操作系统、应用、进程等)。虚拟化存储装置可以从多个存储硬件(例如硬盘驱动装置、固态驱动装置等)被合并到数据存储库中,虚拟化或逻辑存储装置可以从该数据存储库中被提供。数据虚拟化平台还可以提供数据服务,诸如去重、压缩、复制等。
[0016]除其他事物之外,示例性的基于对象的数据虚拟化平台的组件可以包括平面对象存储库和一个或多个文件系统实例。数据可以作为对象而被存储在对象存储库中。例如,用户可访问的文件和目录可以由多个数据对象组成。如将在下文描述的,对象存储库还可以存储与数据虚拟化平台的操作相关的元数据对象。在示例中,对象可以在对象存储库中具有预定的固定大小(例如,针对数据对象为4kb或8kb或针对元数据对象为1kb或2kb)。每个对象可以通过其签名(还被称为对象指纹)进行标识。对象索引可以使对象存储库中的对象的签名与对象的内容的物理地址(即,存储硬件(诸如磁盘)上的物理地址)相互关联。
[0017]文件系统实例可以指元数据对象和数据对象的组织,该元数据对象和数据对象将数据对象与根对象分层级地相关。因此,文件系统实例可以通过其根对象进行标识。例如,文件系统实例可以是Merkle树或任何其他层级布置(例如,有向无环图等)。在层级Merkle树的情况下,数据对象可以位于任何分支的最低树级别(即,离根对象最远)处,并且还可以被称为叶数据对象。父对象包括子对象的签名作为其内容。例如,叶数据对象的父对象是元数据对象,该元数据对象存储其子叶数据对象的签名作为其内容。树的根对象和其他内部对象也可以是元数据对象,该元数据对象存储相应子对象的签名作为内容。元数据对象可以能够存储至少等于层级树的分支因数的数目的签名,以使得其可以保持其所有子对象的签名。
[0018]数据去重的结果可能包括与容量利用率相关的信息的减少。另一结果可能是在估计可以通过从存储系统中删除(或移动)一个或多个数据集而被释放的资源方面的困难和在估计通过将一个或多个数据集移动至第二存储系统而将被消耗的资源方面的困难。
[0019]本文中描述的是用于基于采样、签名以及深引用计数的存储系统容量估计的技术。更具体地,实施例涉及使用浅引用计数来估计存储系统的容量消耗以支持包括例如采样、深引用计数以及多集合操作的数据管理和去重的技术。在各种实施例中,Merkle树可以与浅引用计数一起利用,该浅引用计数仅在发生共享的级别下递增/递减。
[0020]在示例实施方式中,一个或多个访客虚拟机的数据可以由一个或多个文件系统实例(例如,使用来自多个文件系统实例的存储装置的一个访客VM、使用来自单个文件系统实例的存储装置的许多访客VM、或这两者之间的任何变型)存储。在示例中,每个访客虚拟机可以在一对一的基础上与相应文件系统实例相关联。数据虚拟化平台可以导出文件协议安装点(例如,NFS或SMB安装点),访客虚拟机可以通过该文件协议安装点经由文件协议的命
名空间访问由文件系统实例提供的存储装置。
[0021]在一些实施方式中,该访客访问是经由由管理程序(hypervisor)提供的vSCSI层进行的,该vSCSI层将SCSI操作映射到文件操作。在其他实施方式中,文件系统实例可以与其他存储单元(诸如块体、网络附接的存储共享、贮存器体等)相关联,并且可以针对该其他存储单元进行访问。在一些实施方式中,对象存储库中的对象可以在单个文件系统实例中引用超过一次,或可以在文件系统实例中被多次引用。因此,多重引用的对象可以被存储一次,但可以被多次引用以提供去重。
[0022]图1是节点的一个实施例的示意性框图。节点100可以是例如具有以软件为中心的架构的超融合基础设施节点,该以软件为中心的架构紧密地集成了计算、存储、联网和虚拟化资源以及其他技术。节点100可以托管任何数目的访客虚拟机(VM)102、104以及106,并且可以被配置为产生虚拟机的本地和远程备份和快照。在一些示例中,可以在如下文所描述的网络中布置多个这种节点。
[0023]在一些示例中,节点100可以包括虚拟设备108和管理程序110。虚拟设备108可以包括与控制面114和数据路径116进行通信的虚拟文件系统112。控制面114可以处理节点100内的应用与资源之间的数据流。数据路径116可以在虚拟文件系统112与操作系统(OS)118之间提供合适的I/O接口,并且还可以使能诸如数据压缩、去重以及优化的特征。
[0024]节点100还可以包括由管理程序110管理的硬件组件。例如,节点100可以包括存储装置120,该存储装置可以是RAID存储控制器或主机总线适配器,该主机总线适配器具有与若干硬盘驱动器(HDD)122和/ 或固态驱动器(SSD)124的连接。节点100还可以包括存储器126(例如RAM、ROM、闪存等)和一个或多个处理器128。节点100还可以包括无线和/或有线网络接口组件130,以使得能够与其他节点进行通信。在一些实施例中,节点还可以包括加速器卡,该加速器卡可以提供计算卸载和/或非易失性RAM(图1中未图示)。
[0025]图2图示了数据路径的示例实施例。在各种实施例中,数据路径116 可以与复制管理器200进行通信,复制管理器200被配置为至少执行远程备份操作。数据路径116还可以包括与控制面114进行通信的文件系统202。在一个实施例中,文件系统202负责诸如通过实例化文件系统组件、维护目录和那些目录内的文件等来管理数据路径116内的文件系统组件。
[0026]文件系统202还可以确定节点的I/O处理能力,并且通过例如将数据写入从主节点(例如节点100)镜像到辅助节点来实施高可用性。文件系统202还为数据路径116内的各种组件提供同步数据转移接口和异步数据转移接口两者。对象存储库204和存储管理器206负责数据路径 116与I/O子系统208之间的数据对象I/O操作。
[0027]图3图示了对象存储库的一个实施例。在一个实施例中,对象存储库310包含二进制不透明对象,该二进制不透明对象的示例分别是P 312、Q 314以及R 316。对象可以具有不同大小,尽管在一种实施方式中,这些对象是2的幂。对象驻留在贮存器中的某一偏移处,该偏移可以是字节偏移或以最小对象大小为模的偏移(即,如果最小对象是512 字节,那么偏移将乘以512以获得字节偏移)。
[0028]如上文所讨论的,每个对象具有在本文中被称为签名本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种系统,包括:存储系统,用于存储针对一个或多个硬件处理器的数据,所述存储系统用于对存储在其中的数据进行去重,并且用于维护对象的索引,每个对象至少具有对应的浅引用计数,所述浅引用计数指示保持对所述对象的引用的父对象的数目;以及所述一个或多个硬件处理器,与所述存储系统耦合,所述一个或多个硬件处理器用于:维护至少一个树毫索引和至少一个节点毫索引,所述至少一个树毫索引和所述至少一个节点毫索引中的每个毫索引均具有与在所述存储系统中的对象的所述索引中存储的对象子集对应的条目,所述条目中的每个条目均具有所述存储系统中的所述索引中的所述对象子集中的对应对象的采样对象签名值和深引用计数值,所述深引用值指示与对象的所述索引对应的对象树内的相关联对象的逻辑出现次数,以及基于利用来自所述至少一个树毫索引或所述至少一个节点毫索引的所述深引用值的分析,确定所述存储系统的容量利用率。2.根据权利要求1所述的系统,其中快照操作通过将所述节点毫索引记录引用计数递增在针对快照树的树毫索引内表示的量,来更新针对在所述快照树内所包含的每个采样对象的所述节点毫索引。3.根据权利要求1所述的系统,其中删除现有快照使与所删除的现有快照对应的树毫索引从所述节点毫索引中被减去。4.根据权利要求1所述的系统,其中所述分析包括:估计由于将所述对象树从第一存储节点移动至第二存储节点而要在所述第一存储节点上重新获得、并且在所述第二存储节点上消耗的存储容量。5.根据权利要求1所述的系统,其中所述节点毫索引还存储截断的对象签名值,所述截断的对象签名值包括来自所述存储系统中的对象的所述索引中的完整对象签名值的位的子集。6.根据权利要求1所述的系统,其中所述截断的对象签名值被限制于对象的所述索引中的可能对象签名值的子集,并且还基于采样技术而受到限制。7.根据权利要求1所述的系统,其中所述一个或多个硬件处理器还维护针对采样对象签名值的对象签名值的单独数据结构,其中在所述单独数据结构内维护的引用计数是针对与所述采样对象签名值对应的对象的深引用计数。8.一种非暂态计算机可读介质,具有在其上存储的指令,所述指令在被一个或多个处理器执行时使所述一个或多个处理器进行以下操作:维护存储系统中的对象的索引,以存储针对所述一个或多个硬件处理器的数据,所述存储系统用于对存储在其中的数据进行去重,对象的所述索引中的每个对象至少具有对应的浅引用计数,所述浅引用计数指示保持对所述对象的引用的父对象的数目;维护至少一个树毫索引和至少一个节点毫索引,所述至少一个树毫索引和所述至少一个节点毫索引中的每个毫索引均具有与在所述存储系统中的对象的所述索引中存储的对象子集对应的条目,所述条目中的每个条目均具有所述存储系统中的所述索引中的所述对象子集中的对应对象的采样对象签名值和深引用计数值,所述深引用值指示与对象的所述索引对应的对象树内的相关联对象的逻辑出现次数;以及基于利用来自所述至少一个树毫索引或所述至少一个节点毫索引的所述深引用值的
分析,确定所述存储系统的容量利用率。9....

【专利技术属性】
技术研发人员:G
申请(专利权)人:慧与发展有限责任合伙企业
类型:发明
国别省市:

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

1