Skip to main content
简体中文版经机器翻译而成,仅供参考。如与英语版出现任何冲突,应以英语版为准。

管理对象元数据存储

StorageGRID系统的对象元数据容量控制该系统上可存储的最大对象数量。为了确保您的StorageGRID系统有足够的空间来存储新对象,您必须了解StorageGRID存储对象元数据的位置和方式。

什么是对象元数据?

对象元数据是描述对象的任何信息。 StorageGRID使用对象元数据来跟踪网格中所有对象的位置并管理每个对象的生命周期。

对于StorageGRID中的对象,对象元数据包括以下类型的信息:

  • 系统元数据,包括每个对象的唯一 ID(UUID)、对象名称、S3 存储桶的名称、租户帐户名称或 ID、对象的逻辑大小、对象首次创建的日期和时间以及对象最后修改的日期和时间。

  • 与对象关联的任何自定义用户元数据键值对。

  • 对于 S3 对象,与该对象关联的任何对象标签键值对。

  • 对于复制的对象副本,每个副本的当前存储位置。

  • 对于擦除编码对象副本,每个片段的当前存储位置。

  • 对于云存储池中的对象副本,对象的位置,包括外部存储桶的名称和对象的唯一标识符。

  • 对于分段对象和多部分对象,分段标识符和数据大小。

对象元数据如何存储?

StorageGRID在 Cassandra 数据库中维护对象元数据,该数据库独立于对象数据进行存储。为了提供冗余并保护对象元数据免于丢失, StorageGRID在每个站点存储系统中所有对象的元数据的三个副本。

该图代表两个站点的存储节点。每个站点都有相同数量的对象元数据,并且每个站点的元数据在该站点的所有存储节点之间细分。

跨站点的元数据空间

对象元数据存储在哪里?

该图表示单个存储节点的存储量。

元数据空间存储节点

如图所示, StorageGRID在每个存储节点的存储卷 0 上为对象元数据保留空间。它使用保留空间来存储对象元数据并执行必要的数据库操作。存储卷 0 和存储节点中所有其他存储卷上的任何剩余空间专门用于对象数据(复制的副本和擦除编码片段)。

特定存储节点上为对象元数据保留的空间量取决于几个因素,如下所述。

元数据保留空间设置

_元数据保留空间_是系统范围的设置,表示每个存储节点的卷 0 上为元数据保留的空间量。如表所示,此设置的默认值基于:

  • 您最初安装StorageGRID时使用的软件版本。

  • 每个存储节点上的 RAM 数量。

用于初始StorageGRID安装的版本 存储节点上的 RAM 数量 默认元数据保留空间设置

11.5 至 11.9

网格中每个存储节点上 128 GB 或更多

8 TB(8,000 GB)

网格中任何存储节点上的容量小于 128 GB

3 TB(3,000 GB)

11.1 至 11.4

任何一个站点的每个存储节点上都有 128 GB 或更多

4 TB(4,000 GB)

每个站点的任何存储节点上少于 128 GB

3 TB(3,000 GB)

11.0 或更早版本

任意金额

2 TB(2,000 GB)

查看元数据保留空间设置

按照以下步骤查看StorageGRID系统的元数据保留空间设置。

步骤
  1. 选择*配置* > 系统 > 存储设置

  2. 在存储设置页面上,展开“元数据保留空间”部分。

对于StorageGRID 11.8 或更高版本,元数据保留空间值必须至少为 100 GB 且不超过 1 PB。

对于新的StorageGRID 11.6 或更高版本安装,其中每个存储节点具有 128 GB 或更多 RAM,其默认设置为 8,000 GB(8 TB)。

元数据实际保留空间

与系统范围的元数据保留空间设置相反,对象元数据的_实际保留空间_是针对每个存储节点确定的。对于任何给定的存储节点,元数据的实际保留空间取决于节点的卷 0 的大小和系统范围的元数据保留空间设置。

节点的卷 0 的大小 元数据实际保留空间

少于 500 GB(非生产用途)

10% 音量 0

500 GB 或更多 + 或 + 仅元数据存储节点

以下值中较小的一个:

  • 卷 0

  • 元数据保留空间设置

注意:仅元数据存储节点只需要一个 rangedb。

查看元数据实际预留空间

按照以下步骤查看特定存储节点上元数据的实际保留空间。

步骤
  1. 从网格管理器中,选择 NODES > Storage Node

  2. 选择“存储”选项卡。

  3. 将光标放在“已用存储 - 对象元数据”图表上并找到“实际保留”值。

    已用存储 - 对象元数据 - 实际预留

在屏幕截图中,“实际保留”值为 8 TB。此屏幕截图适用于新StorageGRID 11.6 安装中的大型存储节点。由于系统范围的元数据保留空间设置小于此存储节点的卷 0,因此此节点的实际保留空间等于元数据保留空间设置。

实际保留元数据空间的示例

假设您使用 11.7 或更高版本安装新的StorageGRID系统。对于此示例,假设每个存储节点都有超过 128 GB 的 RAM,并且存储节点 1 (SN1) 的卷 0 为 6 TB。基于这些价值观:

  • 系统范围的*元数据保留空间*设置为 8 TB。 (如果每个存储节点都有超过 128 GB 的 RAM,则这是新StorageGRID 11.6 或更高版本安装的默认值。)

  • SN1 实际预留的元数据空间为 6 TB。 (由于卷 0 小于 元数据保留空间 设置,因此整个卷都被保留。)

允许的元数据空间

每个存储节点为元数据实际保留的空间细分为可用于对象元数据的空间(允许的元数据空间)和基本数据库操作(例如压缩和修复)以及未来硬件和软件升级所需的空间。允许的元数据空间决定了整体对象容量。

元数据允许空间卷 0

下表显示了StorageGRID如何根据节点的内存量和元数据的实际保留空间来计算不同存储节点的*允许的元数据空间*。

存储节点上的内存量

小于 128 GB

≥ 128 GB

实际为元数据保留的空间

≤ 4 TB

元数据实际预留空间的 60%,最大可达 1.32 TB

元数据实际预留空间的 60%,最大可达 1.98 TB

大于 4 TB

查看允许的元数据空间

按照以下步骤查看存储节点允许的元数据空间。

步骤
  1. 从网格管理器中选择*NODES*。

  2. 选择存储节点。

  3. 选择“存储”选项卡。

  4. 将光标放在使用的存储 - 对象元数据图表上并找到*允许*值。

    已用存储 - 对象元数据 - 允许

在屏幕截图中,*允许*值为 3.96 TB,这是实际为元数据保留的空间超过 4 TB 的存储节点的最大值。

Allowed 值对应于此 Prometheus 指标:

storagegrid_storage_utilization_metadata_allowed_bytes

允许的元数据空间示例

假设您使用版本 11.6 安装StorageGRID系统。对于此示例,假设每个存储节点都有超过 128 GB 的 RAM,并且存储节点 1 (SN1) 的卷 0 为 6 TB。基于这些价值观:

  • 系统范围的*元数据保留空间*设置为 8 TB。 (当每个存储节点具有超过 128 GB 的 RAM 时,这是StorageGRID 11.6 或更高版本的默认值。)

  • SN1 实际预留的元数据空间为 6 TB。 (由于卷 0 小于 元数据保留空间 设置,因此整个卷都被保留。)

  • 根据允许元数据空间的表:(实际预留元数据空间-1TB)×60%,最大为3.96TB。

不同大小的存储节点如何影响对象容量

如上所述, StorageGRID在每个站点的存储节点上均匀分布对象元数据。因此,如果站点包含不同大小的存储节点,则站点上最小的节点决定了站点的元数据容量。

请考虑以下示例:

  • 您有一个包含三个不同大小的存储节点的单站点网格。

  • *元数据保留空间*设置为 4 TB。

  • 存储节点实际保留的元数据空间和允许的元数据空间有以下值。

    存储节点 卷 0 的大小 实际预留元数据空间 允许的元数据空间

    SN1

    2.2 TB

    2.2 TB

    1.32 TB

    SN2

    5 TB

    4 TB

    1.98 TB

    SN3

    6 TB

    4 TB

    1.98 TB

由于对象元数据均匀分布在站点的各个存储节点上,因此本例中的每个节点只能容纳 1.32 TB 的元数据。 SN2 和 SN3 允许的额外 0.66 TB 元数据空间无法使用。

元数据空间 三个存储节点

同样,由于StorageGRID在每个站点维护StorageGRID系统的所有对象元数据,因此StorageGRID系统的整体元数据容量由最小站点的对象元数据容量决定。

由于对象元数据容量控制最大对象数,因此当一个节点的元数据容量耗尽时,网格实际上已满。

相关信息
  • 要了解如何监控每个存储节点的对象元数据容量,请参阅"监控StorageGRID"

  • 为了增加系统的对象元数据容量,"展开网格"通过添加新的存储节点。