次の方法で共有


Azure Stack HCI および Windows Server クラスターでのフォールト トレランスとストレージ効率

適用対象: Azure Stack HCI バージョン 22H2 および 21H2。Windows Server 2022、Windows Server 2019

この記事では、使用可能な耐障害性オプションについて説明し、スケール要件、ストレージ効率、およびそれぞれの一般的な利点とトレードオフについて概説します。

概要

記憶域スペース ダイレクトは、データに対してフォールト トレランス (多くの場合、"回復性" と呼ばれます) を提供します。 その実装はRAIDと似ていますが、サーバー間で分散され、ソフトウェアで実装される点が異なります。

RAID と同様に、記憶域スペースでこれを行う方法はいくつかあり、フォールト トレランス、記憶域の効率、コンピューティングの複雑さの間でさまざまなトレードオフが生じます。 これらは大きく分けて「ミラーリング」と「パリティ」の2つのカテゴリに分類され、後者は「イレイジャーコーディング」と呼ばれることもあります。

ミラーリング

ミラーリングを使ってあらゆるデータのコピーを複数保持することによって、フォールト トレランスが実現します。 これはRAID-1に最もよく似ています。 そのデータがどのようにストライプ化され、配置されるかは簡単ではありませんが (詳細については 、このブログ を参照してください)、ミラーリングを使用して保存されたデータは、全体として複数回書き込まれると言っても過言ではありません。 各コピーは、個別に障害が発生したと見なされる異なる物理ハードウェア (異なるサーバー内の異なるドライブ) に書き込まれます。

ミラーリングには、「双方向」と「3方向」の2種類があります。

双方向ミラー

双方向ミラーリングは、すべてのコピーを 2 つ書き込みます。 そのストレージ効率は50%で、1TBのデータを書き込むには、少なくとも2TBの物理ストレージ容量が必要です。 同様に、少なくとも 2 つの ハードウェア "障害ドメイン" (記憶域スペース ダイレクトでは 2 台のサーバー) が必要です。

2方向ミラー

Warnung

サーバーが 2 台を超える場合は、代わりに 3 方向ミラーリングを使用することをお勧めします。

3 方向ミラー

3 方向ミラーリングは、すべてのコピーを 3 つ書き込みます。 そのストレージ効率は33.3%で、1TBのデータを書き込むには、少なくとも3TBの物理ストレージ容量が必要です。 同様に、少なくとも 3 つのハードウェア障害ドメイン (記憶域スペース ダイレクトでは 3 台のサーバー) が必要です。

3 方向ミラーリングは、 一度に少なくとも 2 つのハードウェアの問題 (ドライブまたはサーバー) に安全に耐えることができます。 たとえば、突然別のドライブまたはサーバーに障害が発生したときに 1 つのサーバーを再起動する場合、すべてのデータは安全で継続的にアクセスできます。

三方鏡

等価性

パリティエンコーディングは、しばしば「イレイジャーコーディング」と呼ばれ、ビット単位の演算を使用してフォールトトレランスを提供しますが、これは 非常に複雑になる可能性があります。 この仕組みはミラーリングほど明白ではなく、アイデアを得るのに役立つ多くの優れたオンラインリソース(たとえば、このサードパーティの 消去コーディングのダミーガイド)があります。 フォールトトレランスを損なうことなく、より優れたストレージ効率を提供すると言えば十分です。

Storage Spaces には、「シングル」パリティと「デュアル」パリティの 2 種類のパリティがあり、後者は「ローカル再構築コード」と呼ばれる高度な手法を大規模に採用しています。

Von Bedeutung

ミラーリングは、パフォーマンスに敏感なほとんどのワークロードに使用することをお勧めします。 ワークロードに応じてパフォーマンスと容量のバランスを取る方法の詳細については、「 ボリュームの計画」を参照してください。

シングルパリティ

シングル パリティは 1 つのビット単位のパリティ シンボルのみを保持し、一度に 1 つの障害に対してのみフォールト トレランスを提供します。 RAID-5 に最もよく似ています。 シングル パリティを使用するには、少なくとも 3 つのハードウェア障害ドメイン (記憶域スペース ダイレクトでは 3 台のサーバー) が必要です。 3 方向ミラーリングは、同じスケールでより多くのフォールト トレランスを提供するため、シングル パリティの使用はお勧めしません。 しかし、あなたがそれを使用することを主張するならば、それはそこにあり、それは完全にサポートされています。

Warnung

シングルパリティは、一度に1つのハードウェア障害にしか安全に耐えられないため、使用しないことをお勧めします。1つのサーバーを再起動しているときに突然別のドライブやサーバーに障害が発生すると、ダウンタイムが発生します。 サーバーが 3 台しかない場合は、3 方向ミラーリングを使用することをお勧めします。 4つ以上ある場合は、次のセクションを参照してください。

デュアル パリティ

デュアルパリティは Reed-Solomon エラー訂正コードを実装して2つのビット単位のパリティシンボルを保持するため、3ウェイミラーリングと同じフォールトトレランス(つまり、一度に最大2つの障害)が提供されますが、ストレージ効率が向上します。 RAID-6 に最もよく似ています。 デュアル パリティを使用するには、少なくとも 4 つのハードウェア障害ドメイン (記憶域スペース ダイレクトでは 4 台のサーバー) が必要です。 このスケールでは、ストレージ効率は 50% で、2 TB のデータを保存するには 4 TB の物理ストレージ容量が必要です。

デュアルパリティ

デュアル パリティのストレージ効率は、ハードウェア障害ドメインの数が多いほど (50% から 80%) 増加します。 たとえば、7 台 (記憶域スペース ダイレクトを使用、つまり 7 台のサーバー) の場合、効率は 66.7% に跳ね上がり、4 TB のデータを格納するために必要な物理ストレージ容量はわずか 6 TB です。

デュアルパリティ幅

あらゆる規模でのデュアルパーティおよびローカル再構築コードの効率性については、 概要 セクションを参照してください。

ローカル再構築コード

記憶域スペースでは、Microsoft Research によって開発された "ローカル再構築コード" (LRC) と呼ばれる高度な手法が導入されています。 大規模では、デュアル パリティは LRC を使用してエンコード/デコードをいくつかの小さなグループに分割し、書き込みや障害からの回復に必要なオーバーヘッドを削減します。

ハード ディスク ドライブ (HDD) の場合、グループ サイズは 4 つの記号です。ソリッドステートドライブ(SSD)の場合、グループサイズは6つのシンボルです。 たとえば、ハード ディスク ドライブと 12 個のハードウェア障害ドメイン (つまり 12 台のサーバー) を使用したレイアウトは次のようになります。これには、4 つのデータ シンボルの 2 つのグループがあります。 72.7 % のストレージ効率を達成しています。

ローカル再構築コード

Claus Joergensen による、ローカル再構築コードがさまざまな障害シナリオをどのように処理し、なぜ魅力的なのかについて、詳細でありながら非常に読みやすいウォークスルーをお勧めします。

ミラー高速パリティ

記憶域スペース ダイレクト ボリュームは、一部ミラーと一部パリティにすることができます。 最初にミラー部分に土地を書き込み、後で徐々にパリティ部分に移動します。 事実上、これは ミラーリングを使用してイレイジャーコーディングを高速化しています。

3 方向ミラーとデュアル パリティを混在させるには、少なくとも 4 つの障害ドメイン (つまり 4 つのサーバー) が必要です。

ミラーアクセラレーションパリティのストレージ効率は、オールミラーまたはオールパリティを使用した場合の中間であり、選択した比率によって異なります。

Von Bedeutung

ミラーリングは、パフォーマンスに敏感なほとんどのワークロードに使用することをお勧めします。 ワークロードに応じてパフォーマンスと容量のバランスを取る方法の詳細については、「 ボリュームの計画」を参照してください。

概要

このセクションでは、記憶域スペース ダイレクトで使用できる回復性の種類、各種類を使用するための最小スケール要件、各種類が許容できるエラーの数、および対応するストレージ効率をまとめています。

レジリエンシーの種類

レジリエンス 耐障害性 ストレージ効率
双方向ミラー 1 50.0%
3 方向ミラー 2 33.3%
デュアル パリティ 2 50.0% - 80.0%
混合 2 33.3% - 80.0%

最小スケール要件

レジリエンス 最低限必要な障害ドメイン
双方向ミラー 2
3 方向ミラー 3
デュアル パリティ 4
混合 4

ヒント

シャーシまたはラックのフォールトトレランスを使用している場合を除き、フォルトドメインの数はサーバーの数を指します。 各サーバーのドライブの数は、記憶域スペース ダイレクトの最小要件を満たしている限り、使用できる復元の種類には影響しません。

ハイブリッド展開のためのデュアルパリティ効率

この表は、ハード ディスク ドライブ (HDD) とソリッド ステート ドライブ (SSD) の両方を含むハイブリッド展開の各スケールでのデュアル パリティ コードとローカル 再構築コードのストレージ効率を示しています。

障害ドメイン レイアウト 効率性
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) のみを含むオールフラッシュ展開の各スケールでのデュアル パリティ コードとローカル 再構築コードのストレージ効率を示しています。 パリティ・レイアウトでは、より大きなグループ・サイズを使用し、オールフラッシュ構成でより優れたストレージ効率を実現できます。

障害ドメイン レイアウト 効率性
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%

例示

サーバーが 2 台しかない場合を除き、フォールト トレランスが向上する 3 方向ミラーリングやデュアル パリティを使用することをお勧めします。 具体的には、2 つの障害ドメイン (記憶域スペース ダイレクト、つまり 2 つのサーバー) が同時障害の影響を受けた場合でも、すべてのデータが安全で継続的にアクセス可能であることを保証します。

すべてがオンラインのままである例

これらの 6 つの例は、3 方向ミラーリングやデュアル パリティが 許容できることを示しています。

  • 1. 1つのドライブが失われました(キャッシュドライブを含む)
  • 2. 1台のサーバーが失われた

フォールトトレランスの例-1-および 2

  • 3. 1台のサーバーと1台のドライブが失われました
  • 4. 異なるサーバーで2つのドライブが失われました

フォールトトレランスの例-3-and-4

  • 5. 2台以上のドライブが失われた場合(最大で2台のサーバーが影響を受ける場合)
  • 6. 2台のサーバーが失われた

フォールトトレランスの例-5-および 6

...いずれの場合も、すべてのボリュームはオンラインのままです。 (クラスターがクォーラムを維持していることを確認してください。

すべてがオフラインになる例

記憶域スペースは、十分な時間があれば、各障害の後に完全な回復性に復元されるため、その有効期間中、任意の数の障害に耐えることができます。 ただし、最大で 2 つの障害ドメインが、任意の時点で障害によって安全に影響を受ける可能性があります。 したがって、次に示すのは、3 方向ミラーリングやデュアル パリティが許容 できない ものの例です。

  • 7. 3台以上のサーバーで同時にドライブが失われた
  • 8. 一度に3台以上のサーバーが失われた

フォールトトレランスの例-7-および-8

使用方法

ボリュームの作成」を参照してください。

次のステップ

この記事で言及されているテーマの詳細については、以下を参照してください。