記憶域の再同期を理解して管理する
適用対象: Azure Stack HCI、バージョン 22H2 および 21H2。Windows Server 2022、Windows Server 2019
記憶域の再同期アラートは、Azure Stack HCI と Windows Server の記憶域スペース ダイレクトの機能です。 ヘルス サービスから障害をスローして、ユーザーに再同期を通知できるようにします。 これにより、ユーザーが誤ってサーバーを追加で停止するのを防止できます (これが行われると、複数の障害ドメインに影響してクラスターが停止する可能性があります)。
この記事では、記憶域の再同期について概説し、記憶域スペース ダイレクトを使用してフェールオーバー クラスターでこれを監視する方法について説明します。
記憶域の再同期について
まず、記憶域がどのように同期されていない状態になるかを簡単な例で確認しましょう。シェアード ナッシング (ローカル ドライブのみ) の分散記憶域ソリューションは必ずこの動作を示すことに注意してください。 次のセクションでは、1 つのサーバー ノードが停止したときに、どのように記憶域が同期されていない状態になるかを説明します。 そのドライブはノードがオンラインに戻るまで更新されません。この動作は、すべてのハイパーコンバージド アーキテクチャに該当します。
文字列 "HELLO" を保存するとします。
3 方向ミラーの回復性があるとすると、この文字列には 3 つのコピーがあります。 サーバー #1 を一時的に停止すると (メンテナンスのため)、コピー #1 にアクセスできなくなります。
この時点で、文字列を "HELLO" から "HELP!" に更新したとします。
文字列を更新すると、コピー #2 と #3 は正常に更新されます。 ところが、サーバー #1 がメンテナンスで一時的に停止しているため、コピー #1 にはアクセスできません。
これで、コピー #1 のデータが同期されていない状態になります。 オペレーティング システムでは、詳細なダーティ領域追跡を使用して、同期されていないビットが追跡されます。これにより、サーバー #1 がオンラインに戻ったときに、コピー #2 または #3 からデータを読み取ってコピー #1 のデータを上書きすることで、変更を同期できます。 この方法では、サーバー #2 またはサーバー #3 のデータをすべて再同期する代わりに、古いデータをコピーするだけで済みます。
前のセクションではデータが同期されていない状態になる過程を説明しましたが、これは大まかにはどのような状況なのでしょうか。 たとえば、3 台のサーバーを含むハイパーコンバージド クラスターがあるとします。 サーバー #1 がメンテナンス中のときは、停止中と表示されます。 サーバー #1 をバックアップすると、詳細なダーティ領域追跡を使用してその記憶域全体の再同期が開始されます (前のセクションで説明)。 データが同期された状態に戻ると、すべてのサーバーが稼働中と表示されます。
次の GIF は、ハイパーコンバージド クラスターで記憶域の再同期がどのように行われるかを示しています。
記憶域の再同期を監視する方法
Windows Server 2019 以降では、記憶域の再同期中に表示されるヘルス サービスに、新しい障害が追加されています。
この障害を PowerShell で表示するには、次のコマンドレットを実行します。
Get-HealthFault
この新しい障害は、PowerShell、クラスター検証レポート、正常性障害に基づくその他の場所に表示されます。
より詳細なビューを表示するには、次のように PowerShell で時系列データベースに対してクエリを実行します:
Get-ClusterNode | Get-ClusterPerf -ClusterNodeSeriesName ClusterNode.Storage.Degraded
この場合の出力例を以下に示します。
Object Description: ClusterNode Server1
Series Time Value Unit
------ ---- ----- ----
ClusterNode.Storage.Degraded 01/11/2019 16:26:48 214 GB
Windows Admin Center では、正常性障害を使用してクラスター ノードの状態と色が設定されます。 HCI ダッシュボードでは、この新しい障害によって、クラスター ノードが赤色 (停止中) から緑色 (稼働中) に直接遷移するのではなく、赤色から黄色 (再同期中) に遷移できるようになりました。
次の図は、記憶域の再同期がどのように進行するかを、Windows Server 2016 と Windows Server 2019 で比較したものです。
ストレージの再同期の全体的な進行状況を表示することで、同期されていないデータの量と、システムが進んでいるかどうかを正確に把握できます。 Windows Admin Center で、ダッシュボードに移動して新しいアラートを確認します (次のスクリーンショットを参照)。
このアラートによって、再同期が行われていることをユーザーに通知できます。これにより、ユーザーが誤ってサーバーを追加で停止するのを防止できます (これが行われると、複数の障害ドメインが影響を受けてクラスターが停止する可能性があります)。
Windows Admin Center で記憶域の再同期がどのように示されるかをサーバー単位で詳しく確認するには、[サーバー] ページに移動し、[インベントリ] をクリックしてから特定のサーバーを選択します。 サーバーに移動してストレージ グラフを見ると、修復する必要があるデータの量が "紫色" の線で示され、その上に正確な数値が表示されます。 この量は、サーバーが停止すると増加し (再同期の必要なデータが増えるため)、サーバーがオンラインに戻ると徐々に減少します (データの同期が進むため)。 修復する必要があるデータの量が 0 である場合は、記憶域の再同期が完了しているので、必要に応じて自由にサーバーを停止できます。
次のスクリーンショットは、Windows Admin Center のサーバー ビューを示しています。
Windows Server 2016 で記憶域の再同期を監視する方法
Windows Server 2019 以降で提供されているアラートは、記憶域レイヤーで起きていることを総合的に把握するのに役立ちます。 ここでは、Get-StorageJob
コマンドレットで取得できる情報が要約されます。 次の出力例に示すように、このコマンドレットからは、実行時間の長い記憶域モジュール ジョブ (記憶域スペースでの修復操作など) に関する情報が返されます。
Get-StorageJob
出力例を次に示します。
Name ElapsedTime JobState PercentComplete IsBackgroundTask
---- ----------- -------- --------------- ----------------
Regeneration 00:01:19 Running 50 True
このビューは、ボリュームごとに記憶域ジョブが一覧表示されるため、さらに詳細です。 実行中のジョブの一覧を確認し、その個々の進捗を追跡できます。 このコマンドレットは、Windows Server 2016 と Windows Server 2019 の両方で機能します。
その他の参照情報
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示