Quitada ブログ HAX

Hatena Blog でも Quitada ブログ

Symphony DE - なんちゃってクラスタ構築

Symphony DE は、実質 EGO のない Symphony です。EGO はりソース割り当て役なんで、少なくともリモートホストに対するタスクスケジューリング機能はあるということになります。したがって、複数ホストで EGO なしなんちゃってクラスタが作れてしまうことになります。

ということで、具体例をあげながら設定方法を書きます。

まず、以下マシン名をもつ 10 台のマシンでなんちゃってクラスタを構築するとします。Windows ですと、ドメインに登録するのが楽ですが、ドメインがない場合は全マシンの hosts ファイル(C:\WINDOWS\system32\drivers\etc\hosts とか)に書いておくとか、DNS サーバをたてるとかいろいろあるとは思います。ともかく、マシン名から IP を正引きできるようにしておきます。

myhost00
myhost01
myhost02
 :
myhost09

で、マスターホスト(いわゆる、ヘッドノードというか、スケジューリングプロセスである SSM が動くホスト)を myhost00 とします。そして、各種サービス(sd、rs、WEBGUI)も、すべて myhost00 で動かすとします。

まず、すべてのホストに、同一バージョンの Symphony DE を同一ディレクトリ(4.0 のデフォルトは、C:\SymphonyDE\DE40)にインストールしておきます。

次に、myhost00 の vem_resource.conf(こちらのエントリで登場)の、各設定行にあるマシン名(デフォルトでは、localhost となっている)を、myhost00 に変更します。こんな感じ。

AGENT:8000:myhost00:20:2:NTX86:1
SD_SDK :15051:myhost00:sd
SD_ADMIN:15050:myhost00:sd
RS_DEPLOY:15052:myhost00:rs
WEBGUI:18080:myhost00:startguiservice

こうすることで、各種サービスが、myhost00 で起動することを明示します。

次に、AGENT 行を以下のようにします。

AGENT:8000:myhost00:20:0:NTX86:1

こうすることで、myhost00 ではサービスインスタンスは機動しないので、マスターホスト専用になります。

# myhost00 をマスターホスト兼、計算ホストにしたい場合はここは 0 にしなくてもよいです。

ちなみに、その前に設定してある 20 という数値は SSM の数です。つまり、このクラスタでは 20 個までアプリケーションをデプロイできるという意味です。

次に、myhost01〜myhost10 の設定を同じく vem_resource.conf に追加します。以下のような感じ。

AGENT:8000:myhost01:0:2:NTX86:1
AGENT:8000:myhost02:0:2:NTX86:1
AGENT:8000:myhost03:0:4:NTX86:1
AGENT:8000:myhost04:0:4:NTX86:1
AGENT:8000:myhost05:0:4:NTX86:1
AGENT:8000:myhost06:0:4:NTX86:1
AGENT:8000:myhost07:0:4:NTX86:1
AGENT:8000:myhost08:0:8:NTX86:1
AGENT:8000:myhost09:0:8:NTX86:1

myhost00 以外は、計算ホスト専用ということで、起動する SSM の数は 0 に設定します。また、サービスインスタンス数は、スペックに応じて設定しましょう。目安としては、マシンの CPU コア数と同じにして重い計算をさせると、CPU リソースを 100% 使い切ることができますね。処理が軽い場合はどんどん増やしてやりましょう。

で、myhost01〜myhost09 の vem_resource.conf を、上記手順で myhost00 で作成したものに置き換えて、各ノードを再起動します。

で、myshot00 あたりで symping やってみてください。タスク数を一万とかにして。どはーと並列処理されるでしょう?ぐふふ。グリッド、グリッド。