久しぶりにクラスタ関連の投稿を。
といっても私はクラスタのエンジニアではないのですが…。
今まで、クラスタの構築は何件か投稿しているのですが、設定項目についてきちんとまとめたことがありませんでした。
いくつか調べたいことがあったので、小出しにクラスタの設定項目を確認していきたいと思います。
[構築ができる = 知っている] と思われることって多々ありますよね。会社の技術レベルによるのでしょうか??
構築は事前に検証して、手順書があれば対応できるパターンが多いとおもいますので、構築だけで終わってしまうと、
その技術を知っていると言えるレベルには達しないですよね…。
このあたりの考え方の違いが今の会社とのスキルレベルに関して埋まらな溝なんだろうな~と最近ひしひしと感じます。
# 最近、自分のスキルレベルについて不安がいっぱいです。
まずは、リソース モニターについて。
リソース モニター関連の設定として
– [このリソースを別のリソース モニターで実行する]
という項目があります。
リソース モニターは各クラスタリソースの制御 / 監視をするためのもので、この設定はリソース単位で設定することができます。
SysInternals の Process Explorer を使用して、クラスタのプロセスの階層を見てみます。
Process Explorer
2003 と 2008 ではプロセス名が違うのですが、[resrcmon.exe] / [rhs.exe] がリソース モニターのプロセスとなります。
[このリソースを別の リソースモニターで実行する] が有効になっているとそのリソース単位でリソースモニターの
プロセスが起動されることになります。
# クラスタのサービスは [clussvc.exe] で制御がされていますので、各リソースモニターの親プロセスが [clussvc.exe] となっています。
各リソース モニターが対象リソースのリソース DLL をロードして、リソースの制御 / 監視が行われるという仕組みのようです。
2008 のプロセスを確認していたところ、リソース DLL をロードしているのが確認できたものがありました。
上の画像だと、[clusres.dll] がリソース DLL となります。
この DLL は標準で用意されているリソースのリソース DLL ですね。
ためしにこのプロセスを強制終了させてみました。
するとイベントビューアにエラーが出力され、一部のリソースがオフライン→自動でオンラインとなりました。
終了させたプロセスで制御されていたリソースだけがオフラインになったようですね。
別のリソースモニターで制御されているリソースには影響は無かったようです。
各リソースで独立したモニターを起動させることで、プロセスのハングアップした際の影響を分散させることができそうですね。
ただし、複数のプロセスが起動する分オーバーヘッドはあるのでしょうが。
後は一つのプロセス モニターではリソース DLL が競合してしまうような場合に設定を変更することもあるのかと。
リソースによっては、別のリソース モニターは使わないことが推奨されている場合もあったはずなので、この辺はリソースに
合わせて柔軟に設定する必要がありそうです。
# 別のリソース モニターを使うことが推奨される場合もあったはずです。