SE の雑記

SQL Server の情報をメインに Microsoft 製品の勉強内容を日々投稿

2 台構成の AlwaysOn のクラスター クォーラム構成について

leave a comment

AlwaysOn Availability Groups / Failover Clustering はクラスター環境 (WSFC) が必須となります。
# WSFC の環境を構築するためには AD も必須となります。

AlwaysOn Availability Groups はローカルのディスク上に作成したデータベース、AlwaysOn Failover Clustering は SMB のサポートにより共有フォルダにデータベースを配置できるようになります。

どちらの構成もクラスター環境を共有ディスクを使用しないで構築することが可能となっています。

共有ディスクを使用しないで、クラスターを構築した場合、クラスター クォーラムの構成は [ノードマジョリティ] となります。

この構成だとクラスターを構成する一台で障害が発生すると Availability Groups で可用性を持たせているデータベース / Failover Clustering で可用性を持たせているインスタンスが停止してしまいます。

今回の投稿ではこの設定についてまとめてみたいと思います。

クラスターの概要に関しては以下の技術文章がわかり易いと思います。
Windows Server 2008 フェールオーバー クラスタリングの概要

■2 台構成のノードマジョリティについて

2 台のノードでノードマジョリティを使用した場合ですが、どちらか 1 台のノードが起動していない状態ではクラスターを起動することができません。

ノードマジョリティの場合、[ノード数 / 2 + 1] 台が起動している必要があり、 2 台構成の場合は [2 台 / 2 + 1 = 2 台] のノードが起動している必要があります。
2 台とも起動していないとダメということですね。
image

以下のような 2 台のノードでクラスターを構築しています。

image

この時のクォーラム構成は [ノードマジョリティ] として設定がされます。
# 共有ディスクがない状態でクラスターを組んだ際の初期状態が [ノードマジョリティ] となります。
image

この状態でフェールオーバー クラスター マネージャーからノードを一台停止してみます。
image

そうすると以下のエラーとなり停止することができません。
image

2 台構成のノードマジョリティではどちらかのノードが停止するとクォーラムが失われるとクラスターのサービスを維持することができなくなります。
そのため、管理コンソールからはクラスターのサービスを停止することができないようになっています。

MMC のサービスからは停止することができますのでこちらからクラスターのサービスを停止してみます。
image

今回は[2008R2-SQL11-02] の [Cluster Services] のみ停止したのですが、ノードマジョリティで必要となる 2 台のノード数が確保できないためクラスターを起動しておくことができず、停止をしていない [2008R2-SQL11-01] の [Cluster Services] も停止してしまいます。
# サービスが停止しないこともあるようですが、クラスターとしては機能していない状態となります。
image

クラスターでインストールした SQL Server のインスタンスは Cluster Services が起動していない状態ではインスタンスが停止している状態となりますので、クラスターを構成するノードのどちらか 1 台が停止してしまうと SQL Server が使用できなくなってしまいます。

それでは、Availability Groups はどうなるでしょう。

Availability Groups はサーバーのローカルにインストールしたインスタンス上のデータベース同士を使用して可用性を持たせる環境になります。
そのためクラスターが停止していても SQL Server のサービスは起動した状態となります。
image

ただし、この状態でデータベースを開こうとすると以下のようなエラーが発生します。
image

可用性グループ (Availability Groups) を設定しているデータベースですが、クラスター上に可用性グループ用のクラスターグループが作成され、可用性グループのリスナーとして設定した値が CAP (クライアントアクセスポイント) のリソースとして、可用性グループの管理のための [SQL Server Availability Group] のリソースが作成されます。
image
image

このリソースが起動していない場合、可用性グループに設定しているデータベースにアクセスができなくなります。
image
image

可用性グループを使用している場合、実行しているのはローカルのインスタンスですが、クラスターリソースの起動状態にも気を付ける必要が出てきます。

 

■ノードおよびファイル共有マジョリティを使用する


2 台構成でクラスターを構築する場合は [ノードマジョリティ] ではなく、[ノードおよびファイル共有マジョリティ] を使用することで SQL Server が一台故障してもクラスターを起動した状態にすることが可能です。
image
image

設定の方法はこちらから
共有フォルダに対してクラスターのコンピューターアカウント (コア クラスターリソースのコンピューター名) とクラスターマネージャーを実行しているユーザーが Administraotrs / Power Users のメンバーであれば設定できると思います。
WSFC 構築手順 [設定編] ファイル共有マジョリティの設定

 

この構成の場合は、共有フォルダも票 (Vote) を持つことが可能となりますので、
imageimageimage

といった障害に耐えることができるようになります。

ただし、
image

というような 2 台の障害には耐えられないので注意が必要です。

 

AlwaysOn Failover Clustering はクラスターなので通常の運用と変わりませんが、AlwaysOn Availability Groups もクラスターの稼働状況を考慮する必要が出てきそうですね。

Written by masayuki.ozawa

8月 2nd, 2011 at 9:56 pm

Posted in SQL Server

Tagged with , ,

Leave a Reply

*