Windows Server フェールオーバークラスターにクラウド監視を追加する
この記事の内容
- Windows Server フェールオーバークラスター(WSFC)における「クォーラム」の概念と必要性
- 2台構成クラスターでの判断不能問題(スプリットブレイン)の解説
- Azure ストレージアカウントをクラウド監視として利用する方法
- フェールオーバークラスターマネージャーからのクラウド監視設定手順
- クラウド監視を追加することで得られる冗長性の向上
クォーラムとクラウド監視の必要性
Windows Server フェールオーバークラスターでは、クラスターを構成するノードが「自分たちが動いていいかどうか」を判断するための仕組みとして、クォーラム(過半数決) が使われています。
最小構成である2台のサーバーでフェールオーバークラスターを組んだとき、片方のサーバーが停止した場合に問題が発生します。残った1台のサーバーは、次の2つのシナリオを区別できません。
- ネットワークが切断されただけで、相手サーバーはまだ生きている
- 相手サーバーが本当にダウンしている
このような状況では、残ったサーバーが「自分が動作を引き継いでいいのか」を単独で判断することができません。この問題を解決するために、第三者となる監視役が必要になります。
クラウド監視とは
監視役の実装方法には複数の選択肢があります。
- 仮想マシンを監視役として利用する
- ファイルサーバーを監視役として利用する
- Azure のストレージアカウントを監視役として利用する(クラウド監視)
この中で、Azure のストレージアカウントを使う方法が最もシンプルで導入しやすいアプローチです。この仕組みを クラウド監視(Cloud Witness) と呼びます。
ファイルサーバーをクォーラムの監視役として利用する場合、そのファイルサーバー自体が障害に巻き込まれるリスクがあります。クラウド上のリソースを利用することで、オンプレミスの障害とは独立した監視役を確保できるため、非常に効果的です。
設定前の状態を確認する
フェールオーバークラスターマネージャーで確認すると、現在4台のサーバーが存在する構成になっています。
| 項目 | 状態 |
|---|---|
| 割り当てられた投票 | 1, 1, 1, 1(全4台) |
| 現在の投票 | 1, 0, 1, 1(3台が投票権を保有) |
この状態では、有効な投票権を持つノードが3台のため、2台が同時に停止するとクラスターは完全に停止してしまいます。クォーラムには過半数の票が必要であり、3票のうち2票が失われると判断できなくなるためです。
クラウド監視を追加することで、投票要素を「4台のサーバー + ストレージアカウント = 5要素」に増やし、2台のサーバーが停止しても残り3要素が過半数を維持できる構成にします。
Azure ストレージアカウントを作成する
まず、Azure ポータルにアクセスしてストレージアカウントを作成します。
リソースグループの作成
ストレージアカウントを格納するためのリソースグループを作成します。
ストレージアカウントの作成
リソースグループを作成したら、その中にストレージアカウントを作成します。
冗長性はLRS(ローカル冗長ストレージ)が最も低コストですが、クラウド監視の用途としては十分な冗長性を提供します。
ストレージアカウントの作成が完了したら、後の設定で必要になる以下の情報を控えておきます。
- ストレージアカウント名
- アクセスキー(アクセス権の認証情報)
これらの情報は、Azure ポータルのストレージアカウントの「アクセスキー」メニューから確認できます。
フェールオーバークラスターマネージャーでクラウド監視を設定する
クラスタークォーラムの構成ウィザードを起動する
フェールオーバークラスターマネージャーを開き、以下の手順でウィザードを起動します。
- クラスターを右クリック(または「操作」メニュー)
- 「クラスター クォーラムの構成」 を選択
- ウィザードに従って進める
クラウド監視を選択する
クォーラム監視の種別を選択する画面で、「クラウド監視の構成」 を選択します。
ストレージアカウント情報を入力する
クラウド監視の構成画面で、先ほど控えたストレージアカウントの情報を入力します。
入力後、「次へ」をクリックして構成を完了します。
設定後の状態を確認する
クラウド監視の設定が完了すると、フェールオーバークラスターマネージャーの表示が変わります。
| 項目 | 状態 |
|---|---|
| 現在の投票 | 1, 1, 1, 1(全4台が投票権を保有) |
| クラウド監視 | オンライン |
すべてのノードが投票権を持ち、クラウド監視もオンラインになっていることを確認してください。この状態では、投票要素の合計が5つ(4台のサーバー + クラウド監視)となるため、2台のサーバーが停止しても残り3要素で過半数を維持でき、クラスターは正常に動作を継続できます。
まとめ
Azure のストレージアカウントをクラウド監視として活用することで、Windows Server フェールオーバークラスターのクォーラム構成を簡単に強化できます。
設定の流れは次の通りです。
- Azure ポータルでリソースグループとストレージアカウントを作成する
- ストレージアカウント名とアクセスキーを控える
- フェールオーバークラスターマネージャーの「クラスター クォーラムの構成」からクラウド監視を選択する
- ストレージアカウント名とアクセスキーを入力して完了する
オンプレミス上のファイルサーバーとは異なり、クラウド上のストレージを監視役とすることで、オンプレミス障害とは独立した信頼性の高い仲裁機能を低コストで実現できます。フェールオーバークラスターの信頼性向上を検討している方は、ぜひクラウド監視の導入を試してみてください。