Always On フェールオーバー クラスター インスタンス (SQL Server)

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

SQL Server Always On オファリングの一環として、Always On フェールオーバー クラスター インスタンスは Windows Server Failover Clustering (WSFC) 機能を利用して、サーバー インスタンス レベルの冗長性を通じてローカルの高可用性を提供します。フェールオーバー クラスター インスタンス (FCI)。 FCI は、SQL Server の単一インスタンスであり、Windows Server Failover Clustering (WSFC) ノードと、場合によっては複数のサブネットにインストールされます。 ネットワーク上では、FCI は 1 台のコンピューターで実行されている SQL Server のインスタンスのように見えるが、現在のノードが使用できなくなった場合、FCI は WSFC ノード間のフェールオーバーを提供します。

FCI は可用性グループ を利用して、 データベース レベルでリモートディザスター リカバリーを提供できます。 詳細については、「フェールオーバー クラスタリングと可用性グループ (SQL Server)」を参照してください

Note

Windows Server 2016 Datacenter Edition には、記憶域スペース ダイレクト (S2D) のサポートが導入されています。 SQL Server フェールオーバー クラスター インスタンスは、クラスター ストレージ リソース向けの S2D をサポートしています。 詳細については、Windows Server での記憶域スペース ダイレクトに関する記事を参照してください。

フェールオーバー クラスター インスタンスは、クラスター化共有ボリューム (CSV) もサポートしています。 詳細については、「 フェールオーバー クラスターのクラスターの共有ボリュームについて」を参照してください。

この記事の内容:

フェールオーバー クラスター インスタンスの利点

サーバーのハードウェアまたはソフトウェアに障害が発生すると、そのサーバーに接続しているアプリケーションまたはクライアントで、ダウンタイムが発生します。 SQL Server インスタンスが (スタンドアロン インスタンスではなく) FCI として構成されている場合、その SQL Server インスタンスの高可用性は、FCI に冗長ノードが存在することで保護されます。 一度に FCI 内のノードの 1 つだけが WSFC リソース グループを所有します。 障害 (ハードウェア、オペレーティング システム、アプリケーション、サービスなどの障害) が発生した場合や計画していたアップグレードが行われる場合は、リソース グループの所有権が別の WSFC ノードに移動します。 このプロセスは、SQL Server に接続しているクライアントまたはアプリケーションに対して透過的であり、障害時にアプリケーションまたはクライアントで発生するダウンタイムを最小限に抑えます。 フェールオーバー クラスター インスタンスが提供する主なSQL Serverを次に示します。

  • 冗長性によるインスタンス レベルの保護

  • 障害 (ハードウェア、オペレーティング システム、アプリケーション、サービスなどの障害) 発生時の自動フェールオーバー

    重要

    可用性グループでは、FCI から可用性グループ内の他のノードへの自動フェールオーバーはサポートされていません。 このため、自動フェールオーバーが高可用性ソリューションの重要なコンポーネントである場合は、FCI とスタンドアロン ノードを 1 つの可用性グループ内で組み合わせて使用することはできません。 ただし、ディザスター リカバリー ソリューションではこの組み合わせを使用できます。

  • WSFC クラスター ディスク (iSCSI、ファイバー チャネルなど) やサーバー メッセージ ブロック (SMB) ファイル共有などのさまざまなストレージ ソリューションのサポート。

  • マルチサブネット FCI を使用している、または FCI によってホストされるデータベースを可用性グループ内で実行している災害復旧ソリューション。 MicrosoftSQL Server 2012 (11.x) の新しいマルチサブネット サポートでは、マルチサブネット FCI で仮想 LAN が不要になったので、マルチサブネット FCI の管理性とセキュリティが向上します。

  • フェールオーバー時にアプリケーションとクライアントの再構成が不要

  • 自動フェールオーバーの詳細なトリガー イベント用の柔軟なフェールオーバー ポリシー

  • 専用接続および永続接続を使用した定期的および詳細な正常性状態の検出による信頼性の高いフェールオーバー

  • 間接バックグラウンド チェックポイントによりフェールオーバー時に構成と予測が可能

  • フェールオーバー時のリソース使用状況を調整

推奨事項

実稼働環境では、静的 IP アドレスをフェールオーバー クラスター インスタンスの仮想 IP アドレスと組み合わせて使用することをお勧めします。 実稼働環境で DHCP を使用することはお勧めしません。 ダウンタイムが発生した場合に DHCP の IP リース期限が切れると、DNS 名に関連付けられている新しい DHCP IP アドレスの再登録に余分な時間がかかります。

フェールオーバー クラスター インスタンスの概要

FCI は、1 つ以上の WSFC ノードのある WSFC リソース グループで実行します。 FCI が起動すると、ノードの 1 つがリソース グループの所有権を想定し、そのインスタンスSQL Serverをオンラインにします。 このノードが所有するリソースは次のとおりです。

  • ネットワーク名

  • IP アドレス

  • 共有ディスク

  • SQL Server データベース エンジン サービス

  • SQL Server エージェント サービス

  • SQL Server Analysis Servicesサービス (インストールされている場合)

  • 1 つのファイル共有リソース (FILESTREAM 機能がインストールされている場合)

リソース グループの所有者 (および FCI 内の他のノード) だけが、リソース グループ内の各 SQL Serverサービスを実行しています。 フェールオーバーが発生すると、それが自動フェールオーバーと計画的フェールオーバーのいずれであるかにかかわらず、次の一連のイベントが発生します。

  1. ハードウェアまたはシステムの障害が発生しない限り、バッファー キャッシュ内のすべてのダーティ ページがディスクに書き込まれます。

  2. リソース グループSQL Serverの各サービスは、アクティブなノードで停止されます。

  3. リソース グループの所有権が FCI の別のノードに転送されます。

  4. 新しいリソース グループ所有者は、新しいリソース SQL Serverします。

  5. クライアント アプリケーション接続要求が、同じ仮想ネットワーク名 (VNN) を使用して新しいアクティブ ノードに自動的に送られます。

FCI は、基になる WSFC クラスターが正常なクォーラム状態にある限りオンラインになります (クォーラム WSFC ノードの大半は、自動フェールオーバー ターゲットとして使用できます)。 WSFC クラスターがクォーラムを失うと、その原因がハードウェア、ソフトウェア、ネットワーク障害であるか、不適切なクォーラム構成であるかにかかわらず、WSFC クラスター全体が FCI と共にオフラインになります。 この予定外のフェールオーバー シナリオでは、WSFC クラスターと FCI をオンラインに戻すために、手動介入によって残りの使用可能ノードでクォーラムを再確立する必要があります。 詳細については、「WSFC クォーラム モード」と「投票構成 (SQL Server)」を参照してください

予測可能なフェールオーバー時間

SQL Serverインスタンスが最後にチェックポイント操作を実行した時間によっては、バッファー キャッシュに多数のダーティ ページが含まれます。 このため、フェールオーバーは、残りのダーティ ページをディスクに書き込むまで継続し、フェールオーバー時間が長く予測不能になる場合があります。 MicrosoftSQL Server 2012 (11.x) より、FCI は間接チェックポイントを使用して、バッファー キャッシュに保持されているダーティ ページの数を調整できます。 これにより、通常の作業負荷ではリソースの消費が増えますが、フェールオーバー時間の予測や構成が可能になります。 これは、組織内のサービス レベル契約で、高可用性ソリューションの目標復旧時間 (RTO) を指定する場合に非常に役立ちます。 間接的なチェックポイントの詳細については、「 Indirect Checkpoints」を参照してください。

信頼性の高い正常性監視と柔軟なフェールオーバー ポリシー

FCI が正常に開始されると、WSFC サービスは、基になる WSFC クラスターの正常性と、SQL Server インスタンスの正常性の両方を監視します。 MicrosoftSQL Server 2012 (11.x) より、WSFC サービスは専用接続を使用して、アクティブな SQL Server インスタンスをポーリングし、システム ストアド プロシージャを使用してコンポーネントの詳細な診断を行います。 これには 3 つの影響があります。

  • SQL Server インスタンスへの専用接続により、FCI の負荷が高い場合でも、コンポーネント診断を確実にポーリングできます。 これにより、高負荷状態のシステムと、実際に障害条件が発生しているシステムを区別できるため、誤ったフェールオーバーなどの問題を回避できます。

  • 詳細コンポーネント診断により、より柔軟なフェールオーバー ポリシーを構成できるため、フェールオーバーをトリガーする障害条件とトリガーしない障害条件を選択できます。

  • 詳細コンポーネント診断により、自動フェールオーバーをさかのぼってトラブルシューティングすることもできます。 診断情報はログ ファイルに格納されます。ログ ファイルは、エラー ログとSQL Serverされます。 これらをログ ファイル ビューアーに読み込んで、そのフェールオーバーの原因を判断するためにフェールオーバーの発生までのコンポーネント状態を調査できます。

詳細については、「 Failover Policy for Failover Cluster Instances」をご覧ください。

フェールオーバー クラスター インスタンスの構成要素

FCI は、同様のハードウェア構成と、オペレーティング システムのバージョンとパッチ レベルを含む同一のソフトウェア構成、および SQL Server バージョン、パッチ レベル、コンポーネント、インスタンス名を含む一連の物理サーバー (ノード) で構成されます。 同一のソフトウェア構成は、ノード間でフェールオーバーする際に FCI が完全に機能できるようにするために必要です。

WSFC リソース グループ
WSFC SQL Server FCI が実行される場合。 リソース グループ内の各ノードは、構成設定の同期されたコピーおよびチェックポイントが設定されたレジストリ キーを保持して、フェールオーバー後に FCI が完全に機能し、一度にクラスター内の 1 つのノード (アクティブ ノード) だけがリソース グループを所有するようにします。 WSFC サービスは、サーバー クラスター、クォーラム構成、フェールオーバー ポリシー、およびフェールオーバー操作に加え、FCI の VNN および仮想 IP アドレスを管理します。 障害 (ハードウェア、オペレーティング システム、アプリケーション、サービスなどの障害) が発生した場合や計画していたアップグレードが行われる場合は、リソース グループの所有権が FCI の別のノードに移動します。 WSFC リソース グループでサポートされるノードの数は、お使いの SQL Serverです。 また、CPU、メモリ、ディスク数などのハードウェア容量に応じて、同じ WSFC クラスターが複数の FCI (複数のリソース グループ) を実行できます。

SQL Server バイナリ
製品バイナリは FCI の各ノードにローカルにインストールされます。スタンドアロン インストールの場合と同様SQL Serverプロセスです。 ただし、スタートアップ時にサービスが自動的に開始されることはなく、WSFC によって管理されます。

ストレージ
可用性グループとは対照的に、FCI は FCI のすべてのノード間でデータベースとログの格納に共有ストレージを使用する必要があります。 共有ストレージは、WSFC クラスター ディスク、SAN 上のディスク、記憶域スペース ダイレクト (S2D)、または SMB 上のファイル共有の形式にすることができます。 このようにして、フェールオーバーの発生時に、FCI のすべてのノードがインスタンス データについて同じビューを持ちます。 ただし、これは共有ストレージに単一障害点が生じる可能性があり、FCI が基になるストレージ ソリューションに依存してデータ保護を行うことを意味します。

ネットワーク名
FCI の VNN は、FCI に統一された接続ポイントを提供します。 これにより、アプリケーションは、現在アクティブなノードを知らなくても VNN に接続できます。 フェールオーバーが発生した場合、VNN は開始後に新しいアクティブ ノードに登録されます。 このプロセスは SQL Server に接続しているクライアントまたはアプリケーションに対して透過的であり、これにより、障害発生時のアプリケーションまたはクライアントのダウンタイムが最小限に抑えられます。

仮想 IP
マルチサブネット FCI の場合、FCI の各サブネットに仮想 IP アドレスが割り当てられます。 フェールオーバー時に、DNS サーバー上の VNN は、それぞれのサブネットの仮想 IP アドレスを指すように更新されます。 アプリケーションとクライアントは、マルチサブネット フェールオーバー後に同じ VNN を使用して FCI に接続できます。

SQL Server フェールオーバーの概念とタスク

概念とタスク 記事
障害検出メカニズムと柔軟なフェールオーバー ポリシーについて説明します。 Failover Policy for Failover Cluster Instances
FCI の管理とメンテナンスの概念について説明します。 フェールオーバー クラスター インスタンスの管理とメンテナンス
マルチサブネットの構成と概念について説明します。 SQL Server マルチサブネット クラスタリング (SQL Server)

関連トピック

トピックの説明 記事
新しい SQL Server fci をインストールする方法について説明します。 新しい SQL Server フェールオーバー クラスターの作成 (セットアップ)
SQL Server フェールオーバークラスターにアップグレードする方法について説明します。 SQL Server フェールオーバー クラスター インスタンスのアップグレード
Windows フェールオーバー クラスタリングの概念について説明し、Windows フェールオーバー クラスタリングに関連するタスクへのリンクを示します。 Windows Server フェールオーバー クラスターと SQL Server
FCI 内のノードと可用性グループ内のレプリカの概念の違いと、FCI を使用して可用性グループのレプリカをホストする場合の考慮事項について説明します。 フェールオーバークラスタリングと可用性グループ (SQL Server)