ewhod について

サブネットの中にたくさんのマシンがあって, それらのマシンが今どのぐらい使われているかを調べるにはどうするだろう。 たくさんあるマシン全部に rlogin して, uptime とか who を実行する, つーのは, あまりにもめんどくさい。てなわけで, 存在するのが rwhod などのデーモンであり, ruptime や rwho コマンドなわけである。 rup というコマンドもあるが, こいつはセキュリティ上あんまりお勧めできないらしいので, とりあえず無視しよう (いいのか?)。

さてこの rwhod であるが, こいつはブロードキャストを使い, 自分のマシンの状況を回りのマシンに一定時間毎に連絡する。 そして同時に, 他のマシンからのブロードキャストを受けて, 他のマシンがどのような状況にあるかを調べて, ファイルに記憶する。でもって, このファイルを見て他のマシンの状況を調べるコマンドが ruptime や rwho である。

このデーモン, サブネットがそれなりに小さい場合は良いのだが, そうでないと一気に破綻する。というのは, サブネット内にたくさんのマシンがあると, マシン間の通信が一気に増えてネットワーク負荷が高くなるからである。 サブネット分割で通信量を減らすことは可能だが, ブロードキャストはサブネットを越えられないので, サブネットを越えたところにあるマシンの情報を調べることができない。

てなわけで考えられたのが ewhod である。こいつは, ewhod サーバを立ち上げ, そいつでマシン情報を集中管理する。つまり, 各マシンはブロードキャストではなく, サーバだけに負荷の情報を連絡する。 そして, サーバが負荷情報を記録したファイルを作り, そのファイルを NFS で共有することによって, たくさんのマシンでマシン情報を共有するようにしている。 ブロードキャストを使わないのでサブネットを越えても大丈夫である。

この方法の欠点は ewhod のサーバが落ちたらすべての情報がわからなくなることと, NFS のセキュリティに気を使わないといけないことなどであろうか。



ewhod on linux に戻る