SE の雑記

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

Windows Server 2012 R2 の Dynamic Witness を 2012 と比較しながら確認してみる

leave a comment

Windows Server 2012 R2 では WSFC (Windows Server Failover Clustering) の機能が強化されています。
What’s New in Failover Clustering in Windows Server 2012 R2

この追加された機能の中に Dynamic witness というものがあります。

MCTの憂鬱 さんの 動的なクォーラム監視に関してWindows Server 2012 R2 Preview & System Center 2012 R2 Preview 評価ガイドWSFC’s Dynamic Witness in Windows Server 2012 R2 で解説がされていますが、自分のメモとして少しまとめてみたいと思います。

WSFC のクォーラムの投票数ですが、基本的には奇数になるようにクォーラムモデルを調整することになるかと思います。
SQL Server の場合は Windows Server フェールオーバー クラスタリング (WSFC) と SQL Server に以下のように記載されています。
# Exchange の DAG でも似たような考えになると思いますが。

WSFC クラスターのクォーラム投票の数は、常に奇数にすることをお勧めします。  クォーラム投票のために、SQL Server をクラスター内のすべてのノードにインストールする必要はありません。 追加サーバーはクォーラム メンバーとして機能できます。また、リモート ファイル共有を決定機構として使用するように WSFC クォーラム モデルを構成することもできます。

詳細については、「WSFC クォーラム モードと投票の構成 (SQL Server)」を参照してください。

Windows Server 2012 では クォーラム構成と動的なクォーラム (Dynamic Quorum) という機能が追加され、現在起動しているノードの状態に応じて投票数が動的に調整される機能が追加されました。
image

以下のようなコマンドで動的なクォーラムの状態が確認できます。

Get-ClusterNode | ft name,state,dynamicweight,nodeweight -AutoSize

すべてのノードが起動している状態ですと DynamicWeight の状態は以下のようになります。
image
ノードが停止されると DynamicWeight の状態が調整され、停止されているノードの投票数はなくなります。
# 動的なクォーラムを使用している場合には DynamicWeight とクォーラム監視の投票数で WSFC の必要投票数を満たすかを考慮していきます。
image

なお、動的なクォーラムが使われていない状態では以下のようになり Dynamic Weight の状態は動的には更新されません。
image

Windows Server 2012 の動的なクォーラムでは WSFC 内の各ノード内で投票数を調整していたため、クォーラム監視の投票に関しては常に 1 (監視の投票としては常に有効) が設定されている状態になっているかと思います。

Windows Server 2012 R2 の動的なクォーラム監視ではこの部分についても現在のノードの軌道状況によって動的に調整をしてくれます。

また、ノードの投票数の状態がフェールオーバークラスターマネージャーから見れるようになっています。
上が 2012 R2 のもので下が 2012 の内容になります。
image
image

なお、Windows Server 2012 R2 では Windows Server 2012 で追加された動的なノードの調整については GUI の設定はなくなったようです。
GUI の設定がなくなっただけで、[(Get-Cluster).DynamicQuorum = 0] を PowerShell から実行すれば設定は変更できるようですが。
以下の画像は DynamicQuorum = 0 を設定している状態のため、[現在の投票] がノードが停止していても 1 のままとなっています。

image

 

Dynamic Witness が追加されたことにより、Windows Server 2012 R2 の WSFC ではノード数にかかわらず、クォーラム監視を設定することがベストプラクティスとしてアドバイスされるようになりました。

image

2012 までは、推奨構成としてヒントは表示されていたのですが、警告とはなりませんでした。
imageimage

設定は行っておき、クォーラム監視を投票数として入れるか入れないかは Dynamic Witness の機能を使用して WSFC に管理をさせるのが推奨設定となっているようです。

今回は 4 ノード + ファイル共有監視を使用しているため、全体の投票数としては 5 票 (奇数) 持っていることになります。
以下のコマンドを実行して、設定の状態を確認していっます。

Get-Cluster | ft Name,DynamicQuorum,WitnessDynamicWeight -AutoSize; Get-ClusterNode | ft name,st
ate,dynamicweight,nodeweight -AutoSize

image

票数を 5 票にするため WitnessDynamicWeight が 1 (クォーラム監視が票を持っている) 状態となっています。
この状態で 1 台ノードを停止してみます。

起動しているノードが 3 台 + ファイル共有監視で全体では 4 票となりますが奇数票とするために WitnessDynamicWeight が 0 となり、全体で 3 票となるように動的に調整が行われています。
image

もう 1 台停止した場合には投票数を 3 票とするために WitnessDynamicWeight が 1 になります。
image

WitnessDynamicWeight に関しては読み取り専用プロパティとなっているため、この設定を手動で変更するということができなさそうですね。

2008 R2 のパッチ適用後のノードの重みづけ (NodeWeight) の手動調整以降、クラスターのノード数の調整は従来と考え方が変わってきた箇所があるので、最新の情報をキャッチアップしていかないといけないですね。

Share

Written by Masayuki.Ozawa

7月 28th, 2013 at 12:58 pm

Leave a Reply