什么是对象
对于对象存储,存储单元是对象,而不是文件或块。与文件系统或块存储的树状层次结构不同,对象存储以非结构化的平面布局对数据进行组织。
对象存储可将数据的物理位置与用于存储和检索数据的方法分离。
基于对象的存储系统中的每个对象都有两部分:对象数据和对象元数据。
什么是对象数据?
对象数据可以是任何内容;例如,照片,电影或病历。
什么是对象元数据?
对象元数据是指描述对象的任何信息。StorageGRID 使用对象元数据跟踪网格中所有对象的位置,并管理每个对象的生命周期。
对象元数据包括以下信息:
-
系统元数据,包括每个对象的唯一 ID ( UUID ),对象名称, S3 存储分段或 Swift 容器的名称,租户帐户名称或 ID ,对象的逻辑大小,首次创建对象的日期和时间, 以及上次修改对象的日期和时间。
-
每个对象副本或纠删编码片段的当前存储位置。
-
与对象关联的任何用户元数据。
对象元数据可自定义并可扩展,因此应用程序可以灵活地使用。
有关StorageGRID存储对象元数据的方式和位置的详细信息,请访问"管理对象元数据存储"。
如何保护对象数据?
StorageGRID 系统提供了两种机制来防止对象数据丢失:复制和纠删编码。
复制
如果StorageGRID将对象与配置为创建复制副本的信息生命周期管理(ILM)规则进行匹配、则系统会为对象数据创建准确的副本、并将其存储在存储节点或云存储池中。ILM 规则规定了创建的副本数量,这些副本的存储位置以及系统保留这些副本的时间长度。例如,如果由于存储节点丢失而导致副本丢失,则如果 StorageGRID 系统中的其他位置存在该对象的副本,则该对象仍可用。
在以下示例中, make 2 copies 规则指定将每个对象的两个复制副本放置在包含三个存储节点的存储池中。
纠删编码
如果 StorageGRID 将对象与配置为创建纠删编码副本的 ILM 规则匹配,则会将对象数据分段为数据片段,计算额外的奇偶校验片段,并将每个片段存储在不同的存储节点上。访问某个对象时,系统会使用存储的片段重新组合该对象。如果数据或奇偶校验片段损坏或丢失,纠删编码算法可以使用剩余数据和奇偶校验片段的子集重新创建该片段。ILM规则和纠删编码配置文件决定了所使用的纠删编码方案。
以下示例说明了如何对对象数据使用纠删编码。在此示例中, ILM 规则使用 4+2 纠删编码方案。每个对象都会被划分为四个相等的数据片段,并根据对象数据计算两个奇偶校验片段。六个片段中的每个片段都存储在三个数据中心的不同存储节点上,以便为节点故障或站点丢失提供数据保护。