StorageGRIDの拡張後の EC 再バランス調整について学ぶ
拡張を実行してストレージノードを追加し、ILMルールを使用してデータをイレイジャーコーディングする場合、使用しているイレイジャーコーディングスキームに対応する十分な数のストレージノードを追加できない場合は、イレイジャーコーディング(EC)のリバランシング手順の実行が必要になることがあります。
これらの考慮事項を確認したら、拡張を実行し、に移動して"ストレージノードの追加後にイレイジャーコーディングデータをリバランシングします"手順を実行します。
EC のリバランシングとは何ですか?
EC のリバランシングは、ストレージノードの拡張後に必要になる可能性がある StorageGRID 手順 です。手順 は、プライマリ管理ノードからコマンドラインスクリプトとして実行されます。ECのリバランシング手順 を実行すると、StorageGRID はサイトの既存のストレージノードと新しく追加したストレージノードにイレイジャーコーディングフラグメントを再配分します。
EC のリバランシング手順 :
-
イレイジャーコーディングされたオブジェクトデータのみを移動します。レプリケートされたオブジェクトデータは移動されません。
-
サイト内のデータを再配布します。サイト間でデータを移動することはありません。
-
サイトのすべてのストレージノードにデータを再配分します。ストレージボリューム内でデータが再配置されることはありません。
-
各ノードが同じ使用可能なスペースを持つように、データのバイトを分散させます。レプリケートされたデータが多いノードは、リバランス完了後にイレイジャーコーディングされたデータの保存量が少なくなる可能性があります。
-
各ノードの相対的な容量を考慮せずに、使用可能なスペースをストレージノード間で均等に再分配します。複製データも計算に含まれます。
-
リバランス処理は、使用可能な領域がまだ均等に分配されていない場合でも、それ以上消去符号化されたデータを移動できなくなった時点で完了したとみなされます。
-
容量が80%以上使用されているストレージノード、またはメタデータ専用のストレージノードには、イレイジャーコーディングされたデータを配布しません。
-
イレイジャーコーディングフラグメントの再配置に追加リソースが必要になると、ILM処理とS3クライアント処理のパフォーマンスが低下する可能性があります。
EC Rebalance 手順 が完了すると、次のようになります。
-
イレイジャーコーディングデータは、利用可能なスペースが少ないストレージノードから利用可能なスペースが多いストレージノードに移動されます。
-
イレイジャーコーディングオブジェクトのデータ保護は変更されません。
-
次の2つの理由により、ストレージノード間で使用済み(%)の値が異なる可能性があります。
-
レプリケートオブジェクトコピーは既存のノードのスペースを引き続き消費します。ECのリバランシング手順 では、レプリケートデータは移動されません。
-
最終的にすべてのノードがほぼ同じ量の使用可能なスペースを持つことになるとしても、容量の大きいノードは容量の小さいノードに比べて相対的に使用率が低い可能性があります。
例えば、2+1 イレイジャーコーディング方式の場合、200 TB のノードが 3 つあり、それぞれが 80% まで使用されているとします(各ノードに 200 × 0.8 = 160 TB、サイト全体では 480 TB)。400 TB のノードを追加してリバランス手順を実行すると、すべての古いノードのイレイジャーコーディングされたデータ量はほぼ同じになります(106.66 TB、つまり 53% の使用率)。新しいノードには(160 TB のデータ、つまり 40% が使用される)データが格納されます。この場合、大きいノードの Used (%) は、小さいノードの Used (%) よりも低くなります。再バランス処理は、使用可能な領域のバランスが取れる前に完了します。これは、イレイジャーコーディング方式の制約を破ることなく、これ以上イレイジャーコーディングされたデータを移動できないためです。

-
イレイジャーコーディングデータをリバランシングするタイミング
EC 再バランス手順では、既存の消去符号化データを再分配して、ノードがいっぱいになったり、いっぱいになったままにならないようにします。この手順により、サイト上で EC エンコーディングを続行できるようになります。
サイト上のデータ分布に懸念される偏りがあり、サイトに主に EC データが格納されている場合は、再バランス手順を実行します (複製されたデータは再バランスによって移動できないため)。
次のシナリオを考えてみましょう。
-
StorageGRID は、 3 つのストレージノードで構成される単一サイトで実行されています。
-
ILMポリシーでは、1.0MBを超えるすべてのオブジェクトに2+1のイレイジャーコーディングルールを使用し、サイズの小さいオブジェクトには2-copyレプリケーションルールを使用します。
-
すべてのストレージノードが完全にいっぱいになりました。Low Object Storage *アラートがMajor重大度レベルでトリガーされました。

十分な数のノードを追加すれば、リバランスは不要です。
ECのリバランシングが不要な状況を把握するために、新しいストレージノードを3つ以上追加したとします。この場合、ECリバランシングを実行する必要はありません。元のストレージノードはフルのままですが、新しいオブジェクトは3つの新しいノードを2+1のイレイジャーコーディングに使用します。2つのデータフラグメントと1つのパリティフラグメントを別 々 のノードに格納できます。

|
|
この場合、ECのリバランシング手順 は実行できますが、既存のイレイジャーコーディングデータを移動するとグリッドのパフォーマンスが一時的に低下し、クライアント処理に影響する可能性があります。 |
十分な数のノードを追加できない場合は、リバランシングが必要です
ECのリバランシングが必要な状況を把握するために、ストレージノードを3つではなく2つしか追加できないとします。2+1スキームでは、利用可能なスペースを確保するために少なくとも3つのストレージノードが必要であるため、空のノードを新しいイレイジャーコーディングデータに使用することはできません。

新しいストレージノードを利用するには、ECリバランス手順を実行する必要があります。この手順が実行されると、StorageGRID は既存の消去符号化データとパリティフラグメントを再分配し、サイト内のすべてのストレージノード間で使用可能な領域が均等に分配されるようにします。この例では、ECリバランス手順が完了すると、5つのノードすべてが60%使用済みとなり、使用可能な容量は40%になります。そして、すべてのストレージノードで2+1イレイジャーコーディング方式へのオブジェクトの取り込みを継続できます。

ECのリバランシングに関する推奨事項
次のステートメントの_all_が当てはまる場合、ECのリバランシングが必要になります。
-
オブジェクトデータにイレイジャーコーディングを使用します。
-
Low Object Storage * アラートがトリガーされました。このアラートは、ノードが 80% 以上フルであることを示します。
-
使用中のイレイジャーコーディングスキームに使用する十分な数の新しいストレージノードを追加できません。を参照して "イレイジャーコーディングオブジェクトのストレージ容量を追加します"
-
ECのリバランシング手順の実行中は、S3クライアントの書き込み処理と読み取り処理のパフォーマンスが低下しても問題ありません。
ストレージノードをほぼ同じレベルに配置し、S3クライアントがECのリバランシング手順の実行中に書き込み処理と読み取り処理のパフォーマンス低下を許容できる場合は、必要に応じてECのリバランシング手順を実行できます。
EC のリバランシングが手順 と他のメンテナンスタスクと連携する仕組み
ECリバランシング手順 を実行するときに一部のメンテナンス手順を実行することはできません。
| 手順 | EC のリバランシングで許可される手順 ? |
|---|---|
追加の EC リバランシング手順 |
いいえ。 一度に実行できる EC のリバランシング手順 は 1 つだけです。 |
手順 の運用を停止 EC データの修復ジョブ |
いいえ。
|
Expansion 手順 の略 |
いいえ。 拡張時に新しいストレージノードを追加する必要がある場合は、すべての新しいノードを追加したあとにECリバランシング手順 を実行します。 |
アップグレード手順 |
いいえ。 StorageGRID ソフトウェアをアップグレードする必要がある場合は、EC rebalance手順 の実行前または実行後にアップグレード手順 を実行します。必要に応じて、ソフトウェアアップグレードを実行するために EC Rebalance 手順 を終了できます。 |
アプライアンスノードのクローン手順 |
いいえ。 アプライアンスストレージノードをクローニングする必要がある場合は、新しいノードの追加後にECリバランシング手順 を実行します。 |
Hotfix 手順 の略 |
はい。 StorageGRID ホットフィックスは、 EC Rebalance 手順 の実行中に適用できます。 |
その他のメンテナンス手順 |
いいえ。 他のメンテナンス手順を実行する前に、 EC Rebalance 手順 を終了する必要があります。 |
EC のリバランシングが行われる手順 と ILM の相互作用
EC のリバランシング手順 を実行している間は、 ILM を変更して既存のイレイジャーコーディングオブジェクトの場所が変更されないようにしてください。たとえば、イレイジャーコーディングプロファイルが異なるILMルールは使用しないでください。このようなILMの変更が必要な場合は、ECのリバランシング手順 を終了する必要があります。