こんにちは、かわむらです。 予算があればクラスタをやりたいけど、ありませんので実践はしてません。 私のコメントは参考程度にお考えください。私の勉強も兼ねています。 From: Hajime Tanaka <BYH01337@xxxxxxxxxxx> > 質問のひとつは、たとえばクラスタA, Bで走っていた計算をいずれも中断し、 > クラスタAからノードをひとつ外してクラスタBに接続した場合、DHCPとNISを組 > み合わせることでクラスタを移ったノードに新しくIPアドレスと名前が与えられ > ると考えるのですが、それは正しいでしょうか?また、なにか問題はないでしょ > うか(たとえばノードがひとつ消えることになるクラスタAにトラブルは起きな > いでしょうか)?ということです。 ノードに新しくIPアドレスと名前が振られるのは問題ないでしょう。 問題はクラスタAにトラブルは起きないか?と言うことですが、これは使用する ノード数を動的に認識しないといけないでしょうね。これは2番目の問題につな がるわけですね。 問題を簡単にするために、AからBへ移すと考えるのではなく、 各クラスタのノード数を増減した場合に動的に何が必要かと考えれば 良いと思います。 > ふたつめの質問は、クラスタA, Bそれぞれに一台ずつ並列計算用のホストがあ > るわけですが、いま自分が使っている環境ですと並列計算に携わるノードひとつ > ひとつは、並列計算に用いられる必要十分のノードの名前のリストを必要としま > す。たとえば自分の環境では、ファイル名をlamhostsとしてその中に > > master.porphyrin.gr.jp > slave01.porphyrin.gr.jp > slave02.porphyrin.gr.jp > slave03.porphyrin.gr.jp > ... > > という具合に名前を書くわけですが、こういったファイルをノードを引っ越しす > るたびにクラスタA, Bの各端末において書き換えるのが手間なのです。いまは > NFSを用いることでこのファイルはクラスタA, Bそれぞれにおいて並列計算用の > ホスト各一台ずつで済むようにはなりましたけれど。 lamhostsに書かれているノードは使用可能(起動している)と言うことで良いので しょうか?この中にダウンしているノードがあった場合、どうなるのでしょうか。 私の理解では、クラスタ中にダウンしているノードがあっても問題ないのではと 思っていたのですが、何らかの処理が必要なのでしょうか。 # きっとダメだから上記の質問があるのでしょうけど > 付け足しですが、DHCP, NFS, NIS, MPIといったサービスを一台で兼ねるケー > スに大きな問題はないでしょうか。 ノード数によると思います。DHCPは1台で良いでしょう。 NISは大規模なネットワークには一般的には向きません。でも、今回は応答性は 要求されないので、多少規模が大きくてもチューニングすればなんとかできると は思います。 NFSも接続数が多くなればネットワークの負荷が無視できなくなると思います。 一部のファイルの転送ならばNFSを使わずに、マスタファイルをリモートコピー で行った方がよいでしょう。あぁオートマウント(automount)なら大丈夫かも知 れません。 > 自分では単純にファイルをつくるシェルスクリプトを組んでみるか(と言いま > してもどこから手をつけるべきか悩んでおりますが)、それとも動作しているホ > ストを検出するサービスなどがあるのかなどと想像しておりました。おふたかた > にキーワードをいくつか教えていただきましたので調べてみます。ありがとうご > ざいます。 動作しているホストを検出するには、rwhodが良いと思います。 $ ruptime host1 up 102+01:35, 0 users, load 0.00, 0.01, 0.00 host2 up 49+18:46, 0 users, load 0.68, 0.63, 0.66 host3 up 39+13:27, 0 users, load 0.00, 0.00, 0.00 host4 down 28+00:46 この様に情報が得られるので、up/downを元にlamhostsなどを書き換えれば 良いでしょう。