研究報告 vol.7

谷口 義樹 -Yoshiki TANIGUCHI-

yoshiki@mikilab.doshisha.ac.jp

dshについて

研究報告日:2002/07/25

現在の目標

現在の進捗状況

dshとは

dsh(distributed shell, dancer's shell)とは,複数のシステムに同時に同じコマンドを実行させることのできる分散シェルである.

dshのインストール

dshを利用するためには,dshの本体に加えて,libdshconfigというライブラリが必要となる.
dshをcambriaの自分のホームディレクトリ(/home/yoshiki)以下にインストールした.
dshをインストールする際のconfigureオプションは,指定したライブラリやヘッダファイルを参照するために必要.
<<libdshconfig>>
$ tar xvzf libdshconfig-0.0.20.1.tar.gz
$ cd libdshconfig-0.0.20.1
$ ./configure --prefix=/home/yoshiki/local
$ make
$ make install

<<dsh>>
$ tar xvzf dsh-0.0.19.7.tar.gz
$ cd dsh-0.0.19.7
$ CFLAGS="-I/home/yoshiki/local/include" LDFLAGS="-L/home/yoshiki/local/lib" ./configure --prefix=/home/yoshiki/local
$ make
$ make install

dshの利用

dshを利用するために,まずマシンのリストを書いておく.
リストの場所はデフォルトでは,/home/yoshiki/.dsh/machines.list もしくは /home/yoshiki/local/etc/machines.listとなる.
amin-135.cluster
amin-136.cluster
amin-137.cluster


実行は,次のように行う.-a オプションで,マシンリストにある全てのマシンに置いて,<command>が実行される.
$ dsh -a <command>

dshのオプション

-g オプションを用いることによって,/home/yoshiki/local/etc/dsh/group/groupnameを指定して,
そのリストにあるマシンに置いて,コマンドを実行することができる.
$ dsh -g amin <command>
-f オプションを用いることによって,マシンリストのある場所を指定することが可能である.
(先にも書いたように,デフォルトでは,/home/yoshiki/.dsh/machines.list もしくは /home/yoshiki/local/etc/machines.listとなる.)
$ dsh -f /home/yoshiki/dsh_test.list <command>


-c オプションを用いることによって,並列に実行することが可能となる.
-M オプションを用いることによって,どのマシンでコマンドが実行されたかを表示させることが出来る(defaltではon).

-r オプションを用いることによって,リモートシェルを指定できる.
以下の例は,mikilabとdukeにおいて,wコマンドを実行している例である.
$ vi .dsh/machines.list
mikilab.doshisha.ac.jp
duke.doshisha.ac.jp
$ dsh -r ssh -a w
duke.doshisha.ac.jp:  12:02:40 up 10 days,  8:17,  1 user,  load average: 0.93, 0.41, 0.15
duke.doshisha.ac.jp: USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU  WHAT
duke.doshisha.ac.jp: yoshiki  pts/0    xxx.xxx.xxx.xxx     9:14am  2:48m  0.02s  0.02s  -bash 
mikilab.doshisha.ac.jp:  12:02pm  up 23:54, 12 users,  load average: 0.08, 0.03, 0.01
mikilab.doshisha.ac.jp: USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU  WHAT
mikilab.doshisha.ac.jp: yoshiki  pts/0    xxx.xxx.xxx.xxx     9:14am  2:48m  0.02s  0.02s  -bash 
mikilab.doshisha.ac.jp: tanisuke pts/1    xxx.xxx.xxx.xxx    10:54am  1:06m  0.02s  0.02s  -bash 
mikilab.doshisha.ac.jp: undery   pts/2    xxx.xxx.xxx.xxx    10:26am  1:36m  0.00s  0.00s  -bash 
mikilab.doshisha.ac.jp: iwahashi pts/3    xxx.xxx.xxx.xxx    Wed 7pm 16:45m  0.01s  0.01s  -bash 
mikilab.doshisha.ac.jp: tecchan  pts/4    xxx.xxx.xxx.xxx    Wed12pm 23:44m  0.00s  0.00s  -bash 
mikilab.doshisha.ac.jp: kenzo    pts/6    xxx.xxx.xxx.xxx    11:27am 35:21   0.00s  0.00s  -bash 
mikilab.doshisha.ac.jp: dancer   pts/7    xxx.xxx.xxx.xxx    Wed12pm 22:37m  0.01s  0.01s  -bash 
mikilab.doshisha.ac.jp: junjis   pts/8    xxx.xxx.xxx.xxx    Wed 7pm 16:49m  0.00s  0.00s  -bash 
mikilab.doshisha.ac.jp: hisashi  pts/9    xxx.xxx.xxx.xxx    11:37am 25:49   0.01s  0.01s  -bash 
mikilab.doshisha.ac.jp: hisashi  pts/10   xxx.xxx.xxx.xxx    11:37am 25:49   0.00s  0.00s  -bash 
mikilab.doshisha.ac.jp: kenzo    pts/15   xxx.xxx.xxx.xxx    Wed 4pm 19:38m  0.00s  0.00s  -bash

次回までの目標


Yoshiki TANIGUCHI


index
$Id: 07.html,v 1.2 2002/07/23 06:14:28 yoshiki Exp $