Denali CTP3 の AlwaysOn Availability Groups ですが事前に適用をしておく必要のあるパッチ (HotFix) がありますのでその紹介を。
個別リクエストの修正プログラムなので Windows Update では適用されないはずです。
また、AlwaysOn Availability Groups を使用する場合に必要になるものなのでインストール時の前提チェックでは確認がされませんので注意が必要です。
# ちなみに私はインストールするのすっかり忘れていて検証していました…。
■適用するパッチの情報
事前に適用する必要のあるパッチは以下の 2 種類になります。
Hotfix to add support for asymmetric storages to the Failover Cluster Management MMC snap-in for a failover cluster that is running Windows Server 2008 or Windows Server 2008 R2
KB976097 は Vista / 2008 用のものになります。2008 R2 の場合は個別モジュールは提供されておらず SP1 を適用する必要があるようです。
A hotfix is available to let you configure a cluster node that does not have quorum votes in Windows Server 2008 and in Windows Server 2008 R2
KB2494036 をインストールすることでクラスターのノードに NodeWeight というプロパティが使用可能になります。
インストールすることで NodeWeight プロパティが設定できるようになります。
今回は 3 ノードクラスターでクォーラム構成を [ノード マジョリティ] として設定しています。
ノード マジョリティの場合、2 台のノードが起動していないとクラスターを形成することができません。
以下は、Exchange 2010 の高可用性編のステップバイステップガイドに記載されているノードと許容される障害数の表になります。
ノード数 |
クォーラム構成 |
許容される障害数 |
2 |
ノードおよびファイル共有マジョリティ |
1 |
3 |
ノード マジョリティ |
1 |
4 |
ノードおよびファイル共有マジョリティ |
2 |
5 |
ノード マジョリティ |
2 |
6 |
ノードおよびファイル共有マジョリティ |
3 |
7 |
ノード マジョリティ |
3 |
フェールオーバークラスターマネージャーからクラスターのノードを停止することができるのですが、ノードマジョリティで3 ノード構成の場合は 2 台のノードを停止しようとすると以下のようなエラーとなります。
# 許容される障害数は 1 なので 1 台は停止できます。
KB2494036 をインストールすることで設定ができる NodeWeight を調整することでノードマジョリティ 3 ノード構成で使用している状態でも 2 台まで停止できるようになります。
この辺は別の投稿でまとめようと思っているのですが、
cluster node %computername% /prop NodeWeight=0 |
を 2 つのノードで設定することで、特定のノードのみを Vote (票) の対象とすることができるようになり、過半数以上が起動していなくてもクラスターを形成できるようにすることができます。
ノードマジョリティの場合は、すべてのノードの NodeWeight=0 にすることができないので、今回は以下のように設定をしています。
ノード名 | NodeWeight |
WIN-DT6FAVTQO3L | 0 |
WIN-EMRGS5VITLT | 1 |
WIN-RRRE0S7ECLJ | 0 |
この設定の場合 [WIN-EMRGS5VITLT] が起動していればクラスターを形成することが可能です。
AlwaysOn Availability Groups を使用する際はどのサーバーが生きていればクラスターを形成できるかは重要になってきますので詳細は別でまとめたいと思います。
これらのパッチ適用に関しては、
Prerequisites, Restrictions, and Recommendations for AlwaysOn Availability Groups (SQL Server)
に記載がされています。
また、
[DBI404] Microsoft SQL Server Code-Named "Denali" AlwaysOn Series,Part 2: Building a Mission-Critical High Availability Solution Using AlwaysOn
にも記載がされています。
AlwaysOn Availability Groups の前提条件のパッチを確認するまで、クラスターに NodeWeight プロパティが設定できるのを知らなかったのでかなり勉強になりました。
# NodeWeight に関しては このような資料 があるようです。かなりスライドのインパクト強いですね(笑)