次の方法で共有


フェールオーバー クラスタリングと AlwaysOn 可用性グループ (SQL Server)

SQL Server 2014 で導入された高可用性とディザスター リカバリー ソリューションである Always On 可用性グループには、Windows Server フェールオーバー クラスタリング (WSFC) が必要です。 また、Always On 可用性グループは SQL Server フェールオーバー クラスタリングに依存しませんが、フェールオーバー クラスタリング インスタンス (FCI) を使用して可用性グループの可用性レプリカをホストできます。 各クラスタリング テクノロジの役割を把握し、Always On 可用性グループ環境を設計するときに必要な考慮事項を把握することが重要です。

AlwaysOn 可用性グループの概念については、「 AlwaysOn 可用性グループの概要 (SQL Server)」を参照してください。

Windows Server フェールオーバー クラスタリングと可用性グループ

Always On 可用性グループを展開するには、Windows Server フェールオーバー クラスタリング (WSFC) クラスターが必要です。 Always On 可用性グループに対して有効にするには、SQL Server のインスタンスが WSFC ノード上に存在し、WSFC クラスターとノードがオンラインである必要があります。 さらに、特定の可用性グループの各可用性レプリカは、同じ WSFC クラスターの異なるノードに存在する必要があります。 唯一の例外は、別の WSFC クラスターに移行するときに、可用性グループは一時的に 2 つのクラスターにまたがることができるという点です。

Always On 可用性グループは、Windows フェールオーバー クラスタリング (WSFC) クラスターに依存して、特定の可用性グループに属する可用性レプリカの現在のロールを監視および管理し、フェールオーバー イベントが可用性レプリカに与える影響を判断します。 WSFC リソース グループは、作成されたすべての可用性グループに対して作成されます。 WSFC クラスターはこのリソース グループを監視して、プライマリ レプリカの正常性を評価します。

Always On 可用性グループのクォーラムは、特定のクラスター ノードが可用性レプリカをホストしているかどうかに関係なく、WSFC クラスター内のすべてのノードに基づいています。 データベース ミラーリングとは異なり、Always On 可用性グループには監視役割はありません。

WSFC クラスターの全体的な正常性は、クラスター内のノードのクォーラムの投票によって決まります。 計画外の障害、または永続的なハードウェアまたは通信の障害が原因で WSFC クラスターがオフラインになった場合は、手動による管理介入が必要です。 Windows Server または WSFC クラスター管理者は、クォーラムを強制してから、非フォールト トレラント構成で存続しているクラスター ノードをオンラインに戻す必要があります。

重要

Always On 可用性グループのレジストリ キーは、WSFC クラスターのサブキーです。 WSFC クラスターを削除して再作成する場合は、元の WSFC クラスターで可用性レプリカをホストしていた SQL Server の各インスタンスで Always On 可用性グループ機能を無効にして再度有効にする必要があります。

Windows Server フェールオーバー クラスタリング (WSFC) ノードでの SQL Server の実行と WSFC クォーラムの詳細については、 SQL Server での Windows Server フェールオーバー クラスタリング (WSFC) に関するページを参照してください。

OS アップグレードのための AlwaysOn 可用性グループのクラスター間移行

SQL Server 2012 SP1 以降、Always On 可用性グループは、新しい Windows Server フェールオーバー クラスタリング (WSFC) クラスターへのデプロイ用に可用性グループのクラスター間移行をサポートします。 クラスター間移行では、ダウンタイムを最小限に抑えて、1 つの可用性グループまたは可用性グループのバッチを新しい移行先 WSFC クラスターに移動します。 クラスター間移行プロセスを使用すると、Windows Server 2012 クラスターにアップグレードするときに、サービス レベル アグリーメント (SLA) を維持できます。 SQL Server 2012 SP1 (またはそれ以降のバージョン) をインストールし、宛先 WSFC クラスターで AlwaysOn に対して有効にする必要があります。 クラスター間移行の成功は、移行先 WSFC クラスターの計画と準備の徹底に依存します。

詳細については、「 OS アップグレードのための AlwaysOn 可用性グループのクラスター間移行」を参照してください。

SQL Server フェールオーバー クラスター インスタンス (FCI) と可用性グループ

WSFC クラスターと共に SQL Server フェールオーバー クラスタリングを実装することで、サーバー インスタンス レベルで 2 番目のフェールオーバー レイヤーを設定できます。 可用性レプリカは、 SQL Server のスタンドアロン インスタンスまたは FCI インスタンスでホストできます。 特定の可用性グループのレプリカをホストできる FCI パートナーは 1 つに限られます。 可用性レプリカが FCI で実行されている場合、可用性グループの有効な所有者の一覧には、アクティブな FCI ノードだけが含まれます。

Always On 可用性グループは、どの形式の共有ストレージにも依存しません。 ただし、 SQL Server フェールオーバー クラスター インスタンス (FCI) を使用して 1 つまたは複数の可用性レプリカをホストする場合、各 FCI では標準の SQL Server フェールオーバー クラスター インスタンスのインストールと同様、共有ストレージが必要になります。

追加の前提条件の詳細については、「 AlwaysOn 可用性グループ (SQL Server) の前提条件、制限事項、および推奨事項」の「SQL Server フェールオーバー クラスター インスタンス (FCI) を使用して可用性レプリカをホストするための前提条件と制限事項」セクションを参照してください。

フェールオーバー クラスター インスタンスと可用性グループの比較

FCI のノードの数に関係なく、FCI 全体は可用性グループ内の 1 つのレプリカをホストします。 次の表に、FCI 内のノードと可用性グループ内のレプリカの概念の違いについて説明します。

FCI 内のノード 可用性グループ内のレプリカ
WSFC クラスターを使用する イエス イエス
保護レベル 事例 データベース
ストレージの種類 シェアード 非共有

可用性グループ内のレプリカはストレージを共有しませんが、FCI によってホストされているレプリカでは、その FCI の必要に応じて共有ストレージ ソリューションが使用されることに注意してください。 ストレージ ソリューションは、可用性グループのレプリカ間ではなく、FCI 内のノードでのみ共有されます。
ストレージ ソリューション 直接接続、SAN、マウント ポイント、SMB ノードの種類によって異なる
読み取り可能なセカンダリ いいえ* イエス
該当するフェールオーバー ポリシー設定 WSFC クォーラム

FCI 固有

可用性グループ設定**
WSFC クォーラム

可用性グループの設定
フェールオーバー リソース サーバー、インスタンス、およびデータベース データベースのみ

*可用性グループ内の同期セカンダリ レプリカは、常に対応する SQL Server インスタンス上で実行されていますが、FCI 内のセカンダリ ノードは、実際には対応する SQL Server インスタンスを起動していないため、読み取り不可能です。 FCI 内のセカンダリ ノードは、FCI フェールオーバー中にリソース グループの所有権が転送されたときにのみ、 SQL Server インスタンスを起動します。 ただし、アクティブな FCI ノードにおいて、FCI によってホストされるデータベースが可用性グループに属している場合にローカルな可用性グループが読み取り可能なセカンダリ レプリカとして実行されていると、データベースは読み取り可能です。

**可用性グループのフェールオーバー ポリシー設定は、スタンドアロン インスタンスと FCI インスタンスのどちらでホストされているかに関係なく、すべてのレプリカに適用されます。

SQL Server のさまざまなエディションのフェールオーバー クラスタリングと AlwaysOn 可用性グループのノード数の詳細については、「SQL Server 2012 の各エディションでサポートされる機能 (https://go.microsoft.com/fwlink/?linkid=232473)」を参照してください。

FCI で可用性レプリカをホストする場合の考慮事項

重要

SQL Server フェールオーバー クラスター インスタンス (FCI) で可用性レプリカをホストする場合は、Windows Server 2008 ホスト ノードがフェールオーバー クラスター インスタンス (FCI) の AlwaysOn の前提条件と制限を満たしていることを確認します。 詳細については、「 AlwaysOn 可用性グループの前提条件、制限事項、および推奨事項 (SQL Server)」を参照してください。

SQL Server フェールオーバー クラスター インスタンス (FCI) は可用性グループによる自動フェールオーバーをサポートしないため、FCI によってホストされる可用性レプリカは手動フェールオーバー用にのみ構成できます。

すべてのノードで使用できない共有ディスクを含むように Windows Server フェールオーバー クラスタリング (WSFC) クラスターを構成することが必要になる場合があります。 たとえば、3 つのノードを持つ 2 つのデータ センターにまたがる WSFC クラスターを考えてみましょう。 2 つのノードは、プライマリ データ センターで SQL Server フェールオーバー クラスタリング インスタンス (FCI) をホストし、同じ共有ディスクにアクセスできます。 3 つ目のノードは、別のデータ センター内の SQL Server のスタンドアロン インスタンスをホストし、プライマリ データ センターの共有ディスクにはアクセスできません。 FCI がプライマリ レプリカをホストし、スタンドアロン インスタンスがセカンダリ レプリカをホストしている場合、この WSFC クラスター構成は可用性グループのデプロイをサポートします。

特定の可用性グループの可用性レプリカをホストするために FCI を選択する場合は、FCI フェールオーバーによって 1 つの WSFC ノードで同じ可用性グループの 2 つの可用性レプリカをホストする操作が試行されないように注意してください。

この構成によってどのような問題が起きるかを次のサンプル シナリオに示します。

Marcel は、2 つのノード ( NODE01NODE02) を持つ 2 つの WSFC クラスターを構成します。 SQL Server フェールオーバー クラスター インスタンス fciInstance1は、 NODE01NODE02 の両方にインストールされています。 NODE01 の現在の所有者は fciInstance1です。
Marcel は、 NODE02に、別の SQL Serverインスタンス Instance3をインストールすることにしました。Instance3 はスタンドアロン インスタンスです。
NODE01では、マルセルは Always On 可用性グループに対して fciInstance1 を有効にします。 NODE02では、Always On 可用性グループのInstance3を有効にします。 さらに、可用性グループをセットアップしました。この可用性グループは、 fciInstance1 がプライマリ レプリカをホストするためだけでなく、 Instance3 がセカンダリ レプリカをホストするためにも使用されます。
ある時点でfciInstance1NODE01で使用できなくなり、WSFC クラスターがfciInstance1NODE02にフェールオーバーします。 フェールオーバー後、fciInstance1NODE02のプライマリ ロールで稼働しているAlways On Availability Groups対応のインスタンスです。 しかし、この時点で Instance3 は、 fciInstance1と同じ WSFC ノードに存在します。 これは、Always On 可用性グループの制約に違反します。
このシナリオで発生する問題を修正するには、スタンドアロン インスタンス ( Instance3) が、 NODE01 および NODE02と同じ WSFC クラスター内の別のノードに存在する必要があります。

SQL Server フェールオーバー クラスタリングの詳細については、「 AlwaysOn フェールオーバー クラスター インスタンス (SQL Server)」を参照してください。

WSFC フェールオーバー クラスター マネージャーを使用した可用性グループの操作に関する制限事項

フェールオーバー クラスター マネージャーを使用して可用性グループを操作しないでください。次に例を示します。

  • 可用性グループのクラスター化されたサービス (リソース グループ) のリソースの追加や削除を行わないでください。

  • 可用性グループのプロパティ (たとえば、有効な所有者、優先所有者) を変更しないでください。 これらのプロパティは、可用性グループによって自動的に設定されます。

  • フェールオーバー クラスター マネージャーを使用して可用性グループを他のノードに移動したり可用性グループをフェールオーバーしたりしないでください。 フェールオーバー クラスターは可用性レプリカの同期状態を認識しないため、そのような操作を行うとダウンタイムが長くなることがあります。 Transact-SQL または SQL Server Management Studio を使用する必要があります。

関連コンテンツ

こちらもご覧ください

AlwaysOn 可用性グループの概要 (SQL Server)AlwaysOn 可用性グループの有効化と無効化 (SQL Server)可用性グループの監視 (Transact-SQL)
AlwaysOn フェールオーバー クラスター インスタンス (SQL Server)