適用対象: Azure Stack HCI バージョン 22H2 および 21H2。Windows Server 2022、Windows Server 2019
この記事では、使用できる回復性オプションについて説明し、スケール要件、記憶域の効率性、それぞれの一般的な利点とトレードオフについて説明します。
Overview
記憶域スペース ダイレクトは、一般に "回復性" と呼ばれる、データのフォールト トレランスを提供します。 その実装は、複数のサーバーに分散してソフトウェアで実装される点を除いて、RAID に似ています。
RAID と同様に、記憶域スペースでこれを実現する方法がいくつかあり、フォールト トレランス、記憶域の効率性、コンピューティングの複雑さの間でさまざまなトレードオフを行います。 これらは、"ミラーリング" と "パリティ" の 2 つのカテゴリに大別されます。後者は "イレージャー コーディング" と呼ばれることもあります。
Mirroring
ミラーリングを使ってあらゆるデータのコピーを複数保持することによって、フォールト トレランスが実現します。 これは、RAID-1 と最もよく似ています。 How that data is striped and placed is non-trivial (see this blog to learn more), but it's absolutely true to say that any data stored using mirroring is written, in its entirety, multiple times. 各コピーは、個別に障害が発生したと見なされる異なる物理ハードウェア (異なるサーバー内の異なるドライブ) に書き込まれます。
ミラーリングには、"双方向" と "3 方向" の 2 種類があります。
Two-way mirror
双方向のミラーリングでは、すべてのコピーが 2 つ書き込まれます。 そのストレージ効率性は 50% です。1 TB のデータを書き込むには、少なくとも 2 TB の物理記憶領域容量が必要です。 同様に、少なくとも 2 つのハードウェア "障害ドメイン" が必要です。記憶域スペース ダイレクトでは、これは 2 台のサーバーを意味します。
Warning
3 台以上のサーバーがある場合は、代わりに 3 方向のミラーリングを使用することをお勧めします。
Three-way mirror
3 方向のミラーリングでは、すべてのコピーが 3 つ書き込まれます。 そのストレージ効率性は 33.3% です。1 TB のデータを書き込むには、少なくとも 3 TB の物理記憶領域容量が必要です。 同様に、少なくとも 3 つのハードウェア障害ドメインが必要です。記憶域スペース ダイレクトでは、これは 3 台のサーバーを意味します。
3 方向ミラーリングでは、少なくとも 2 つのハードウェア (ドライブまたはサーバー) に問題が発生した場合でも、安全に耐えることができます。 たとえば、突然別のドライブまたはサーバーに障害が発生したときに 1 つのサーバーを再起動する場合、すべてのデータは安全で継続的にアクセスできます。
Parity
Parity encoding, often called "erasure coding," provides fault tolerance using bitwise arithmetic, which can get remarkably complicated. このしくみは、ミラーリングほど明確ではありませんが、理解に役立つ多くの優れたオンラインリソースがあります (たとえば、このサードパーティの「Dummies Guide to Erasure Coding」など)。 これは、フォールト トレランスを損なうことなく、より高いストレージ効率を実現します。
記憶域スペースは、"シングル" パリティと "デュアル" パリティの 2 種類のパリティを提供します。後者では、大規模なスケールで "ローカル再構築コード" と呼ばれる高度な手法が採用されています。
Important
ほとんどのパフォーマンスを重視するワークロードにはミラーリングを使用することをお勧めします。 To learn more about how to balance performance and capacity depending on your workload, see Plan volumes.
Single parity
シングル パリティではビットごとのパリティ符号が 1 つだけ保持されるため、一度に 1 つの障害に対してのみフォールト トレランスが提供されます。 これは、RAID-5 と最もよく似ています。 シングル パリティを使用するには、少なくとも 3 つのハードウェア障害ドメインが必要です。記憶域スペース ダイレクトでは、これは 3 台のサーバーを意味します。 3 方向のミラーリングでは、同じスケールでより高いフォールト トレランスが実現するため、単一パリティの使用はお勧めできません。 しかし、それを使用することを主張し、完全にサポートされる場合です。
Warning
シングル パリティの使用をお勧めしない理由は、一度に 1 つのハードウェア障害に対してのみ、安全に耐えることができるためです。あるサーバーを再起動しているときに、突然別のドライブまたはサーバーで障害が発生した場合、ダウンタイムが発生します。 サーバーが 3 台のみある場合は、3 方向のミラーリングを使用することをお勧めします。 4 台以上の場合は、次のセクションを参照してください。
Dual parity
デュアル パリティでは、リードソロモンの誤り訂正符号を実装してビットごとの 2 つのパリティ符号を保持します。これにより、3 方向のミラーリングと同じフォールト トレランス (最大で一度に 2 つの障害) が実現されますが、ストレージの効率性が向上します。 これは、RAID-6 と最もよく似ています。 デュアル パリティを使用するには、少なくとも 4 つのハードウェア障害ドメインが必要です。記憶域スペース ダイレクトでは、これは 4 台のサーバーを意味します。 そのスケールでは、ストレージ効率性は 50% です。2 TB のデータを格納するには、4 TB の物理記憶領域容量が必要です。
デュアル パリティのストレージの効率性によって、ハードウェア障害ドメインが 50% から最大 80% に増加します。 たとえば、7 (記憶域スペース ダイレクトでは 7 台のサーバー) では、効率性は 66.7% に上昇します。4 TB のデータを格納するために、6 TB の物理記憶領域容量のみが必要です。
See the Summary section for the efficiency of dual party and local reconstruction codes at every scale.
ローカル再構築コード
記憶域スペースには、Microsoft Research によって開発された、"ローカル再構築コード" または LRC と呼ばれる高度な手法が導入されています。 大規模なデュアル パリティでは、LRC を使用してエンコード/デコードをいくつかの小さなグループに分割し、書き込みまたは障害からの復旧に必要なオーバーヘッドを軽減します。
ハード ディスク ドライブ (HDD) では、グループのサイズは 4 つの符号です。ソリッドステート ドライブ (SSD) では、グループのサイズは 6 つの符号になります。 たとえば、ハード ディスク ドライブと 12 個のハードウェア障害ドメイン (12 台のサーバー) のレイアウトは次のようになります。4 つのデータ符号のグループが 2 つあります。 これは 72.7% のストレージ効率性を達成します。
Claus Joergensen による、非常に詳細でありながら読みやすいチュートリアルである、「ローカル再構築コードによるさまざまな障害シナリオへの対応とその優位性」を参照することをお勧めします。
Mirror-accelerated parity
記憶域スペース ダイレクトのボリュームは、一部をミラーにし、一部をパリティにすることができます。 書き込みは、最初はミラー化された部分で処理され、その後パリティ部分に徐々に移動します。 事実上、これは、ミラーリングを使用してイレージャー コーディングを高速化しています。
3 方向ミラーとデュアル パリティを混在させるには、少なくとも 4 つの障害ドメイン (つまり 4 台のサーバー) が必要です。
ミラー高速パリティのストレージ効率性は、すべてミラーまたはすべてパリティを使用する場合の間になり、選択する比率によって異なります。
Important
ほとんどのパフォーマンスを重視するワークロードにはミラーリングを使用することをお勧めします。 To learn more about how to balance performance and capacity depending on your workload, see Plan volumes.
Summary
このセクションでは、記憶域スペース ダイレクトで使用できる回復性の種類、各種類を使用するための最小スケール要件、各種類で許容される障害の数、および対応するストレージ効率性についてまとめます。
Resiliency types
Resiliency | Failure tolerance | Storage efficiency |
---|---|---|
Two-way mirror | 1 | 50.0% |
Three-way mirror | 2 | 33.3% |
Dual parity | 2 | 50.0% から 80.0% |
Mixed | 2 | 33.3% から 80.0% |
最小スケール要件
Resiliency | 最低限必要な障害ドメイン |
---|---|
Two-way mirror | 2 |
Three-way mirror | 3 |
Dual parity | 4 |
Mixed | 4 |
Tip
シャーシまたはラック フォールト トレランスを使用している場合を除き、障害ドメインの数はサーバーの数を示します。 各サーバーのドライブ数は、記憶域スペース ダイレクトの最小要件を満たしている限り、使用できる回復性の種類には影響しません。
ハイブリッド デプロイのデュアル パリティ効率性
次の表は、ハード ディスク ドライブ (HDD) とソリッドステート ドライブ (SSD) の両方を含むハイブリッド デプロイの各スケールでのデュアル パリティとローカル再構築コードのストレージ効率性を示しています。
Fault domains | レイアウト | Efficiency |
---|---|---|
2 | – | – |
3 | – | – |
4 | RS 2+2 | 50.0% |
5 | RS 2+2 | 50.0% |
6 | RS 2+2 | 50.0% |
7 | RS 4+2 | 66.7% |
8 | RS 4+2 | 66.7% |
9 | RS 4+2 | 66.7% |
10 | RS 4+2 | 66.7% |
11 | RS 4+2 | 66.7% |
12 | LRC (8、2、1) | 72.7% |
13 | LRC (8、2、1) | 72.7% |
14 | LRC (8、2、1) | 72.7% |
15 | LRC (8、2、1) | 72.7% |
16 | LRC (8、2、1) | 72.7% |
オールフラッシュ デプロイのデュアル パリティ効率性
次の表は、ソリッドステート ドライブ (SSD) のみを含むオールフラッシュ デプロイの各スケールでのデュアル パリティとローカル再構築コードのストレージ効率性を示しています。 パリティ レイアウトでは、より大きなグループ サイズを使用して、オールフラッシュ構成でより高いストーレジ効率性を実現できます。
Fault domains | レイアウト | Efficiency |
---|---|---|
2 | – | – |
3 | – | – |
4 | RS 2+2 | 50.0% |
5 | RS 2+2 | 50.0% |
6 | RS 2+2 | 50.0% |
7 | RS 4+2 | 66.7% |
8 | RS 4+2 | 66.7% |
9 | RS 6+2 | 75.0% |
10 | RS 6+2 | 75.0% |
11 | RS 6+2 | 75.0% |
12 | RS 6+2 | 75.0% |
13 | RS 6+2 | 75.0% |
14 | RS 6+2 | 75.0% |
15 | RS 6+2 | 75.0% |
16 | LRC (12、2、1) | 80.0% |
Examples
サーバーが 2 台しかない場合を除き、フォールト トレランスの向上を実現するため、3 方向のミラーリングとデュアル パリティ (またはそのいずれか) を使用することをお勧めします。 具体的には、2 つの障害ドメイン (記憶域スペース ダイレクトでは 2 台のサーバー) が同時障害の影響を受ける場合でも、すべてのデータが安全に維持され、継続的にアクセス可能であることが保証されます。
すべてがオンラインを維持する例
These six examples show what three-way mirroring and/or dual parity can tolerate.
- 1. One drive lost (includes cache drives)
- 2. One server lost
- 3. One server and one drive lost
- 4. Two drives lost in different servers
- 5. More than two drives lost, so long as at most two servers are affected
- 6. Two servers lost
...いずれの場合も、すべてのボリュームはオンラインのままです。 (クラスターがクォーラムを維持していることを確認してください)。
すべてがオフラインになる例
その有効期間にわたって、記憶域スペースは、各障害の後に十分な時間があれば完全な回復性を復元するため、何回もの障害を許容できます。 ただし、特定の時点で障害の影響を問題なく受けることができるのは、最大で 2 つの障害ドメインです。 The following are therefore examples of what three-way mirroring and/or dual parity cannot tolerate.
- 7. Drives lost in three or more servers at once
- 8. Three or more servers lost at once
Usage
Check out Create volumes.
Next steps
この記事で説明されている項目の詳細については、以下を参照してください。