• 検索結果がありません。

可用性グループの自動フェールオーバー

4.5 Pacemaker を利用した可用性グループの運用

4.5.1 可用性グループの自動フェールオーバー

SQL Server 2017 には、REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT の設定が導入されています。この 設定により、プライマリ レプリカが各トランザクションをコミットする前に、指定された数のセカンダリ レプリカがトランザクション デ ータをログに書き込むことが保証されます。Pacemaker などの外部クラスター マネージャーを使用する場合、この設定は高可用 性とデータ保護の両方に影響します。設定の既定値は、クラスター リソースの作成時のアーキテクチャーによって異なります。

SQL Server リソース エージェント (mssql-server-ha)をインストールし、可用性グループのクラスター リソースを作成すると、ク ラスター マネージャーは可用性グループの構成を検出し、それに応じて

REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMITを設定します。

4.5.1.1 3 つの同期レプリカの場合

3 つの同期レプリカで構成される可用性グループは、読み取りスケール、自動フェールオーバーおよびデータ保護が提供されます。

自動フェールオーバーおよびデータ保護を必要とする場合は REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT を1 に設定します。読み取りスケールを利用する場合は REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT を 0 に設定します。

4.5.1.2 2 つの同期レプリカの場合

この構成は、データの保護と読み取りスケールが提供されます。 2 つの同期レプリカの構成は、自動フェールオーバーは提供され ないため、自動フェールオーバーを必要とする場合は 3 つの同期レプリカの構成を検討してください。

REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT が 0 の場合は読み取りスケール、1 の場合はデータの保護 が提供されます。

4.5.1.3 2つの同期レプリカと構成レプリカの場合

2つ以上の同期レプリカと構成レプリカを持つ可用性グループは、データ保護と高可用性を提供します。この構成は SQL

Server 2017 CU1 以降の新機能です。3つの同期レプリカの場合と同様に3 台以上での構成になりますが、その中の 1 台

を「構成のみ」の可用性モードとすることができます。3つの同期レプリカの場合は、それぞれの SQL Server がデータの同期を 行う構成であるため全て同じエディションで構成する必要があり、3 台分の SQL Server のコストがかかることになります。構成 レプリカは無償版の Express Edition で構成ができるため、このノードについてはコストを抑えることができます。また、構成レプリ カは可用性グループのレプリカ数の制限に含まれないため、2台のレプリカしか構成できない Standard Edition でも自動フェー ルオーバーを有効にすることができるというメリットがあります。

プライマリ レプリカはセカンダリ レプリカと構成レプリカの両方に構成データをプッシュします。セカンダリ レプリカはユーザーデータ も受け取ります。 構成レプリカはユーザーデータを受け取りません。 セカンダリ レプリカは同期モードです。構成のレプリカには、

可用性グループのデータベース(可用性グループに関するメタデータのみ)が含まれていません。 構成レプリカの構成データは、

同期してコミットされます。

1. セカンダリ レプリカへのユーザー データの同期レプリケーション。可用性グループ構成のメタデータも含まれています。

2. 可用性グループ構成のメタデータの同期レプリケーション。ユーザー データは含まれません。

注意

構成レプリカを持つ可用性グループは、SQL Server 2017 CU1の新機能です。 可用性グループ内の SQL Server の すべてのインスタンスは、SQL Server 2017 CU1以降である必要があります。

例えば、以下の例では、3つの同期レプリカ構成で sqlagvm2 がプライマリ レプリカをホストしています。

この状態でsqlagvm2 ノードに問題が発生すると、自動フェールオーバーが発生します。先ほどの例では、sqlagvm1 が新たな プライマリ レプリカのホストとなっている様子がわかります。

関連したドキュメント