企業のITシステムにおいて、高い可用性は常に求められています。しかし物理サーバーはハードウェア障害やメンテナンスによるダウンタイムを避けられません。その対策として、多くの技術者が冗長化やフェールオーバー構成を導入し、サービスの継続性を確保しています。ここでは、Windows Server 2019を用いて2台の物理サーバー間にフェールオーバークラスターを構成するポイントや注意事項について詳しく解説します。
Windows Server 2019でフェールオーバークラスターを構築する意義
Windows Server 2019におけるフェールオーバークラスターは、サーバーの冗長化と可用性向上に大いに寄与します。特に、連続稼働が求められる業務アプリケーションでは、サーバー障害時の切替がスムーズに行われる仕組みが重要です。2台構成であっても、適切なクォーラム設定やウィットネスの導入により可用性を高めることができます。また、Windows Server 2016以降では、必ずしもActive Directoryドメインに参加せずともクラスターを構成できるようになったため、小規模環境や制限のあるネットワーク環境でも導入しやすくなっています。
ワークグループでのフェールオーバー構築が可能な理由
従来のWindows Serverのフェールオーバークラスターは、Active Directoryに依存する構成が一般的でした。しかし、Windows Server 2016以降では、マルチドメインやワークグループでもクラスターを構成できるように機能拡張されています。これにより、ドメインを管理しにくい状況や、試験的に小さな環境で検証を行いたいケースでも、容易に冗長化環境を作れる利点があります。
ワークグループ構成では、以下のポイントに注意が必要です。
- サーバー間の認証手段: 共有フォルダやリモート管理の際に、ワークグループ同士であっても同一のユーザー名とパスワードを設定しておく必要があります。
- ネットワーク名解決: DNSが利用できるならDNSで、利用が難しい場合はHostsファイルを活用して名前解決を行います。
- セキュリティ設定: ワークグループ間の通信では、ドメインコントローラーによるセキュリティポリシー管理がありません。ローカルのグループポリシー設定やファイアウォールの設定に留意して、クラスター関連の通信がブロックされないようにしましょう。
ワークグループクラスター構成のメリットと注意点
- メリット
- Active Directory環境を構築する手間やライセンスコストを抑えられる。
- 小規模・限定的な環境でも冗長化が可能。
- ドメイン運用が難しいケースでも導入できる。
- 注意点
- ユーザーアカウントの一貫性をサーバーごとに確保する必要がある。
- Kerberos認証よりもNTLMなどに頼る部分が増え、セキュリティリスクがやや上昇する。
- 名前解決や信頼関係に関するトラブルシューティングの工数が増える可能性がある。
外部ストレージやハイパーバイザーを使わない構成の実現
多くのフェールオーバークラスターの構成例では、共有ストレージを用意してクラスター共有ボリューム(CSV)を構成したり、ハイパーバイザー上の仮想マシンとして実装したりするケースがあります。しかし、物理サーバー2台だけでクラスタを組成し、かつ外部ストレージに依存しない方法も存在します。
共有ディスクなしのクラスター構成
共有ディスクなしでも、クラスターサービス自体は構成できます。ただし、クラスター上で稼働させるアプリケーションやデータベースが、どのようにデータを共有・同期するかが課題になります。例えば、アプリケーションにレプリケーション機能が備わっている場合、ノード間のデータ同期を取っておけば、共有ストレージなしでもフェールオーバー時に業務継続が可能です。
代表的な例としては、以下のような方法があります。
- DFSレプリケーション: ファイルサーバー機能を利用してフォルダのレプリケーションを構成し、2台のサーバー間でデータを同期する。
- アプリケーション独自のレプリケーション: Microsoft SQL Server Always On可用性グループなど、データベースレベルのレプリケーション機能を活用する。
- サードパーティ製のレプリケーションソフトウェア: 各ノードのローカルディスクをレプリカとして扱い、ブロックレベルで常時同期する。
物理サーバー直結のメリット・デメリット
- メリット
- ストレージ機器にかかるコストを大幅に削減できる。
- シンプルな構成で、機器の管理が容易。
- 外部ストレージの障害リスクを回避できる。
- デメリット
- データ同期の仕組みを別途検討・導入する必要がある。
- 同期遅延があるとデータ整合性に影響を及ぼす場合がある。
- 一部のアプリケーションでは公式にサポートされていない構成となる可能性がある。
クラスタクォーラムとウィットネスの重要性
2台構成のクラスターにおいては、クォーラムの投票権をどう確保するかが運用上の大きなポイントとなります。クォーラムとは、クラスターを構成するノードのうち、どれだけの「投票権」を持つ要素が生き残っているかを判定し、クラスター継続可否を判断する仕組みです。
2台構成ならではのクォーラム課題
ノード数が偶数の場合、1ノード障害でノードが1台だけ生き残ったとしても、その1台がクォーラムを獲得できなければクラスター全体が停止してしまいます。その対策としてウィットネス(Witness)が必要となります。ウィットネスには以下の種類があります。
- ファイル共有ウィットネス: 別のサーバーやNASなどの共有フォルダをウィットネスとして利用する。
- クラウドウィットネス: Azure上のBLOBストレージを利用してウィットネスを設置する。
- ディスクウィットネス: 共有ディスクをウィットネス用に割り当てる。
2ノード構成で外部ストレージを使わない場合は、ファイル共有ウィットネスまたはクラウドウィットネスが現実的です。
ファイル共有ウィットネスの設定例
以下はPowerShellを用いたファイル共有ウィットネスの設定例です。あらかじめ別途用意したファイルサーバー上に「\FileServer\ClusterWitness」という共有フォルダを作成し、必要なアクセス権を設定しておきます。
# フェールオーバークラスター管理モジュールをインポート
Import-Module FailoverClusters
# クォーラムの設定コマンド
Set-ClusterQuorum -Cluster "ClusterName" -FileShareWitness "\\FileServer\ClusterWitness"
実行後、フェールオーバークラスター マネージャーやWindows Admin Centerからクォーラム設定を確認すると、ファイル共有ウィットネスが有効化されていることがわかります。
フェールオーバークラスターの構成手順
ここからは、Windows Server 2019で2台構成のクラスターをワークグループ環境で作る一般的な手順を示します。なお、実運用前には必ずテスト環境で検証を行いましょう。
1. クラスター機能のインストール
- 2台のサーバーが共にWindows Server 2019で動作していることを確認します。
- サーバーマネージャーやPowerShellで「フェールオーバークラスター機能 (Failover Clustering)」をインストールします。
Install-WindowsFeature Failover-Clustering -IncludeManagementTools
- インストール後、サーバーを再起動します。
2. クラスター作成の事前確認
クラスターを作成する前に、「フェールオーバークラスターの検証 (Validate a Configuration)」ウィザードを使用して、ネットワーク設定やストレージ設定、サーバーの状態などを検証できます。2台のサーバーがワークグループ環境の場合は、各サーバーで同一のローカル管理者アカウントを用意し、正しく認証が通るように設定します。
検証ウィザードがエラーを出した場合は、ログを確認し、事前に問題を解消しておくことが重要です。
3. フェールオーバークラスターウィザードを使用してクラスターを作成
- サーバーマネージャーのツールから「フェールオーバークラスター マネージャー」を起動します。
- 右ペインにある「クラスターの作成」をクリックし、ウィザードを開始します。
- 参加させるサーバー名を指定し、クラスターの名前とIPアドレスを入力します。
- 構成が完了すると、管理画面上に新しいクラスターが表示されます。
4. ウィットネス(Quorum)の構成
先述のとおり、2台構成ではウィットネスが不可欠です。ウィザードの中でも設定できますが、後からPowerShellやフェールオーバークラスター マネージャーで変更することも可能です。
例えば、ファイル共有ウィットネスを設定する場合は、以下の手順でGUIから行えます。
- フェールオーバークラスター マネージャーでクラスターを選択し、「アクション」ペインにある「クラスターのクォーラム構成の設定」をクリック。
- 「ウィットネスの設定」画面でファイル共有ウィットネスを選択。
- ウィットネス用の共有パスを指定。
- ウィザードを完了してクォーラム構成を確認する。
5. アプリケーションや役割の追加
クラスターが作成できたら、実際にアプリケーションやサービスの役割を追加します。例えば、「ファイルサーバー」役割を追加したり、別のソフトウェアをクラスター化する設定を行います。
- ファイルサーバー役割の追加
フェールオーバークラスター マネージャーの「役割(役割と機能)を構成する」メニューから「ファイル サーバー」を選択すると、クラスター化されたファイルサーバーとして動作させることができます。 - カスタムアプリケーションの追加
アプリケーションがクラスタ対応している場合は、専用のクラスターリソースエージェントや設定ウィザードが用意されているケースがあります。メーカーのドキュメントを参照し、データの同期方法やフェールオーバー時の挙動を明確にしておきましょう。
アプリケーションのデータ同期例: DFSレプリケーション
| 項目 | 設定内容 |
|---|---|
| レプリケーショングループ名 | MyClusterReplication |
| 同期フォルダー | D:\SharedData |
| レプリケーショントポロジー | フルメッシュ |
| スケジュール | 24時間常時 |
DFSレプリケーションを活用すると、2台のサーバーが同一ワークグループ内であっても、継続的にフォルダーを同期し、障害時にも最新データを保持できるようになります。ただし、ファイルロックの管理や競合の処理などには細心の注意を払う必要があります。
運用管理とトラブルシュートのポイント
フェールオーバークラスターを導入した後は、定期的に稼働状況を監視し、障害シミュレーションなどを行うことで、運用の安定性を高めることが重要です。
1. 定期的なフェールオーバーテスト
障害はいつ発生するかわかりません。計画的なタイミングで片方のサーバーを意図的に停止させ、もう一方のサーバーが正しく役割を引き継げるか確認します。アプリケーションが正しく切り替わるか、データの整合性が保たれているかを検証することが大切です。
2. ログ監視とアラート設定
Windowsイベントログに出力されるクラスター関連のエラーや警告を監視する仕組みを用意しておくと、障害兆候を早期に把握できます。System Centerや他の監視ツールを活用したアラート通知も効果的です。
3. ネットワークの冗長化
クラスターはノード同士の通信が途絶するとサービスに影響が出るため、ネットワークレベルでも冗長化を検討しましょう。可能であれば、2台のサーバーそれぞれに複数のNICを搭載し、LANスイッチが異なるパスを通るように設計します。
4. Windows Updateやパッチ適用時の注意
フェールオーバークラスター構成では、サーバーごとに順番を決めてパッチ適用や再起動を行う必要があります。クラスターサービスを停止せずに適用できるよう、1台ずつロール移行してから再起動する手順を徹底しましょう。
ワークグループクラスターを成功させるためのポイント
ワークグループ環境でのフェールオーバークラスターは柔軟性が高い反面、ドメインコントローラーを利用しない故の課題もあります。成功のカギとなるポイントを整理します。
1. 時刻同期の確立
クラスター動作において、ノード間の時刻が大幅にずれると認証やログ管理に支障が生じます。NTPサーバーを指定するか、相互に時刻同期するなどの対策を行ってください。
2. 同一アカウント/パスワードの管理
ワークグループでは、各ノードに作成したローカルアカウントを使って相互接続します。アカウント情報が一致していないと、クラスターの作成や管理時にアクセス拒否となる可能性があります。定期的にパスワードをローテーションする場合でも、両ノードで同じタイミングで更新することを忘れないようにしましょう。
3. 名前解決のトラブルシュート
クラスター管理において名前解決が不可欠です。DNSサーバーを用意できない場合は、Hostsファイルを編集してノード名とIPアドレスを設定します。Hostsファイルの記述例は次のとおりです。
192.168.1.10 Node1
192.168.1.11 Node2
192.168.1.20 ClusterName
このように設定しておくことで、クラスターウィザードやPowerShellコマンドで名前解決が失敗することを防げます。
ライセンス面の考慮と最終チェック
Windows Server 2019のフェールオーバークラスターを運用するうえで、ライセンスとCAL(クライアント アクセス ライセンス)の要件を満たす必要があります。ワークグループ構成でも同様にライセンスチェックが行われるため、導入前にマイクロソフトのライセンスガイドラインを確認してください。さらに、利用するアプリケーションのライセンス規約にも注意が必要です。
最終チェックリスト
- OSエディションとライセンス: StandardやDatacenterなど、導入する機能に応じたエディションか。
- CALの数: クライアントからのアクセスが多い場合、必要なCALが手当てされているか。
- アプリケーションライセンス: フェールオーバー環境で運用しても問題ないか。
- バックアップ戦略: クラスター構成下でも確実にバックアップを取れる仕組みがあるか。
- 障害対策のドキュメント: トラブル発生時に参照する手順書が整備されているか。
まとめ
Windows Server 2019における2台の物理サーバー間フェールオーバークラスターは、ワークグループ環境でも十分に構築可能です。Active Directoryを導入できない事情がある場合や、小規模からスタートしたい環境では特に役立ちます。また、外部ストレージを使わない構成でも、アプリケーションのレプリケーション機能やデータ同期方法を確立できれば、高い可用性を実現できます。ただし、クォーラムの設定やウィットネスの導入が必須となり、ユーザーアカウントや時刻同期、DNS設定などの管理面に気を配る必要があります。
最終的には、アプリケーション要件と運用ポリシーに合った形で導入・検証をしっかり行い、定期的な障害テストと監視を徹底することで、信頼性の高い冗長化環境を作り上げることが可能です。

コメント