Windows Server フェールオーバー クラスタリング (WSFC) と SQL Server
Windows Server フェールオーバー クラスタリング (WSFC) クラスターは、アプリケーションとサービスの可用性を高めるために連携する独立したサーバーのグループです。 SQL Server 2014 では、WSFC サービスと機能を利用して、Always On可用性グループとフェールオーバー クラスター インスタンスSQL Serverサポートします。
用語と定義
WSFC クラスター Windows Server フェールオーバー クラスタリング (WSFC) クラスターは、アプリケーションとサービスの可用性を向上させるために連携する独立したサーバーのグループです。
フェールオーバー クラスター インスタンス IP アドレス リソース、ネットワーク名リソース、および 1 つ以上のアプリケーションまたはサービスを実行するために必要な追加リソースを管理する Windows サービスのインスタンス。 クライアントは、コンピューター名を使用して物理サーバーのサービスにアクセスする場合と同様に、ネットワーク名を使用してグループ内のリソースにアクセスできます。 ただし、フェールオーバー クラスター インスタンスはグループであるため、基になる名前またはアドレスに影響を与えることなく他のノードにフェールオーバーできます。
ノード サーバー クラスターのアクティブまたは非アクティブメンバーである Microsoft Windows Server システム。
クラスター リソース ノードが所有し、オンラインにしてオフラインにし、ノード間を移動し、クラスター オブジェクトとして管理できる物理エンティティまたは論理エンティティ。 特定の時点でクラスター リソースを所有できるのは 1 つのノードのみです。
リソース グループ 1 つのクラスター オブジェクトとして管理されるクラスター リソースのコレクション。 通常、リソース グループには、特定のアプリケーションまたはサービスを実行するために必要なすべてのクラスター リソースが含まれます。 フェールオーバーとフェールバックは常にリソース グループ上で行われます。
リソースの依存関係 別のリソースが依存するリソース。 リソース A がリソース B に依存している場合、B は A の依存関係です。
ネットワーク名リソース クラスター リソースとして管理される論理サーバー名。 ネットワーク名リソースは、IP アドレス リソースと共に使用する必要があります。
優先所有者 リソース グループの実行を優先するノード。 各リソース グループには、優先順に並べられた優先所有者のリストが関連付けられています。 自動フェールオーバー中に、リソース グループは、優先所有者リスト内の次の優先ノードに移動します。
可能な所有者 リソースを実行できるセカンダリ ノード。 各リソース グループには、実行可能な所有者のリストが関連付けられています。 リソース グループは、実行可能な所有者としてリストされているノードにのみフェールオーバーできます。
クォーラム モード クラスターが維持できるノード障害の数を決定するフェールオーバー クラスター内のクォーラム構成。
強制クォーラム クォーラムに必要な要素の少数のみが通信中であっても、クラスターを開始するプロセス。
詳細については、「 フェールオーバー クラスター用語集」を参照してください。
Windows Server フェールオーバー クラスタリングの概要
Windows Server フェールオーバー クラスタリングは、Microsoft SQL Server や Microsoft Exchange などのホストされるサーバー アプリケーションの高可用性とディザスター リカバリー シナリオをサポートするインフラストラクチャ機能を提供します。 クラスター ノードまたはサービスに障害が発生すると、そのノードでホストされていたサービスは自動的に、または手動で、他の可用性ノードに転送されます。このプロセスを フェールオーバーと呼びます。
WSFC クラスター内のノードは連携して、次のような機能を提供します。
分散メタデータと通知。 WSFC サービスとホストされるアプリケーション メタデータは、クラスター内の各ノードで維持されます。 このメタデータには、ホストされるアプリケーションの設定に加え、WSFC 構成と状態が含まれます。 ノードのメタデータまたは状態の変更は、クラスター内の他のノードに自動的に反映されます。
リソース管理。 クラスター内の各ノードは、直接アタッチされたストレージ、ネットワーク インターフェイス、共有ディスク ストレージへのアクセスなどの物理的リソースを提供する場合があります。 ホストされるアプリケーション自体もクラスター リソースとして登録されます。また、他のリソース上でスタートアップと正常性依存関係を構成する場合があります。
正常性状態の監視。 ノード間およびプライマリ ノードの正常性状態の検出は、ハートビート ネットワーク通信およびリソース監視の組み合わせによって行われます。 クラスターの全体的な正常性状態は、クラスター内のノードのクォーラムの投票によって決定されます。
フェールオーバーの調整。 各リソースはプライマリ ノードでホストされるように構成され、それぞれ自動的に、または手動で 1 つ以上のセカンダリ ノードに転送されます。 正常性ベースのフェールオーバー ポリシーによって、ノード間でのリソース所有権の自動転送が制御されます。 フェールオーバーが発生すると、適切に対応できるように、ノードおよびホストされているアプリケーションに通知されます。
詳細については、「 Windows Server 2008 R2 のフェールオーバー クラスター」を参照してください。
SQL Server AlwaysOn テクノロジと WSFC
SQL Server 2014 AlwaysOn は、WSFC を利用する新しい高可用性およびディザスター リカバリー ソリューションです。 AlwaysOn は、アプリケーションの可用性を高め、ハードウェア投資の回収率を上げ、高可用性配置と管理を簡素化する、統合された柔軟なソリューションを提供します。
Always On可用性グループと AlwaysOn フェールオーバー クラスター インスタンスはどちらも、WSFC をプラットフォーム テクノロジとして使用し、コンポーネントを WSFC クラスター リソースとして登録します。 関連するリソースは リソース グループとしてまとめられ、他の WSFC クラスター リソースに依存するように設定できます。 その後、WSFC クラスター サービスは、SQL Server インスタンスを再起動するか、WSFC クラスター内の別のサーバー ノードに自動的にフェールオーバーする必要性を検出して通知できます。
重要
SQL Server AlwaysOn テクノロジを最大限に活用するには、WSFC 関連の前提条件をいくつか適用する必要があります。
詳細については、「AlwaysOn 可用性グループの前提条件、制限事項、および推奨事項 (SQL Server)」を参照してください。
AlwaysOn フェールオーバー クラスター インスタンスとインスタンス レベルの高可用性
AlwaysOn フェールオーバー クラスター インスタンス (FCI) は、WSFC クラスター内のノード間でインストールされるSQL Server インスタンスです。 この種類のインスタンスには、共有ディスク ストレージ (ファイバー チャネルまたは iSCSI SAN 経由) および仮想ネットワーク名に対してリソース依存関係があります。 仮想ネットワーク名には、それぞれが異なるサブネットに存在する 1 つ以上の仮想 IP アドレスに対してリソース依存関係があります。 SQL Server サービスおよび SQL Server エージェント サービスはリソースとして登録され、どちらも仮想ネットワーク名リソースに依存します。
フェールオーバーが発生した場合、WSFC サービスはインスタンスのリソース所有権を指定されたフェールオーバー ノードに転送します。 その後、 SQL Server インスタンスは、フェールオーバー ノードで再起動され、データベースが通常どおり復元されます。 特定の時点で、FCI と基になるリソースをホストできるのは、クラスター内の 1 つのノードのみです。
注意
AlwaysOn フェールオーバー クラスター インスタンスには、ストレージ エリア ネットワーク (SAN)、SMB ファイル共有などの対称的な共有ディスク ストレージが必要です。 共有ディスク ストレージ ボリュームは、WSFC クラスター内のすべてのフェールオーバー ノードで使用できる必要があります。
詳細については、「AlwaysOn フェールオーバー クラスター インスタンス」を参照してください。
Always On 可用性グループを使用したデータベース レベルの高可用性
可用性グループ は、共にフェールオーバーするユーザー データベースのセットです。 可用性グループは、1 つのプライマリ 可用性レプリカ と、共有ストレージを必要としないデータ保護のために SQL Server ログに基づくデータ移動を介して維持される 1 ~ 4 個のセカンダリ レプリカから構成されます。 各レプリカは、WSFC クラスターの異なるノード上の SQL Server のインスタンスによってホストされます。 可用性グループとこれに対応する仮想ネットワーク名は、WSFC クラスターのリソースとして登録されます。
プライマリ レプリカのノード上の 可用性グループ リスナー は、受信クライアント要求に応答し、仮想ネットワーク名に接続します。そして、接続文字列の属性に基づいて各要求を適切な SQL Server インスタンスにリダイレクトします。
フェールオーバーが発生した場合は、共有物理リソースの所有権を他のノードに転送する代わりに、WSFC を利用して他の SQL Server インスタンス上でセカンダリ レプリカを再構成し、可用性グループのプライマリ レプリカにします。 その後、可用性グループの仮想ネットワーク名リソースが、そのインスタンスに転送されます。
任意の時点で、可用性グループのデータベースのプライマリ レプリカをホストできるのは、1 つの SQL Server インスタンスだけです。すべての関連付けられたセカンダリ レプリカは別々のインスタンスに存在する必要があり、各インスタンスは別々の物理ノードに存在する必要があります。
注意
Always On可用性グループでは、フェールオーバー クラスター インスタンスのデプロイや対称共有ストレージ (SAN または SMB) の使用は必要ありません。
フェールオーバー クラスター インスタンス (FCI) を可用性グループと共に使用することによって、可用性レプリカの可用性を高めることができます。 ただし、WSFC クラスター内での競合状態の発生を回避するため、FCI 上でホストされる可用性レプリカとの間の可用性グループの自動フェールオーバーはサポートされていません。
詳細については、「AlwaysOn 可用性グループの概要 (SQL Server)」を参照してください。
WSFC の正常性監視とフェールオーバー
AlwaysOn ソリューションの高可用性は、物理的および論理的 WSFC クラスター リソースのプロアクティブな正常性状態の監視と、冗長ハードウェアでの自動フェールオーバーおよび再構成によって実現します。 また、システム管理者は、可用性グループまたはノード間での インスタンスの 手動フェールオーバー SQL Server を開始できます。
ノード、フェールオーバー クラスター インスタンス、可用性グループのフェールオーバー ポリシー
フェールオーバー ポリシーは、WSFC クラスター ノード、SQL Server フェールオーバー クラスター インスタンス (FCI)、可用性グループ レベルで構成されます。 これらのポリシーは、クラスター リソースの異常な状態の重大度、期間、頻度とノードの応答時間に基づいたもので、サービスの再起動のトリガー、ノード間でのクラスター リソースの 自動フェールオーバー のトリガー、 SQL Server インスタンス間での可用性グループ プライマリ レプリカの移動のトリガーを行うことができます。
可用性グループ レプリカのフェールオーバーは、基になる SQL Server インスタンスに影響しません。 FCI のフェールオーバーでは、ホストされている可用性グループ レプリカとインスタンスが移動します。
詳細については、「 フェールオーバー クラスター インスタンスのフェールオーバー ポリシー」を参照してください。
WSFC リソースの正常性の検出
WSFC クラスター ノード内の各リソースの状態と正常性は、定期的または要求時に報告されます。 リソースの障害を示す状況としては、電源障害、ディスクまたはメモリのエラー、ネットワーク通信エラー、応答しないサービスなどがあります。
ネットワーク、ストレージ、サービスなどの WSFC クラスター リソースは、互いに依存するように構成できます。 リソースの累積正常性は、リソース依存関係の正常性で正常性を連続的にロール アップすることで決定されます。
WSFC ノード間の正常性の検出とクォーラム投票
WSFC クラスター内の各ノードは、定期的なハートビート通信に参加し、ノードの正常性状態を他のノードと共有します。 応答しないノードは、エラー状態であると見なされます。
クォーラム ノード セットは、WSFC クラスター内の大多数の投票ノードおよび監視サーバーです。 WSFC クラスターの全体的な正常性と状態は、定期的な クォーラムの投票によって決定されます。 クォーラムの存在は、クラスターが正常であり、ノード レベルのフォールト トレランスを提供できることを表します。
クォーラム モード は、WSFC クラスター レベルで構成され、クォーラム投票の方法、および自動フェールオーバーを実行するタイミングまたはクラスターをオフラインにするタイミングを指定します。
ヒント
WSFC クラスターのクォーラム投票の数は、常に奇数にすることをお勧めします。 クォーラム投票のために、 SQL Server をクラスター内のすべてのノードにインストールする必要はありません。 追加サーバーはクォーラム メンバーとして機能できます。また、リモート ファイル共有を決定機構として使用するように WSFC クォーラム モデルを構成することもできます。
詳細については、「 WSFC クォーラム モードと投票の構成 (SQL Server)」を参照してください。
強制されたクォーラムによる災害復旧
運用プラクティスと WSFC クラスター構成に応じて、自動フェールオーバーと手動フェールオーバーの両方が発生し、引き続き堅牢でフォールト トレラントな SQL Server AlwaysOn ソリューションを維持できます。 ただし、WSFC クラスター内の投票ノードのクォーラムが相互に通信できない場合、または WSFC クラスターがこれ以外の理由で正常性の検証に失敗する場合は、WSFC クラスターがオフラインになる場合があります。
災害や、永続的なハードウェア障害または通信障害が原因で WSFC クラスターがオフラインになった場合は、手動で管理操作を実行して、 クォーラムを強制 し、稼働しているクラスター ノードを非フォールト トレラント構成でオンラインに戻す必要があります。
その後、WSFC クラスターを再構成し、影響を受けたデータベース レプリカを復元し、新しいクォーラムを再構築するという一連の手順を実行する必要があります。
詳細については、「 WSFC の強制クォーラムによる災害復旧 (SQL Server)」を参照してください。
SQL Server AlwaysOn コンポーネントと WSFC との関係
SQL Server AlwaysOn と WSFC の機能とコンポーネントの間には、いくつかのリレーションシップレイヤーが存在します。
AlwaysOn 可用性グループは、SQL Server インスタンスでホストされます。 プライマリ データベースまたはセカンダリ データベースに接続するための論理可用性グループ リスナー ネットワーク名を指定するクライアント要求は、基になるSQL Server インスタンスまたは SQL Server フェールオーバー クラスター インスタンス (FCI) の適切なインスタンス ネットワーク名にリダイレクトされます。
SQL サーバー インスタンスは、1 つのノード上でアクティブにホストされています。 スタンドアロンの SQL Server インスタンスが存在する場合は、静的なインスタンス ネットワーク名で、常に 1 つのノードにあります。 SQL Server FCI が存在する場合は、1 つの仮想インスタンス ネットワーク名で、2 つ以上のフェールオーバー ノードの中の 1 つのノードでアクティブになります。
ノードは、WSFC クラスターのメンバーです。 すべてのノードの WSFC 構成メタデータと状態は、各ノードに保存されます。 各サーバーは、ユーザーまたはシステム データベースに対して非対称ストレージまたは共有ストレージ (SAN) ボリュームを提供できます。 各サーバーには、1 つまたは複数のサブネット上に少なくとも 1 つの物理ネットワーク インターフェイスがあります。
WSFC サービスは、サーバー グループの正常性を監視し、構成を管理します。 Windows Server フェールオーバー クラスター (WSFC) サービスは、WSFC 構成メタデータへの変更とその状態を、クラスター内のすべてのノードに反映します。 一部のメタデータと状態が、WSFC クォーラム監視リモート ファイル共有に保存されることもあります。 2 つ以上のアクティブなノードまたは監視サーバーによって、WSFC クラスターの正常性について投票するクォーラムが構成されます。
Always On可用性グループのレジストリ キーは、WSFC クラスターのサブキーです。 WSFC クラスターを削除して再作成する場合は、元の WSFC クラスターでAlways On可用性グループに対して有効にされた各サーバー インスタンスで、Always On可用性グループ機能を無効にして再度有効にする必要があります。 詳細については、「AlwaysOn 可用性グループの有効化と無効化 (SQL Server)」を参照してください。
Related Tasks
関連コンテンツ
参照
AlwaysOn フェールオーバー クラスター インスタンス (SQL Server)AlwaysOn 可用性グループの概要 (SQL Server)WSFC クォーラム モードと投票構成 (SQL Server)強制クォーラムによる WSFC ディザスター リカバリーのフェールオーバー ポリシー (SQL Server)