StorageGRID でのオブジェクト メタデータ ストレージの管理
StorageGRID システムのオブジェクトメタデータ容量は、そのシステムに保存できるオブジェクトの最大数を制御します。StorageGRID システムに新しいオブジェクトを保存するための十分なスペースを確保するには、StorageGRID がオブジェクトメタデータをどこにどのように保存するかを理解する必要があります。
オブジェクトメタデータとは何ですか?
オブジェクトのメタデータとは、オブジェクトを説明するあらゆる情報のことです。StorageGRID は、オブジェクトのメタデータを使用して、グリッド全体にわたるすべてのオブジェクトの位置を追跡し、各オブジェクトのライフサイクルを長期にわたって管理します。
StorageGRID のオブジェクトのメタデータには、次の種類の情報が含まれます:
-
システムメタデータには、各オブジェクトの一意のID(UUID)、オブジェクト名、S3バケット名、テナントアカウント名またはID、オブジェクトの論理サイズ、オブジェクトが最初に作成された日時、およびオブジェクトが最後に変更された日時が含まれます。
-
オブジェクトに関連付けられた、ユーザー独自のメタデータのキーと値のペア。
-
S3オブジェクトの場合、オブジェクトに関連付けられているオブジェクトタグのキーと値のペア。
-
複製されたオブジェクトのコピーの場合、各コピーの現在の保存場所。
-
消去符号化されたオブジェクトコピーの場合、各フラグメントの現在の格納場所。
-
クラウドストレージプール内のオブジェクトコピーの場合、外部バケット名とオブジェクトの一意の識別子を含む、オブジェクトの場所。
-
セグメント化されたオブジェクトおよびマルチパートオブジェクトの場合、セグメント識別子とデータサイズ。
オブジェクトのメタデータはどのように保存されますか?
StorageGRID は、オブジェクトのメタデータを Cassandra データベースに保持します。このメタデータは、オブジェクトデータとは独立して保存されます。冗長性を確保し、オブジェクトのメタデータを損失から保護するために、StorageGRID はシステム内のすべてのオブジェクトのメタデータのコピーを各サイトに 3 つ保存します。
この図は、2つのサイトにあるストレージノードを表しています。各サイトは同じ量のオブジェクトメタデータを保持しており、各サイトのメタデータはそのサイト内のすべてのストレージノードに分割されています。

オブジェクトのメタデータはどこに保存されますか?
この図は、単一のストレージノードのストレージボリュームを表しています。

図に示すように、StorageGRID は各ストレージノードのストレージボリューム 0 にオブジェクトメタデータ用のリザーブ スペースを確保します。このリザーブ スペースは、オブジェクトメタデータの保存および重要なデータベース操作の実行に使用されます。ストレージボリューム 0 の残りの空き容量およびストレージノード内の他のすべてのストレージボリュームは、オブジェクトデータ(レプリケートされたコピーおよびイレイジャーコーディングされたフラグメント)専用に使用されます。
特定のストレージノード上でオブジェクトメタデータ用に確保される容量は、いくつかの要因によって決まります。それらの要因については、以下で説明します。
メタデータリザーブ スペース設定
Metadata reserved space は、システム全体の設定であり、各ストレージノードのボリューム 0 にメタデータ用に予約される領域の量を表します。表に示すように、この設定のデフォルト値は以下に基づいています:
-
最初に StorageGRID をインストールしたときに使用していたソフトウェアのバージョン。
-
各ストレージノードに搭載されているRAMの容量。
| 初期 StorageGRID インストールに使用されたバージョン | ストレージノードのRAM容量 | デフォルトのメタデータリザーブ スペース設定 |
|---|---|---|
11.5~12.0 |
グリッド内の各ストレージノードに128 GB以上 |
8 TB(8,000 GB) |
グリッド内のどのストレージノードでも128GB未満 |
3 TB (3,000 GB) |
|
11.1~11.4 |
いずれのサイトにおいても、各ストレージノードに128GB以上の容量が必要 |
4 TB(4,000 GB) |
各サイトのいずれかのストレージノードで128 GB未満 |
3 TB (3,000 GB) |
|
11.0以前 |
任意の金額 |
2 TB (2,000 GB) |
メタデータのリザーブ スペース設定の表示
StorageGRID システムのメタデータ リザーブ スペース設定を表示するには、以下の手順に従ってください。
-
Configuration > System > Storage settings を選択します。
-
ストレージ設定ページで、メタデータ リザーブ スペース セクションを展開します。
StorageGRID 11.8以降では、メタデータのリザーブ スペース値は100 GB以上1 PB以下である必要があります。
各ストレージノードに 128 GB 以上の RAM が搭載されている新しい StorageGRID 11.6 以降のインストール環境のデフォルト設定は、8,000 GB (8 TB)です。
メタデータの実際のリザーブ スペース
システム全体のメタデータ リザーブ スペース設定とは対照的に、オブジェクトメタデータの_実際のリザーブ スペース_はストレージノードごとに決定されます。任意のストレージノードの場合、メタデータの実際のリザーブ スペースは、ノードのボリューム 0 のサイズとシステム全体のメタデータ リザーブ スペース設定によって異なります。
| ノードのボリューム0のサイズ | メタデータの実際のリザーブ スペース |
|---|---|
500 GB未満(非本番環境使用) |
ボリューム0の10% |
500 GB以上 + または + メタデータ専用ストレージノード |
これらの値のうち小さい方:
注:メタデータ専用のストレージノードには、rangedb が 1 つだけ必要です。 |
メタデータの実際のリザーブ スペースを表示する
特定のストレージノードのメタデータに対する実際のリザーブ スペースを表示するには、次の手順に従います。
-
グリッドマネージャから、「ノード」>「ストレージノード」を選択します。
-
「ストレージ」タブを選択します。
-
カーソルを「ストレージ使用量 - オブジェクトメタデータ」チャートの上に移動し、*実際の予約済み*の値を確認します。

スクリーンショットでは、*実際の予約済み*の値は 8 TB です。このスクリーンショットは、新しい StorageGRID 11.6 インストールにおける大規模ストレージノードのものです。システム全体のメタデータリザーブ スペース設定がこのストレージノードのボリューム 0 より小さいため、このノードの実際のリザーブ スペースはメタデータリザーブ スペース設定と等しくなります。
実際のリザーブ スペース(メタデータ)の例
バージョン11.7以降を使用して新しいStorageGRIDシステムをインストールするとします。この例では、各ストレージノードに128 GBを超えるRAMが搭載されており、ストレージノード1(SN1)のボリューム0が6 TBであると仮定します。これらの値に基づくと:
-
システム全体の メタデータ リザーブ スペース は 8 TB に設定されています。(これは、各ストレージノードの RAM が 128 GB を超える場合に、新規 StorageGRID 11.6 以降のインストールに適用されるデフォルト値です。)
-
SN1 のメタデータの実際のリザーブ スペースは 6 TB です。(ボリューム 0 が「メタデータのリザーブ スペース」設定よりも小さいため、ボリューム全体がリザーブされています。)
許可されたメタデータ領域
各ストレージノードのメタデータ用の実際のリザーブ スペースは、オブジェクトメタデータに使用可能な領域(許可されたメタデータ領域)と、データベースの基本的な操作(圧縮や修復など)および将来のハードウェアとソフトウェアのアップグレードに必要な領域に細分化されます。許可されるメタデータ領域によって、オブジェクト全体の容量が決まります。

次の表は、ノードのメモリ量とメタデータの実際のリザーブ スペースに基づいて、StorageGRID がさまざまなストレージノードの*許可されたメタデータスペース*をどのように計算するかを示しています。
ストレージノード上のメモリ容量 |
|||
< 128 GB |
>= 128 GB |
メタデータ用の実際のリザーブ スペース |
|
⇐ 4 TB |
メタデータ用の実際のリザーブ スペースの60%(最大1.32 TB) |
メタデータ用の実際のリザーブ スペースの60%(最大1.98 TB) |
|
許可されているメタデータスペースを表示する
ストレージノードに許可されているメタデータ領域を確認するには、以下の手順に従ってください。
-
Grid Managerから、*Nodes*を選択します。
-
ストレージノードを選択します。
-
「ストレージ」タブを選択します。
-
カーソルを「ストレージ使用量 - オブジェクトメタデータ」チャートの上に移動し、*許可*の値を確認します。

スクリーンショットでは、*許可*の値は 3.96 TB です。これは、メタデータの実際のリザーブ スペースが 4 TB を超えるストレージノードの最大値です。
「許可」の値は、この Prometheus メトリックに対応します:
storagegrid_storage_utilization_metadata_allowed_bytes
許可されるメタデータスペースの例
バージョン 11.6 を使用して StorageGRID システムをインストールするとします。この例では、各ストレージノードに 128 GB を超える RAM が搭載されており、ストレージノード 1(SN1)のボリューム 0 が 6 TB であると仮定します。これらの値に基づくと:
-
システム全体の メタデータ リザーブ スペース は 8 TB に設定されています。(これは、各ストレージノードの RAM が 128 GB を超える場合の StorageGRID 11.6 以降のデフォルト値です。)
-
SN1 のメタデータの実際のリザーブ スペースは 6 TB です。(ボリューム 0 が「メタデータのリザーブ スペース」設定よりも小さいため、ボリューム全体がリザーブされています。)
-
SN1 のメタデータに許可される容量は 3 TB です。これは メタデータに許可されるスペースの表 に示す計算式に基づいています:(メタデータの実際のリザーブ スペース − 1 TB)× 60%、最大 3.96 TB まで。
ストレージノードのサイズの違いがオブジェクト容量に与える影響
上記のように、StorageGRID は各サイトのストレージノード全体にオブジェクトのメタデータを均等に分散します。このため、サイト内にサイズの異なるストレージノードが存在する場合、サイト内の最小サイズのノードがサイトのメタデータ容量を決定します。
次の例を考えてみましょう。
-
異なるサイズのストレージノードが3つ含まれる、単一サイトのグリッド環境があります。
-
*メタデータ リザーブ スペース*の設定は 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 の監視"の手順を参照してください。
-
システムのオブジェクトメタデータ容量を増やすには、新しいストレージノードを追加することで"グリッドを拡張する"。