イレイジャーコーディングスキームとは
イレイジャーコーディングスキームは、各オブジェクト用に作成されるデータフラグメントとパリティフラグメントの数を制御します。
ILMルールにイレイジャーコーディングプロファイルを設定する場合は、使用するストレージプールを構成するストレージノードとサイトの数に基づいて、使用可能なイレイジャーコーディングスキームを選択します。
StorageGRID システムは、 Reed-Solomon イレイジャーコーディングアルゴリズムを使用します。アルゴリズムはオブジェクトをにスライスします k
データのフラグメント化とを実行します m
パリティフラグメント:。 k + m = n
フラグメントは全体に分散されます n
データ保護を提供するストレージノード。オブジェクトは最大で維持できます m
フラグメントの損失または破損オブジェクトを読み出しまたは修復するには、次の手順に従います。 k
フラグメントが必要です。
イレイジャーコーディングコピーを作成するルールに使用するストレージプールを選択する場合は、ストレージプールについて次のガイドラインに従ってください。
-
ストレージプールには 3 つ以上のサイト、または 1 つのサイトだけが含まれている必要があります。
ストレージプールにサイトが2つ含まれている場合はイレイジャーコーディングを使用できません。 -
デフォルトのサイトである[All Sites]を含むストレージプールは使用しないでください。
-
ストレージプールには少なくともを含める必要があります
k+m +1
ストレージノード:必要なストレージノードの最小数はです
k+m
。ただし、必要なストレージノードが一時的に使用できない場合に、少なくとも 1 つのストレージノードを追加することで、取り込みエラーや ILM バックログが発生するのを防ぐことができます。
イレイジャーコーディングスキームのストレージオーバーヘッドは、パリティフラグメントの数を除算して計算されます (m
)をデータフラグメント数で計算します (k
)。ストレージオーバーヘッドを使用して、各イレイジャーコーディングオブジェクトに必要なディスクスペースを計算できます。
disk space = object size + (object size * storage overhead)
たとえば、 4+2 スキームを使用して 10MB のオブジェクト(ストレージオーバーヘッドが 50% )を格納すると、そのオブジェクトが消費するグリッドストレージは 15MB です。6+3 のストレージオーバーヘッドを含む 6+2 スキームを使用して同じ 10MB のオブジェクトを格納すると、オブジェクトが消費するサイズは約 13.3 MB になります。
合計値が最も小さいイレイジャーコーディングスキームを選択します k+m
それはあなたのニーズに合っています。フラグメント数が少ないイレイジャーコーディングスキームは、オブジェクトごとに作成されて分散(または読み出される)フラグメント数が少ないため、全体的に計算効率が高く、フラグメントサイズが大きいためパフォーマンスも向上します。また、ストレージの追加が必要になった場合に拡張で追加するノード数も少なくて済みます。(ストレージの拡張計画の詳細については、を参照してください "StorageGRID の拡張手順". )
3 つ以上のサイトを含むストレージプールのイレイジャーコーディングスキーム
次の表に、 3 つ以上のサイトを含むストレージプールについて、 StorageGRID で現在サポートされているイレイジャーコーディングスキームを示します。これらのスキームはすべて、サイト障害からの保護を提供します。1 つのサイトが失われてもオブジェクトには引き続きアクセスできます。
サイト障害からの保護を提供するイレイジャーコーディングスキームの場合、ストレージプール内の推奨されるストレージノード数がを超えています k+m +1
各サイトに少なくとも3つのストレージノードが必要であるためです。
イレイジャーコーディングスキーム( k + m) | サイトの最小数 | 各サイトで推奨されるストレージノードの数 | 推奨されるストレージノードの総数 | サイト障害からの保護 | ストレージオーバーヘッド |
---|---|---|---|---|---|
4+2 |
3. |
3. |
9. |
はい。 |
50% |
6+2 |
4. |
3. |
12. |
はい。 |
33% |
8+2 |
5. |
3. |
15 |
はい。 |
25% |
6 + 3 |
3. |
4. |
12. |
はい。 |
50% |
9 + 3 |
4. |
4. |
16 |
はい。 |
33% |
2+1 |
3. |
3. |
9. |
はい。 |
50% |
4+1 |
5. |
3. |
15 |
はい。 |
25% |
6+1 |
7. |
3. |
21 |
はい。 |
17% |
7+5 |
3. |
5. |
15 |
はい。 |
71% |
StorageGRID では、サイトごとに少なくとも 3 つのストレージノードが必要です。7+5 スキームを使用するには、各サイトに少なくとも 4 つのストレージノードが必要。サイトごとに 5 つのストレージノードを使用することを推奨します。 |
サイト保護を提供するイレイジャーコーディングスキームを選択する場合は、次の要素の相対的な重要性を調整します。
-
* フラグメント数 * :フラグメントの総数が少ないほど、一般にパフォーマンスと拡張の柔軟性が向上します。
-
フォールトトレランス:パリティセグメントの数が増える(つまり、フォールトトレランスが向上する)ことで、フォールトトレランスが向上します
m
の値が大きくなります)。 -
ネットワークトラフィック:フラグメント数が多い(の合計数が多い)スキームを使用して、障害からリカバリする場合
k+m
)より多くのネットワークトラフィックを作成します。 -
* ストレージ・オーバーヘッド * :オーバーヘッドの大きいスキームでは、オブジェクトごとにより多くのストレージ・スペースが必要です。
たとえば、 4+2 と 6+3 のどちらかのスキーム(どちらも 50% のストレージオーバーヘッドがある)を選ぶ場合、フォールトトレランスをさらに高める必要がある場合は 6+3 のスキームを選択します。ネットワークリソースが制限されている場合は、 4+2 のスキームを選択します。他のすべての要素が等しい場合は、フラグメントの合計数が少ないため、 4+2 を選択します。
使用するスキームが不明な場合は、 4+2 または 6+3 を選択するか、テクニカルサポートにお問い合わせください。 |
1 サイトのストレージプールのイレイジャーコーディングスキーム
1 サイトのストレージプールでは、サイトに十分な数のストレージノードがある場合、 3 つ以上のサイト用に定義されたすべてのイレイジャーコーディングスキームがサポートされます。
必要なストレージノードの最小数はです k+m`がありますが、ストレージプールにはがあります `k+m +1
ストレージノードを推奨します。たとえば、 2+1 イレイジャーコーディングスキームには少なくとも 3 つのストレージノードからなるストレージプールが必要ですが、推奨されるストレージノード数は 4 つです。
イレイジャーコーディングスキーム( k + m) | ストレージノードの最小数 | 推奨されるストレージノードの数 | ストレージオーバーヘッド |
---|---|---|---|
4+2 |
6. |
7. |
50% |
6+2 |
8. |
9. |
33% |
8+2 |
10. |
11. |
25% |
6 + 3 |
9. |
10. |
50% |
9 + 3 |
12. |
13 |
33% |
2+1 |
3. |
4. |
50% |
4+1 |
5. |
6. |
25% |
6+1 |
7. |
8. |
17% |
7+5 |
12. |
13 |
71% |