Loading...

We've detected that your browser language is Chinese. Would you like to visit our Chinese website? [ Dismiss ]
By: Dylan

Windows Serverのフェイルオーバークラスターとは

計画外のサービス停止は多大な経済的損失を引き起こします。基幹アプリケーションが1時間停止するだけで、企業は売上損失、生産性低下、信用失墜により数千~数百万ドルの損害を被る可能性があります。このため、高可用性(HA)は現代のITインフラにおける必須要件となっています。

サーバーでWindows Serverを運用している場合、マイクロソフトのWindows Serverフェイルオーバークラスタリング(WSFC)を活用できます。WSFCは独立した複数のサーバー(ノード)で構成されるグループであり、クラスターロールと呼ばれるアプリケーションやサーバーの可用性・スケーラビリティを高めます。

1台または複数のノードにハードウェアまたはソフトウェア障害が発生した場合、残りのノードがフェイルオーバーという処理により自動的に業務を引き継ぎ、サービスの停止時間を最小限に抑えます。

Windows Serverフェイルオーバークラスターの動作原理

WSFCは単なる「予備サーバー」の組み合わせではなく、複数の独立したシステム間のリソースを統制する高度なオーケストレーションエンジンです。

ノードとクラスターネットワーク

WSFCクラスターを構成する各サーバーをノードと呼び、物理マシンまたは仮想マシンのいずれでも構成可能です。ノード同士はネットワークを介して通信し、既定ではすべてのネットワークでハートビート信号(UDP 3343番ポートを使用する134バイトの小型パケット)を送受信します。従来のような「公開網」「プライベート網」といった役割区分はなく、クラスター用に有効化されたすべてのネットワークでハートビートやその他クラスター通信が伝送されます。

それでもマイクロソフトや熟練した管理者が推奨するベストプラクティスとして、内部クラスター通信用に少なくとも1系統の専用ネットワークを用意することが挙げられます。このネットワークでは死活監視、クラスター共有ボリューム(CSV)のリダイレクト、管理コマンドが伝送され、クライアント向けアプリ通信と分離されます。

これらの通信に低遅延で安定した接続を確保することで、誤った障害検知のリスクを大幅に低減できます。ただし、このネットワークは「ハートビート専用」ではなく、ノード間の重要なクラスター通信すべてを処理する点に注意してください。

WSFCノードは主に2つの構成モードで導入されます。

  • アクティブ/パッシブ構成:一部のノードが業務を実行し、残りは待機状態となります。アクティブノードに障害が発生すると、パッシブノードが業務を引き継ぎます。シンプルで信頼性が高く、専用待機ハードウェアを許容できる場合はコスト効率に優れます。
  • アクティブ/アクティブ構成:すべてのノードが同時に業務を実行し、処理負荷を分散します。パフォーマンスとリソース利用率を最大化できますが、1台のノードに障害が発生した際に残りのノードで余剰負荷を処理できるよう、綿密な容量計画が必要です。構成の選択は組織の要件とクラスター化アプリの重要度に依存します。

クォーラム:スプリットブレインを防止する中核機構

分散システムにおける最大のリスクはスプリットブレイン現象です。ノード同士の通信が遮断され、各ノードが自身のみが稼働中のクラスターと認識することでデータ破損が発生する状態を指します。WSFCはクォーラム機構によりこの問題を回避します。

クォーラムとは、クラスターが稼働状態を維持するために必要なクラスターメンバーの最小投票数のことです。ネットワーク分割が発生した場合、クォーラムを満たしたグループのみが業務を継続し、残りのノードは停止してデータの整合性を保護します。

Windows Serverは複数のクォーラムタイプに対応しています。

  • ノードマジョリティ:ノード台数が奇数の場合に使用。各ノードに1票が付与されます。
  • ノード+ディスクマジョリティ:共有ディスク(ディスクウィットネス)にも投票権が付与され、ノード台数が偶数で共有ストレージを利用するクラスターに適しています。
  • ノード+ファイル共有マジョリティ:別サーバー上のファイル共有をウィットネスとして使用します。
  • クラウドウィットネス:Azure BLOBストレージコンテナを調停ポイントとして活用します。マルチサイトクラスター、共有ストレージのない環境、Azure上の仮想マシン、支店環境に最適です。

Windows Server 2012 R2以降のバージョンには動的クォーラムが標準で有効化されています。動的クォーラムはノードの追加・削除に応じて各ノードとウィットネスの投票数を自動調整します。例えばノードが正常にシャットダウンした場合、クラスターは投票数を再計算し、残りのノードに追加の重みを付与してクォーラムを維持します。手動操作なしでクラスターの耐障害性を大幅に向上させる機能です。

重要ルール:2ノードクラスターの場合は必ずウィットネスを構成してください。ウィットネスがないと、単なるネットワーク遮断でクラスター全体が停止します。どちらのノードも単独で過半数の投票を獲得できなくなるためです。

Windows Serverフェイルオーバークラスターの作成・設定手順

本章ではWindows Server 2008/2012/2016/2019/2022/2025におけるフェイルオーバークラスターの詳細設定手順を解説します。

事前要件
OSの統一:すべてのサーバーで同一バージョンのWindows Serverを実行する必要があります。フェイルオーバー時の予期せぬ不具合を回避するため、各ノードのパッチレベルも統一することを強く推奨します。
すべてのノードは同一のADドメインに参加し、ドメインコントローラーとタイムゾーンを統一します。ドメインコントローラー自身をクラスターノード上でホストすることは技術的には可能ですが、起動時の依存関係が複雑になるため避けるのが最善です。
サーバーがフェイルオーバークラスターのハードウェア要件を満たしているか確認してください。ストレージスペースダイレクト(S2D)を使用する場合は追加のハードウェア要件が適用されます。
クラスター作成にはドメイン管理者権限(または委任された権限)が必要です。
AD DS内にクラスターコンピューターオブジェクト用の専用OUを作成することを推奨します。グループポリシーの制御が容易になり、クラスターオブジェクトの誤削除を防止できます。
クラスター作成時に共有ストレージを追加する場合は、すべてのサーバーがiSCSI、ファイバーチャネルなどの共有ストレージにアクセス可能であることを確認します。

フェイルオーバークラスター機能のインストール

方法A:サーバーマネージャー(GUI)でインストール

1. 各ノードでサーバーマネージャーを起動します。

2. 「管理」>「役割と機能の追加」>「機能」を開きます。

3. 「リモートサーバー管理ツール」>「機能管理ツール」>「フェイルオーバークラスタリング」にチェックを入れ、インストールを完了させます。すべてのノードで同じ作業を実施します。

Windows Serverへのフェイルオーバークラスター機能インストール

方法B:PowerShellでインストール

各ノードでPowerShellを管理者として起動し、以下のコマンドを実行します。

Install-WindowsFeature -Name Failover-Clustering -IncludeManagementTools

-IncludeManagementToolsパラメータを指定することで、機能本体とフェイルオーバークラスターマネージャーのスナップインが同時にインストールされます。

クラスター検証ウィザードの実行

本手順ではハードウェア、ネットワーク、ストレージ、システム構成の互換性テストを実施します。

1. フェイルオーバークラスターマネージャー(またはWindows管理センター)を起動します。

2. 中央ペインの「構成の検証」をクリックします。

構成の検証

3. クラスターノードとして使用するすべてのサーバー名を追加します。

4. 「すべてのテストを実行」(推奨)を選択し、結果を慎重に確認します。

5. 続行する前に、すべてのエラーと関連する警告を解消してください。

クラスターの作成

Windows管理センターを使用する場合:

1. Windows管理センターからクラスターマネージャーに移動します。

2. サーバーをノードとして追加し、ネットワーク設定(クラスター名、IPアドレス、サブネットマスク、VLAN ID)を構成して「次へ」をクリックします。

WSFCクラスター名設定画面

3. クラスター作成画面で一意のクラスター名と静的IPアドレスを入力し、「クラスターの作成」をクリックします。

4. DNSの伝播遅延により「DNS経由でクラスターに到達できません」エラーが発生した場合は、「接続チェックを再試行」をクリックします。

PowerShellを使用する場合:

# Server1、Server2でMyClusterという名前のクラスターを作成、静的IPを指定
New-Cluster -Name MyCluster -Node Server1, Server2 -StaticAddress 192.168.1.100

ストレージを後から追加する場合は、-NoStorageパラメータを末尾に追加します。

作成完了後、ナビゲーションツリーにクラスター名が表示されるか確認します。DNSにクラスター名が反映され、サーバーマネージャーの「すべてのサーバー」画面でオンライン状態と表示されるまで時間を要する場合があります。

クラスタークォーラムの設定

2ノードクラスターではウィットネスが必須です。ノード台数が偶数の大規模クラスターでも強く推奨されます。クラウドウィットネスの設定手順は以下の通りです。

事前に有効なAzureサブスクリプション、汎用ストレージアカウントを用意し、すべてのクラスターノードの443番ポートを開放してAzureストレージREST APIと通信できるようにします。

1. フェイルオーバークラスターマネージャーでクラスターを右クリック>「その他のアクション」>「クラスタークォーラム設定の構成」を選択します。

WSFCクォーラム設定起動画面

2. ウィザードに従い、「クォーラムウィットネスの選択」を選びます。

クォーラムウィットネス選択画面

3. クォーラムウィットネス選択画面では「クラウドウィットネスの構成」を選択することを推奨します。

クラウドウィットネス設定画面

4. Azureストレージアカウント名とアクセスキーを入力します。ウィザードは投票調停用のBLOBファイルを格納するmsft-cloud-witnessコンテナを自動作成します。(補足:Windows Server 2025はマネージドIDに対応しており、アクセスキーの管理が不要になります。)

クラスター対応更新(CAU)の設定

CAUはクラスターロールの停止時間をゼロに保ちながら、クラスターノードにWindows更新プログラムを適用する機能です。1台のノードからロールを退避させ、更新適用・再起動後にノードをオンラインに戻し、次のノードへ順次処理を実行します。

1. フェイルオーバークラスターマネージャーのコンソールツリーから対象クラスターを選択し、アクションペインまたはメイン画面の「クラスター対応更新」をクリックします。

クラスター対応更新起動画面

2. クラスター対応更新画面で「クラスター自動更新オプションの構成」をクリックします。

3. クラスターロール追加画面で「CAUクラスターロールを追加、自動更新モードを有効にする」にチェックを入れます。ADに事前作成したコンピューターオブジェクトが存在する場合は「CAUクラスターロールの事前作成オブジェクトがある」にもチェックし、オブジェクト名を入力します。

4. 更新元とスケジュールを設定します。

  • 更新元:既定ではWindows Updateエージェント(WUA)プラグインが使用され、Microsoft Update、Windows Update、またはローカルWSUSサーバーから更新プログラムを取得するよう構成可能です。
  • スケジュール:希望する定期更新スケジュール(例:毎週土曜日午前2時)を設定します。設定した時間になるとCAUが自動的に更新処理を開始します。

5. 必要に応じて「詳細オプション」を開きます。

  • ノードごとの最大再試行回数:既定値は3回。特定ノードで更新が失敗した場合、この回数まで再試行した後、ノードを失敗と判定し次のノードへ移ります。
  • 許容最大障害ノード数:クラスター全体でこの台数の障害ノードが発生すると、更新処理全体が停止します。
  • 更新前・更新後スクリプト:各ノードの更新前後に実行するカスタムPowerShellスクリプト。ノード再起動前のストレージ同期状態確認などの作業に活用できます。

設定完了後、「次へ」→「適用」でウィザードを終了します。

フェイルバックポリシーの設定

フェイルバックとは、障害から復旧した優先所有者ノードにクラスターロールが自動的に戻る動作のことです。多くの本番環境では自動フェイルバックは推奨されません。午前2時にノード障害が発生し午前10時に復旧した場合、ユーザーの利用が多い時間帯に即時フェイルバックが実行されると再度短時間のサービス遮断が発生するためです。

手動または時間指定のフェイルバックを設定する手順は以下の通りです。

1. フェイルオーバークラスターマネージャーのコンソールツリーからクラスターを展開し、左ペインの「ロール」をクリックします。

2. 対象のクラスターロール(仮想マシン、SQL Serverインスタンス、ファイルサーバーロールなど)を右クリックし「プロパティ」を選択します。

3. 「全般」タブの優先所有者欄に、優先順にノードを選択します。

4. 「フェイルオーバー」タブを開き、フェイルバック項目からいずれかを選択します。

  • フェイルバックを禁止(既定、大半の本番ワークロードに推奨)
  • 即時フェイルバックを許可
  • 指定時間帯のみフェイルバックを許可 — 自動フェイルバックを実行する時間枠を指定

5. 「OK」をクリックして設定を反映します。

フェイルオーバークラスターモジュールのPowerShellコマンドレットで優先所有者とフェイルバックポリシーを設定することも可能です。

# ロールの現在の優先所有者を確認
Get-ClusterOwnerNode -Cluster MyCluster -Group "SQL Server (MSSQLSERVER)"

# 優先所有者を優先順に設定
Set-ClusterOwnerNode -Cluster MyCluster -Group "SQL Server (MSSQLSERVER)" -Owners Node1, Node2

# フェイルバック動作の設定
# パラメータ:-FailbackType Immediate | Prevent | Policy; Policyの場合は-FailbackWindowStart/Endを指定
Set-ClusterGroup -Cluster MyCluster -Name "SQL Server (MSSQLSERVER)" -FailbackType Prevent

# 特定時間帯のみフェイルバックを許可する場合
Set-ClusterGroup -Cluster MyCluster -Name "SQL Server (MSSQLSERVER)" `
    -FailbackType Policy `
    -FailbackWindowStart 1 `
-FailbackWindowEnd 4

主要パラメータ解説

  • -FailbackType:Immediate(優先ノード復旧後即時フェイルバック)、Prevent(自動フェイルバックなし、既定)、Policy(-FailbackWindowStart/Endで指定した時間帯のみフェイルバック)のいずれかを指定。
  • -FailbackWindowStart、-FailbackWindowEnd:24時間表記で自動フェイルバックを許可する時間を指定。-FailbackTypeがPolicyの場合のみ有効。
  • -PreferredOwner:ロールが優先的に戻るノードを指定。

トラブルシューティング:クラスター障害を引き起こす3つの代表的な設定ミス

綿密に設計されたクラスターでも設定の見落としにより障害が発生します。実際の障害事例から頻出する要因を紹介します。

ミス1:ネットワーク設定不備

課題:クラスター通信とアプリ通信を同一NICで処理し、遅延の急増やパケットロスが発生する。DNS設定の不備、またはUDP 3343番ポート(クラスターサービス通信用)を遮断するファイアウォールルールが存在する。

解決策:クラスター通信用に専用のネットワークインターフェース(またはチーミング)を用意し、クライアントアクセス通信と分離する。全ノードでクラスター名のDNS解決が正常に行えるか確認し、ファイアウォールルールでUDP 3343番ポートの通信を許可する。パフォーマンスモニターでパケットロスを監視する。ネットワークの不安定さは不要なフェイルオーバー、またはフェイルオーバーが必要な状況で切り替えに失敗する主な原因です。

ミス2:クォーラム設定の誤り

課題:2ノードクラスターに適切なウィットネスを設定していない。単なるネットワーク遮断で、両方のサーバーが正常稼働しているにもかかわらず、どちらもクォーラムを満たせずクラスター全体が完全停止する。

解決策:ノード台数が偶数のクラスターには必ずウィットネスを構成する。ディスク、ファイル共有、Azure BLOBなどのウィットネスリソースがすべてのノードからアクセス可能か確認する。動的クォーラムは既定で有効で投票数を自動調整しますが、基礎となるクォーラム設定が正しく構成されていることが前提となります。

ミス3:ストレージの不整合

課題:各ノード間でドライブ文字またはマウントポイントが不一致。レプリケーション型クラスターの場合、本番稼働前にボリュームの完全同期が完了していない。ストレージレプリケーション通信に十分な帯域幅が確保されていない。

解決策:各ノードのローカルディスクでドライブ文字とマウントポイントが統一されているか確認する。共有ストレージを使用する場合は、クラスター作成前にすべてのノードが全LUNにアクセスできるか検証する。ストレージスペースダイレクト(S2D)を使用する場合は、すべてのディスクがハードウェア要件を満たし、正しく初期化されているか確認します。

診断ツール

トラブルシューティング時は以下のツールを活用してください。

  • イベントビューアー:イベントID 1069(クラスターリソース障害)、1146(クラスターノード削除)、1230(クラスターネットワーク障害)を確認。予期せぬフェイルオーバー調査の最初の確認箇所となります。
  • Get-ClusterLog PowerShellコマンドレット:全クラスターノードから時間軸で同期された診断ログを収集し、実行元ノードの作業ディレクトリに単一ファイルとして保存します。クラスター事象の詳細分析に不可欠なツールです。
  • 構成の検証ウィザード:設定の不整合や新たなハードウェア障害を確認するため、いつでも再実行可能です。

WSFCを補完する高可用性代替ソリューション

長所を持つ一方、Windows Serverフェイルオーバークラスタリングは万能なソリューションではありません。正しく設定するには高度な知識が必要で、共有ストレージに依存し、Windows以外のシステムに跨って高可用性を提供できないという制限があります。

また、標準のフェイルオーバー機構はストレージ中心の設計でありアプリケーション単位の監視に対応していないため、障害検知と切り替え完了までに時間を要する場合があります。

ここで活用できるのがInfo2soft開発のi2Availabilityです。i2Availabilityはバイト単位のリアルタイムレプリケーションとアプリ単位の死活監視を統合したサードパーティ製HA・災害復旧プラットフォームで、Windows、Linux、各種仮想化基盤上で稼働する基幹アプリを保護します。

i2AvailabilityはWSFCの課題を直接解消する以下の特長を備えています。

  • 共有ストレージが不要:WSFCと異なり、i2Availabilityはバイト単位レプリケーションにより各ノードの独立したストレージボリュームを同期します。共有ストレージによる単一点障害を排除し、インフラコストを大幅に削減できます。
  • クロスプラットフォーム・異種環境対応:単一の管理コンソールでOS、ハイパーバイザー、ハードウェアの異なる環境のアプリを保護可能です。対照的にWSFCはWindows Serverノードのみに限定されます。
  • 1秒未満、アプリ認識型フェイルオーバー:サーバーハードウェアだけでなくアプリ自身(プロセス稼働状況、ネットワーク、OS応答性)を監視します。標準クラスターのハートビートより高速に障害を検知し、1秒以内に自動フェイルオーバーを実行できます。
  • 管理が簡素化:複数のMMCスナップイン、PowerShellスクリプト、手動検証作業に代わり、統合Webコンソールで一元管理します。事前定義されたルールと自動ワークフローにより、クラスター専門知識の少ない運用チームでも高可用性環境を構築できます。
  • リソースプール型クラスターモデルで持続的な耐障害性:従来のアクティブ/待機ペアに加え、複数の待機サーバーをリソースプールとしてグループ化可能です。アクティブノードに障害が発生すると、システムが最適な待機ノードを自動選択し、フェイルオーバー後も冗長性を維持します。

i2Availabilityによる堅牢な高可用性構築のデモ動画を参照できます。

下記ボタンから60日間無料トライアルを申し込めます。

60日間無料トライアル
安全なダウンロード

まとめ

Windows ServerフェイルオーバークラスタリングはMicrosoft環境における基盤的な高可用性技術です。本ガイドではWindows Serverにおけるフェイルオーバークラスターの段階的な設定手順を解説しました。

また、より柔軟でアプリ単位の監視、クロスプラットフォーム対応の高可用性基盤を必要とする企業には、Info2softのi2Availabilityが強力な代替策となります。標準搭載のリアルタイムレプリケーション、1秒未満のフェイルオーバー、統合管理画面により、標準WSFCで課題となる複雑な設定、ストレージ依存、プラットフォーム制限を解消します。

概要は準備中です

関連記事

SQL Serverアクティブ・アクティブクラスターの段階的構築手順
SQL Serverアクティブ・アクティブクラスターは事業継続性を確保するための高可用性戦略です。本ガイドでは、SQL Serverアクティブ・アクティブクラスターの段階的な構築手順を解説し、SQL Server向けのより優れたアクティブ・アクティブフェイルオーバーソリューションを紹介します。
記事を読む
VMware HAクラスタの設定方法【手順解説ガイド】
VMware HAクラスタ設定完全ガイド。VMware高可用性HAクラスタの段階的な設定手順、必要条件、ベストプラクティス、代替ソリューションを解説します。
記事を読む
Windows Serverバックアップソフト完全ガイド:2016、2019、2022対応
本記事ではWindows Serverのバックアップが重要な理由を解説し、Windows Server BackupやWbadmin.exeといった標準搭載ツールを比較した上で、高度な自動化に対応したエンタープライズ向けバックアップソリューションであるi2Backupを紹介します。
記事を読む
高可用性と災害復旧:何が違うのか
高可用性と災害復旧を解説:根本的な相違点、主要指標(RTO、RPO、MTTR)、ベストプラクティス。統合ソリューションがレジリエンスを強化し、日常的な障害と大規模災害の両方から防御し、事業継続性を高める仕組みを紹介します。
記事を読む
目次:
最新情報を購読
最新のインサイト、ニュース、限定コンテンツをお届けします。いつでも配信解除が可能です。
購読する
ビジネスデータのセキュリティ強化を始めませんか?
60日間の無料トライアルまたはデモで、Info2softが企業データをどのように保護するかをご確認ください。
フォームにご記入の上、送信してください。担当者より追ってご連絡いたします。
このフォームを送信することにより、 プライバシー通知を読み、同意したことを確認します。
{{ isSubmitting ? '送信中...' : '送信する' }}