Windows Server フェールオーバー クラスタリングと SQL Server

適用対象:yesSQL Server (サポートされているすべてのバージョン)

Windows Server フェールオーバー クラスター (WSFC) は、アプリケーションとサービスの可用性を高めるために連携する独立したサーバーのグループです。 SQL Serverは、WSFC サービスと機能を利用して、フェールオーバー クラスター Always On 可用性グループとSQL Serverをサポートします。

用語と定義

Windows フェールオーバー クラスター (WSFC) WSFC は、アプリケーションとサービスの可用性を向上するために一緒に動作する独立したサーバーのグループです。

Node
WSFC に参加しているサーバー。

クラスター リソース
物理的または論理的エンティティです。ノードによる所有、オンライン化またはオフライン化、ノード間での移動、クラスター オブジェクトとしての管理が可能です。 特定の時点でクラスター リソースを所有できるのは 1 つのノードのみです。

Role
特定の機能を提供するために単一クラスター オブジェクトとして管理されるクラスター リソースのコレクション。 SQL Server の場合、ロールは AlwaysOn 可用性グループ (AG) または Always On フェールオーバー クラスター インスタンス (FCI) となります。 ロールには、AG または FCI に必要なクラスター リソースがすべて含まれます。 フェールオーバーとフェールバックは常にロールのコンテキストで機能します。 FCI の場合、ロールには IP アドレス リソース、ネットワーク名リソース、SQL Server リソースが含まれます。 AG ロールには AG リソースが含まれ、リスナーが構成されている場合は、ネットワーク名と IP リソースが含まれます。

ネットワーク名リソース
クラスター リソースとして管理されている論理サーバーの名前です。 ネットワーク名リソースは、IP アドレス リソースと共に使用する必要があります。 これらのエントリでは、Active Directory ドメイン サービスおよび/または DNS 内のオブジェクトが必要な場合があります。

リソースの依存関係
他のリソースが依存するリソースです。 リソース A がリソース B に依存している場合、B は A の依存関係です。リソース A はリソース B なしでは開始できません。

優先所有者
リソース グループの実行が優先されるノードです。 各リソース グループには、優先順に並べられた優先所有者のリストが関連付けられています。 自動フェールオーバー中に、リソース グループは、優先所有者リスト内の次の優先ノードに移動します。

実行可能な所有者
リソースを実行できるセカンダリ ノードです。 各リソース グループには、実行可能な所有者のリストが関連付けられています。 ロールは、実行可能な所有者としてリストされているノードにのみフェールオーバーできます。

クォーラム モード
クラスターが維持できるノード障害の数を決定するフェールオーバー クラスター内のクォーラム構成です。

クォーラムの強制
クォーラムに必要な少数の要素のみが通信しているときでもクラスターを開始するためのプロセスです。

Windows Server フェールオーバー クラスタリングの概要

Windows サーバー フェールオーバー クラスタリングには、ホストされているサーバー アプリケーション (Microsoft SQL Server や Microsoft Exchange など) の高可用性とディザスター リカバリーのシナリオをサポートするインフラストラクチャ機能が備Exchange。 クラスター ノードまたはサービスに障害が発生すると、そのノードでホストされていたサービスは自動的に、または手動で、他の可用性ノードに転送されます。このプロセスを フェールオーバーと呼びます。

WSFC 内のノードは連携して、次のような機能を提供します。

  • 分散メタデータと通知。 WSFC サービスとホストされるアプリケーション メタデータは、クラスター内の各ノードで維持されます。 このメタデータには、ホストされるアプリケーションの設定に加え、WSFC 構成と状態が含まれます。 ノードのメタデータまたは状態の変更は、WSFC 内の他のノードに自動的に反映されます。

  • リソース管理。 WSFC 内の各ノードは、直接アタッチされたストレージ、ネットワーク インターフェイス、共有ディスク ストレージへのアクセスなどの物理的リソースを提供する場合があります。 ホストされるアプリケーション自体もクラスター リソースとして登録されます。また、他のリソース上でスタートアップと正常性依存関係を構成する場合があります。

  • 正常性状態の監視。 ノード間およびプライマリ ノードの正常性状態の検出は、ハートビート ネットワーク通信およびリソース監視の組み合わせによって行われます。 WSFC の全体的な正常性状態は、WSFC 内のノードのクォーラムの投票によって決定されます。

  • フェールオーバーの調整。 各リソースはプライマリ ノードでホストされるように構成され、それぞれ自動的に、または手動で 1 つ以上のセカンダリ ノードに転送されます。 正常性ベースのフェールオーバー ポリシーによって、ノード間でのリソース所有権の自動転送が制御されます。 フェールオーバーが発生すると、適切に対応できるように、ノードおよびホストされているアプリケーションに通知されます。

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

SQL Server Always On テクノロジと WSFC

SQL Server Always Onは、WSFC を利用する高可用性とディザスター リカバリー ソリューションです。 Always On 機能は、アプリケーションの可用性を高め、ハードウェア投資の回収率を上げ、高可用性配置と管理を簡素化する、統合された柔軟なソリューションを提供します。

フェールオーバー Always On 可用性グループとAlways Onは、WSFC をプラットフォーム テクノロジとして使用し、コンポーネントを WSFC クラスター リソースとして登録します。 関連するリソースはロールとしてまとめられ、他の WSFC クラスター リソースに依存するように設定できます。 その後、WSFC は、SQL Server インスタンスを再起動するか、WSFC 内の別のサーバー ノードに自動的にフェールオーバーする必要性を検出して知らします。

重要!! これらのテクノロジを完全に活用SQL Server Always On、WSFC 関連の前提条件を適用する必要があります。

詳細については、「可用性グループの前提条件、制限事項、推奨事項Always On (SQL Server) を参照してください。

Always On フェールオーバー クラスター インスタンスとインスタンス レベルの高可用性

Always On フェールオーバー クラスター インスタンス (FCI) は、WSFC 内SQL Serverにインストールされるクラスター インスタンスです。 このタイプのインスタンスは、ストレージと仮想ネットワーク名のリソースに依存します。 ストレージは共有ディスク ストレージにファイバー チャネル、iSCSI、FCoE、または SAS を使用したり、記憶域スペース ダイレクト (S2D) でローカルにアタッチされたストレージを使用したりできます。 仮想ネットワーク名のリソースは、それぞれが異なるサブネットに存在する 1 つまたは複数の仮想 IP アドレスに依存します。 SQL Server サービスと SQL Server エージェント サービスもリソースであり、どちらもストレージと仮想ネットワーク名リソースに依存します。

フェールオーバーが発生した場合、WSFC サービスはインスタンスのリソース所有権を指定されたフェールオーバー ノードに転送します。 そのSQL Serverフェールオーバー ノードでインスタンスが再び開始され、データベースは通常どおり復旧されます。 特定の時点で、FCI と基になるリソースをホストできるのは、クラスター内の 1 つのノードのみです。

メモ: フェールオーバー Always On インスタンスには、記憶域ネットワーク (SAN) や SMB ファイル共有などの対称共有ディスク 記憶域が必要です。 共有ディスク ストレージ ボリュームは、WSFC クラスター内のすべてのフェールオーバー ノードで使用できる必要があります。

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

データベース レベルの高可用性 (Always On 可用性グループ

Always On 可用性グループ (AG) は、共にフェールオーバーする 1 つ以上のユーザー データベースです。 可用性グループは、1 つのプライマリ 可用性レプリカ と、共有ストレージを必要としないデータ保護のために SQL Server ログに基づくデータ移動を介して維持される 1 ~ 4 個のセカンダリ レプリカから構成されます。 各レプリカは、WSFC の別のノードで SQL Server のインスタンスによってホストされます。 可用性グループとこれに対応する仮想ネットワーク名は、WSFC クラスターのリソースとして登録されます。

プライマリ レプリカのノード上の可用性グループ リスナーは、仮想ネットワーク名に接続するための受信クライアント要求に応答し、接続文字列内の属性に基づいて、各要求を適切な SQL Server インスタンスにリダイレクトします。

フェールオーバーが発生した場合は、共有物理リソースの所有権を他のノードに転送する代わりに、WSFC を利用して他の SQL Server インスタンス上でセカンダリ レプリカを再構成し、可用性グループのプライマリ レプリカにします。 その後、可用性グループの仮想ネットワーク名リソースが、そのインスタンスに転送されます。

任意の時点で、可用性グループのデータベースのプライマリ レプリカをホストできるのは、1 つの SQL Server インスタンスだけです。すべての関連付けられたセカンダリ レプリカは別々のインスタンスに存在する必要があり、各インスタンスは別々の物理ノードに存在する必要があります。

メモ: Always On 可用性グループフェールオーバー クラスター インスタンスのデプロイや対称共有ストレージ (SAN または SMB) の使用は不要です。

フェールオーバー クラスター インスタンス (FCI) を可用性グループと共に使用することによって、可用性レプリカの可用性を高めることができます。 ただし、WSFC クラスター内での競合状態の発生を回避するため、FCI 上でホストされる可用性レプリカとの間の可用性グループの自動フェールオーバーはサポートされていません。

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

WSFC の正常性監視とフェールオーバー

Always On ソリューションの高可用性は、物理的および論理的 WSFC クラスター リソースのプロアクティブな正常性状態の監視と、冗長ハードウェアでの自動フェールオーバーおよび再構成によって実現します。 システム管理者は、可用性グループの手動フェールオーバーを開始したり、SQL Serverインスタンスを別のノードに移動したりすることもできます。

ノード、フェールオーバー クラスター インスタンス、可用性グループのフェールオーバー ポリシー

フェールオーバー ポリシーは、WSFC ノード、SQL Server フェールオーバー クラスター インスタンス (FCI)、および可用性グループ レベルで構成されます。 これらのポリシーは、クラスター リソースの状態が不健康な状態とノードの応答性の重大度、期間、頻度に基づいて、サービスの再起動またはクラスター リソースのノード間の自動フェールオーバーをトリガーしたり、SQL Server インスタンス間で可用性グループプライマリ レプリカの移動をトリガーしたりします。

可用性グループ レプリカのフェールオーバーは、インスタンスの基になるSQL Serverしません。 FCI のフェールオーバーでは、ホストされている可用性グループ レプリカとインスタンスが移動します。

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

WSFC リソースの正常性の検出

WSFC 内の各リソースの状態と正常性は、定期的または要求時に報告できます。 リソースの障害を示す状況としては、電源障害、ディスクまたはメモリのエラー、ネットワーク通信エラー、応答しないサービスなどがあります。

ネットワーク、ストレージ、サービスなどの WSFC リソースは、互いに依存するように構成できます。 リソースの累積正常性は、リソース依存関係の正常性で正常性を連続的にロール アップすることで決定されます。

WSFC ノード間の正常性の検出とクォーラム投票

WSFC 内の各ノードは、定期的なハートビート通信に参加し、ノードの正常性状態を他のノードと共有します。 応答しないノードは、エラー状態であると見なされます。

クォーラムは、十分なリソースが WSFC でオンラインになっていることを確認することで、WSFC が確実に稼働するようにするメカニズムです。 WSFC に十分な投票がある場合は、正常であり、ノード レベルのフォールト トレランスを提供できます。

クォーラム モードは、WSFC で構成され、クォーラム投票の方法、および自動フェールオーバーを実行するタイミングまたはクラスターをオフラインにするタイミングを指定します。

ヒント: WSFC のクォーラム投票の数は、常に奇数にすることをお勧めします。 クォーラム投票の目的SQL Serverクラスター内のすべてのノードにインストールする必要はありません。 追加サーバーはクォーラム メンバーとして機能できます。また、リモート ファイル共有を決定機構として使用するように WSFC クォーラム モデルを構成することもできます。

詳細については、「 WSFC クォーラム モードと投票の構成 (SQL Server)」を参照してください。

強制クォーラムによるディザスター リカバリー

運用プラクティスと WSFC 構成に応じて、自動フェールオーバーと手動フェールオーバーの両方が発生し、堅牢でフォールト トレラントなソリューションSQL Server Always Onできます。 ただし、WSFC 内の投票ノードのクォーラムが相互に通信できない場合、または WSFC クラスターがこれ以外の理由で正常性の検証に失敗する場合は、WSFC がオフラインになる場合があります。

災害や、永続的なハードウェア障害または通信障害が原因で WSFC がオフラインになった場合は、手動で管理操作を実行して、クォーラムを強制し、稼働しているクラスター ノードを非フォールト トレラント構成でオンラインに戻す必要があります。

その後、WSFC を再構成し、影響を受けたデータベース レプリカを復元し、新しいクォーラムを再構築するという一連の手順を実行する必要があります。

詳細については、「 WSFC の強制クォーラムによる災害復旧 (SQL Server)」を参照してください。

SQL Server AlwaysOn コンポーネントと WSFC との関係

WSFC の機能とコンポーネントの間にはSQL Server Always Onの複数のレイヤーが存在します。

Always On 可用性グループインスタンスでホストSQL Serverされます。
プライマリ またはセカンダリ データベースに接続する論理可用性グループ リスナー ネットワーク名を指定するクライアント要求は、基になる SQL Server インスタンスまたは SQL Server FCI の適切なインスタンス ネットワーク名にリダイレクトされます。

SQL サーバー インスタンスは、1 つのノード上でアクティブにホストされています。
存在する場合、インスタンスインスタンスのスタンドアロン SQL Serverは、静的インスタンス ネットワーク名を持つ単一のノードに常に存在します。 存在する場合、1 つの仮想SQL Server 1 つの仮想インスタンス ネットワーク名を持つ 2 つ以上のフェールオーバー ノードの 1 つで、1 つの FCI がアクティブになります。

ノードは、WSFC クラスターのメンバーです。
すべてのノードの WSFC 構成メタデータと状態は、各ノードに保存されます。 各サーバーは、ユーザーまたはシステム データベースに対して非対称ストレージまたは共有ストレージ (SAN) ボリュームを提供できます。 各サーバーには、1 つまたは複数のサブネット上に少なくとも 1 つの物理ネットワーク インターフェイスがあります。

WSFC は、サーバー グループの正常性を監視し、構成を管理します。
WSFC メカニズムでは、WSFC 構成メタデータと状態の変更が、WSFC 内のすべてのノードに反映されます。 ディスク監視が使用されている場合は、メタデータもそこに格納されます。 既定では、WSFC の各ノードがクォーラムに対する投票を取得し、必要に応じて監視が使用され、構成されます。

Always On 可用性グループキーは、WSFC クラスターのサブキーです。
WSFC を削除して再作成する場合は、元の WSFC で Always On 可用性グループ に対して有効にされた各サーバー インスタンスで Always On 可用性グループ 機能を無効にし、再び有効にする必要があります。 詳細については、「 Enable and Disable Always On Availability Groups (SQL Server)」を参照してください

SQL Server AlwaysOn Component Context Diagram

関連タスク

関連コンテンツ

参照

Always On フェールオーバー クラスター インスタンス (SQL Server)
Always On 可用性グループの概要 (SQL Server)
WSFC クォーラム モードと投票の構成 (SQL Server)
Failover Policy for Failover Cluster Instances
WSFC の強制クォーラムによる災害復旧 (SQL Server)
SQL Server 2016 は Windows Server 2016 の記憶域スペース ダイレクトをサポートします