SE の雑記

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

Archive for 12月 24th, 2009

クラスタの設定 – リソース モニターについて –

leave a comment

久しぶりにクラスタ関連の投稿を。
といっても私はクラスタのエンジニアではないのですが…。

今まで、クラスタの構築は何件か投稿しているのですが、設定項目についてきちんとまとめたことがありませんでした。
いくつか調べたいことがあったので、小出しにクラスタの設定項目を確認していきたいと思います。

[構築ができる = 知っている] と思われることって多々ありますよね。会社の技術レベルによるのでしょうか??
構築は事前に検証して、手順書があれば対応できるパターンが多いとおもいますので、構築だけで終わってしまうと、
その技術を知っていると言えるレベルには達しないですよね…。
このあたりの考え方の違いが今の会社とのスキルレベルに関して埋まらな溝なんだろうな~と最近ひしひしと感じます。
# 最近、自分のスキルレベルについて不安がいっぱいです。

まずは、リソース モニターについて。

リソース モニター関連の設定として
– [このリソースを別のリソース モニターで実行する]
という項目があります。

– Windows Server 2003 R2 –
image

– Windows Server 2008 R2 –
image?

リソース モニターは各クラスタリソースの制御 / 監視をするためのもので、この設定はリソース単位で設定することができます。
SysInternals の Process Explorer を使用して、クラスタのプロセスの階層を見てみます。
Process Explorer

– Windows Server 2003 R2 –
image

– Windows Server 2008 R2 –
image

2003 と 2008 ではプロセス名が違うのですが、[resrcmon.exe] / [rhs.exe] がリソース モニターのプロセスとなります。
[このリソースを別の リソースモニターで実行する] が有効になっているとそのリソース単位でリソースモニターの
プロセスが起動されることになります。
# クラスタのサービスは [clussvc.exe] で制御がされていますので、各リソースモニターの親プロセスが [clussvc.exe] となっています。

各リソース モニターが対象リソースのリソース DLL をロードして、リソースの制御 / 監視が行われるという仕組みのようです。
2008 のプロセスを確認していたところ、リソース DLL をロードしているのが確認できたものがありました。
image

上の画像だと、[clusres.dll] がリソース DLL となります。
この DLL は標準で用意されているリソースのリソース DLL ですね。

ためしにこのプロセスを強制終了させてみました。
するとイベントビューアにエラーが出力され、一部のリソースがオフライン→自動でオンラインとなりました。
image

終了させたプロセスで制御されていたリソースだけがオフラインになったようですね。
別のリソースモニターで制御されているリソースには影響は無かったようです。

各リソースで独立したモニターを起動させることで、プロセスのハングアップした際の影響を分散させることができそうですね。
ただし、複数のプロセスが起動する分オーバーヘッドはあるのでしょうが。
後は一つのプロセス モニターではリソース DLL が競合してしまうような場合に設定を変更することもあるのかと。

リソースによっては、別のリソース モニターは使わないことが推奨されている場合もあったはずなので、この辺はリソースに
合わせて柔軟に設定する必要がありそうです。
# 別のリソース モニターを使うことが推奨される場合もあったはずです。

Written by Masayuki.Ozawa

12月 24th, 2009 at 11:29 pm

Posted in MSCS/WSFC(MSFC)