トップ 新規 編集 差分 一覧 Farm ソース 検索 ヘルプ PDF RSS ログイン

Globus Toolkitのインストール

[グリッド]

Globus Toolkit(GT)を使えるようにするまでの手順をまとめるページ。


基本的な流れ

GTは以下のような流れでセットアップを行う。

  1. 必須ソフトのインストール
  2. Globus管理ユーザと利用ユーザの設定
  3. Globusビルド&インストール
  4. 認証作業
  5. GTの各モジュールの設定

Ubuntu 8.04 LTS Server に GT4.2.1 をインストール

1台目と2台目以降のマシンで手順が異なるので注意。1台目のマシンはそのまま認証サーバとなり、2台目以降のマシンの認証作業は1台目を使って行う。

以降の解説は、次のような環境を想定する。

  • 全マシン共通
    • GTのバージョン: 4.2.1
    • プラットフォーム: Ubuntu 8.04 LTS Server
    • ドメイン: yuba.is.uec.ac.jp
    • GT管理ユーザ: globus
    • GT利用ユーザ: gtuser
    • GTインストール先: /opt/globus
  • 1台目のマシン
    • 名前: ca
    • IP: 192.168.208.118
  • 2台目のマシン
    • 名前: pe
    • IP: 192.168.208.112

1台目: OSの設定

  • rootでのログインを可能にする。
$ sudo passwd
(rootパスワード入力)
  • ネットワークの設定
    • DHCPでなく、固定IPを割り振る
    • OSインストール時に設定しているなら必要ない
root@ca:~# cp /etc/network/interfaces /tmp/interfaces
root@ca:~# vi /etc/network/interfaces
root@ca:~# diff /tmp/interfaces /etc/network/interfaces
10c10,18
< iface eth0 inet dhcp
---
> iface eth0 inet static
> 	address 192.168.208.118
> 	netmask 255.255.255.0
> 	network 192.168.208.0
> 	broadcast 192.168.208.255
> 	gateway 192.168.208.129
> 	# dns-* options are implemented by the resolvconf package, if installed
> 	dns-nameservers 192.168.208.51
> 	dns-search yuba.is.uec.ac.jp
root@ca:~# vi /etc/resolv.conf
root@ca:~# cat /etc/resolv.conf
search yuba.is.uec.ac.jp
nameserver 192.168.208.51
root@ca:~# cp /etc/hosts /tmp/hosts
root@ca:~# vi /etc/hosts
root@ca:~# diff /tmp/hosts /etc/hosts
2c2
< 127.0.1.1	ca.localdomain	ca
---
> 192.168.208.118	ca.yuba.is.uec.ac.jp	ca
  • 時刻あわせ
root@ca:~# ntpdate whitebase.hpc.is.uec.ac.jp
root@ca:~# crontab -e
root@ca:~# crontab -l
0 * * * * ntpdate whitebase.hpc.is.uec.ac.jp

1台目: 必須ソフトのインストール

ソフトウェアのインストール

root@ca:~# apt-get install gcc g++ make zlib*                                 # コンパイラ等
root@ca:~# apt-get install openssl libssl-dev ssh openssh-server              # SSH等
root@ca:~# apt-get install sun-java6-jdk ant ant-optional                     # Java等
root@ca:~# apt-get install postgresql odbc-postgresql libiodbc2 libiodbc2-dev # DBMS等
root@ca:~# apt-get install xinetd sysv-rc-conf                                # サービス関係

Javaの設定

root@ca:~# # -------------- 使用するJavaの変更 -------------
root@ca:~# /usr/sbin/update-alternatives --config java
There are 2 alternatives which provide `java'.

  Selection    Alternative
-----------------------------------------------
          1    /usr/lib/jvm/java-6-sun/jre/bin/java
*+        2    /etc/alternatives/kaffe-system/bin/java

Press enter to keep the default[*], or type selection number: 1
Using '/usr/lib/jvm/java-6-sun/jre/bin/java' to provide 'java'.
root@ca:~# # ----------- 環境変数の設定 ------------
root@ca:~# vi /etc/profile.d/java-env.sh
root@ca:~# cat /etc/profile.d/java-env.sh
JAVA_HOME=/usr/lib/jvm/java-6-sun
ANT_HOME=/usr/share/ant
PATH=$JAVA_HOME/bin:$ANT_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/tools.jar
export JAVA_HOME ANT_HOME CLASSPATH PATH
root@ca:~$ source /etc/profile.d/java-env.sh

1台目: ユーザの設定

root@ca:~# useradd -c "Globus Administrator" -d /home/globus -m -s $BASH globus
root@ca:~# passwd globus
(globusのログインパスワード)
root@ca:~# useradd -c "Globus User" -d /home/gtuser -m -s $BASH gtuser
root@ca:~# passwd gtuser
(gtuserのログインパスワード)

globus, gtuser両方でログインしてみる。Java環境変数が設定されているか確認する

globus@ca:~$ echo $CLASSPATH $PATH
.:/usr/lib/jvm/java-6-sun/lib/tools.jar /usr/lib/jvm/java-6-sun/bin:/usr/share/ant/bin:/usr/local/bin:/usr/bin:/bin:/usr/games
gtuser@ca:~$ echo $CLASSPATH $PATH
.:/usr/lib/jvm/java-6-sun/lib/tools.jar /usr/lib/jvm/java-6-sun/bin:/usr/share/ant/bin:/usr/local/bin:/usr/bin:/bin:/usr/games

# 仮想OSならここで一旦スナップショットを撮った方が良い

1台目: GTインストール

ディレクトリ作成

root@ca:~# mkdir /opt/globus
root@ca:~# chown globus:globus /opt/globus

GTのDL。以下のどちらかから確保する。ここでは共用Docから。

root@ca:~# apt-get install portmap nfs-common
root@ca:~# mkdir /opt/whitebase-doc
root@ca:~# mount -t nfs whitebase:/mnt/iscsi/doc /opt/whitebase-doc/

GTの展開、ここからglobus

root@ca:~# su - globus
globus@ca:~$ tar xvfj /opt/whitebase-doc/Application/Grid/gt4.2.1-all-source-installer.tar.bz2

GTインストール

globus@ca:~$ export GLOBUS_LOCATION=/opt/globus
globus@ca:~$ cd gt4.2.1-all-source-installer
globus@ca:~/gt4.2.1-all-source-installer$ ./configure --prefix=$GLOBUS_LOCATION
globus@ca:~/gt4.2.1-all-source-installer$ make 2>&1 | tee ~/gt-make.log         # 時間かかる
globus@ca:~/gt4.2.1-all-source-installer$ make install 2>&1 | tee ~/gt-install.log  # 時間かかる

GT用環境変数の設定、ここからroot

globus@ca:~$ logout
root@pe:~# vi /etc/profile.d/globus-env.sh
root@pe:~# cat /etc/profile.d/globus-env.sh
GLOBUS_LOCATION=/opt/globus
export GLOBUS_LOCATION
. $GLOBUS_LOCATION/etc/globus-user-env.sh
root@ca:~# source /etc/profile.d/globus-env.sh

他のユーザで環境変数が設定されるかどうか確認

root@ca:~# su - globus
globus@ca:~$ echo $GLOBUS_LOCATION $GLOBUS_PATH
/opt/globus /opt/globus

# ここでもスナップショット推奨

1台目:認証関連の設定

rootで行う

root@ca:~# # --------- simpleCAの作成 ---------------
root@ca:~# cd /home/globus/gt4.2.1-all-source-installer
root@ca:gt4.2.1-all-source-installer# perl gt-server-ca.pl -y
...
Please enter a password of at least four characters for the CA: (CA用パスワード入力)
...
root@ca:~# # --------- ホスト認証,コンテナ認証 ----------
root@ca:~# mkdir /etc/grid-security
root@ca:~# cd /etc/grid-security
root@ca:/etc/grid-security# mv $GLOBUS_LOCATION/etc/host*.pem .
root@ca:/etc/grid-security# cp hostcert.pem containercert.pem
root@ca:/etc/grid-security# cp hostkey.pem containerkey.pem
root@ca:/etc/grid-security# chown globus:globus container*
root@ca:/etc/grid-security# ls -l *.pem          # 所有者とアクセス権を確認
-rw-r--r--  1 globus globus 2724 2008-06-16 14:26 containercert.pem
-r--------  1 globus globus  887 2008-06-16 14:26 containerkey.pem
-rw-r--r--  1 root root     2724 2008-06-16 14:26 hostcert.pem
-rw-r--r--  1 root root     1404 2008-06-16 14:26 hostcert_request.pem
-r--------  1 root root      887 2008-06-16 14:26 hostkey.pem
root@ca:/etc/grid-security# ln -s $GLOBUS_LOCATION/share/certificates certificates           # gatekeeper用にリンクを作成

続いてMyProxyのセットアップを行う

MyProxy インストール

root@ca:~# cp $GLOBUS_LOCATION/share/myproxy/myproxy-server.config /etc
root@ca:~# vim /etc/myproxy-server.config   # "default_key_retrievers"まで非コメント化
root@ca:~# diff $GLOBUS_LOCATION/share/myproxy/myproxy-server.config /etc/myproxy-server.config
17,23c17,23
< #accepted_credentials  "*"
< #authorized_retrievers "*"
< #default_retrievers    "*"
< #authorized_renewers   "*"
< #default_renewers      "none"
< #authorized_key_retrievers "*"
< #default_key_retrievers "none"
---
> accepted_credentials  "*"
> authorized_retrievers "*"
> default_retrievers    "*"
> authorized_renewers   "*"
> default_renewers      "none"
> authorized_key_retrievers "*"
> default_key_retrievers "none"
root@ca:~# cat $GLOBUS_LOCATION/share/myproxy/etc.services.modifications >> /etc/services
root@ca:~# tail /etc/services 
binkp           24554/tcp                       # binkp fidonet protocol
asp             27374/tcp                       # Address Search Protocol
asp             27374/udp
dircproxy       57000/tcp                       # Detachable IRC Proxy
tfido           60177/tcp                       # fidonet EMSI over telnet
fido            60179/tcp                       # fidonet EMSI over TCP
# Local services
myproxy-server  7512/tcp                        # Myproxy server
root@ca:~# cp $GLOBUS_LOCATION/share/myproxy/etc.xinetd.myproxy /etc/xinetd.d/myproxy
root@ca:~# vim /etc/xinetd.d/myproxy   # 書き間違え注意
root@ca:~# cat /etc/xinetd.d/myproxy
service myproxy-server
{
socket_type = stream
protocol    = tcp
wait        = no
user        = root
server	     = /opt/globus/sbin/myproxy-server
env         += GLOBUS_LOCATION=/opt/globus
env         += LD_LIBRARY_PATH=/opt/globus/lib
disable     = no
}
root@ca:~# /etc/init.d/xinetd reload
root@ca:~# netstat -an | grep 7512   # 以下のような表示になればOK
tcp        0      0 0.0.0.0:7512            0.0.0.0:*               LISTEN

GT利用者をMyProxyに登録

root@ca:~# myproxy-admin-adduser -c "globus user" -l gtuser
...
Enter PEM pass phrase: (gtuserのパスワード)
Verifying - Enter PEM pass phrase: (gtuserのパスワード)
...
please enter the password for the CA key: (前に設定したCA用のパスワード)
...
Credential stored successfully

ユーザ認証

root@ca:~# vim /etc/grid-security/grid-mapfile        # 書き間違え注意
root@ca:~# cat /etc/grid-security/grid-mapfile
"/O=Grid/OU=GlobusTest/OU=simpleCA-ca.yuba.is.uec.ac.jp/OU=yuba.is.uec.ac.jp/CN=globus user" gtuser

ユーザ認証の確認

root@ca:~# su - gtuser
gtuser@ca:~$ myproxy-logon -s ca # 以下のようになればOK
Enter MyProxy pass phrase: (gtuserのパスワード)
A credential has been received for user gtuser in /tmp/x509up_u1002.

# ここでスナップショット推奨

1台目: 各モジュールのセットアップ

Gatekeeperのセットアップ

root@ca:~# vim /etc/xinetd.d/gatekeeper # 書き間違え注意
root@ca:~# cat /etc/xinetd.d/gatekeeper
service gatekeeper
{
socket_type             = stream
wait                    = no
user                    = root
env                     += GLOBUS_LOCATION=/opt/globus
env                     += LD_LIBRARY_PATH=/opt/globus/lib
server                  = /opt/globus/sbin/globus-gatekeeper
server_args             = -conf /opt/globus/etc/globus-gatekeeper.conf
disable                 = no
}
root@ca:~# vim /etc/services       # 末尾にgatekeeperの行を追加
root@ca:~# tail /etc/services
vboxd           20012/udp
binkp           24554/tcp                       # binkp fidonet protocol
asp             27374/tcp                       # Address Search Protocol
asp             27374/udp
dircproxy       57000/tcp                       # Detachable IRC Proxy
tfido           60177/tcp                       # fidonet EMSI over telnet
fido            60179/tcp                       # fidonet EMSI over TCP

# Local services
myproxy-server  7512/tcp                        # Myproxy server
gatekeeper      2119/tcp                        # Globus Gatekeeper
root@ca:~# /etc/init.d/xinetd reload
Reloading internet superserver configuration: xinetd.
root@ca:~# netstat -an | grep 2119
tcp        0      0 0.0.0.0:2119            0.0.0.0:*               LISTEN

GridFTPのセットアップ

root@ca:~# vim /etc/xinetd.d/gridftp # 書き間違え注意
root@ca:~# cat /etc/xinetd.d/gridftp
service gsiftp
{
instances               = 100
socket_type             = stream
wait                    = no
user                    = root
env                     += GLOBUS_LOCATION=/opt/globus
env                     += LD_LIBRARY_PATH=/opt/globus/lib
server                  = /opt/globus/sbin/globus-gridftp-server
server_args             = -i
log_on_success          += DURATION
disable                 = no
}
root@ca:~# vim /etc/services       # 末尾にgsiftpの行を追加
root@ca:~# tail /etc/services
vboxd           20012/udp
binkp           24554/tcp                       # binkp fidonet protocol
asp             27374/tcp                       # Address Search Protocol
asp             27374/udp
dircproxy       57000/tcp                       # Detachable IRC Proxy
tfido           60177/tcp                       # fidonet EMSI over telnet
fido            60179/tcp                       # fidonet EMSI over TCP

# Local services
myproxy-server  7512/tcp                        # Myproxy server
gatekeeper      2119/tcp                        # Globus Gatekeeper
gsiftp          2811/tcp                        # GridFTP
root@ca:~# /etc/init.d/xinetd reload
Reloading internet superserver configuration: xinetd.
root@ca:~# netstat -an | grep 2811
tcp        0      0 0.0.0.0:2811            0.0.0.0:*               LISTEN

GridFTPの動作確認。ここからgtuser

root@ca:~# su - gtuser
gtuser@ca:~$ myproxy-logon -s ca
Enter MyProxy pass phrase: (gtuserのパスワード)
gtuser@ca:~$ globus-url-copy gsiftp://ca.yuba.is.uec.ac.jp/etc/group file:///tmp/group
gtuser@ca:~$ diff /tmp/group /etc/group         # 何も表示されなければOK

Web Serviceコンテナのセットアップ。ここからroot

gtuser@ca:~$ logout
root@ca:~# vim /etc/init.d/gt4container       # 書き間違え注意
root@ca:~# cat /etc/init.d/gt4container
ACCOUNT=globus
GLOBUS_LOCATION=/opt/globus
INIT=$GLOBUS_LOCATION/etc/init.d/globus-ws-java-container
su $ACCOUNT -c "$INIT $*"
root@ca:~# chmod +x /etc/init.d/gt4container
root@ca:~# sysv-rc-conf gt4container on
root@ca:~# /etc/init.d/gt4container start     # 以下のようにエラー表示がなければOK
Starting Globus container. PID: 29985

Web Serviceコンテナの動作確認。ここからgtuser

root@ca:~# su - gtuser
gtuser@ca:~$ myproxy-logon -s ca
gtuser@ca:~$ globus-check-remote-environment -s https://localhost:8443

### Remote Endpoint Version Information ###
Axis Version on remote endpoint https://localhost:8443:
Apache Axis version: 1.4
Built on Mar 01, 2007 (10:42:15 CST)

Java WS Core Version on remote endpoint https://localhost:8443:
4.2.1

RFTの動作確認

gtuser@ca:~$ vim transfer
gtuser@ca:~$ cat transfer
gsiftp://ca.yuba.is.uec.ac.jp/etc/passwd gsiftp://ca.yuba.is.uec.ac.jp/tmp/passwd
gtuser@ca:~$ globus-crft -ez -f transfer
gtuser@ca:~$ diff /etc/passwd /tmp/passwd    # 何も表示されなければOK

GRAMのセットアップ。ここからroot

gtuser@ca:~$ logout
root@ca:~# visudo              # 書き間違え注意。末尾に以下を追加。全部で2行。
root@ca:~# tail /etc/sudoers
globus ALL=(gtuser) NOPASSWD: /opt/globus/libexec/globus-gridmap-and-execute -g /etc/grid-security/grid-mapfile /opt/globus/libexec/globus-job-manager-script.pl *
globus ALL=(gtuser) NOPASSWD: /opt/globus/libexec/globus-gridmap-and-execute -g /etc/grid-security/grid-mapfile /opt/globus/libexec/globus-gram-local-proxy-tool *

GRAMの動作確認。ここからgtuser

root@ca:~$ su - gtuser
gtuser@ca:~$ myproxy-logon -s ca
Enter MyProxy pass phrase: (gtuserのパスワード)
gtuser@ca:~$ globus-job-run ca.yuba.is.uec.ac.jp /bin/date   # 日付が表示されればOK
Mon Feb  9 22:40:22 JST 2009

さらにGRAM4の動作確認

gtuser@ca:~$ myproxy-logon -s ca
Enter MyProxy pass phrase: (gtuserのパスワード)
gtuser@ca:~$ globusrun-ws -submit -c /bin/true     # エラーがないかどうか確認(ErrorCode 201ならvisudoの書き方がおかしい)
Submitting job...Done.
Job ID: uuid:a4b5e324-3bec-11dd-95ac-003048241085
Termination time: 06/16/3008 21:39 GMT
Current job state: Active
Current job state: CleanUp
Current job state: Done
Destroying job...Done.
gtuser@ca:~$ echo $?      # 0と表示されるはず
0
gtuser@ca:~$ globusrun-ws -submit -c /bin/false
Submitting job...Done.
Job ID: uuid:b49462c0-3bec-11dd-9441-003048241085
Termination time: 06/16/3008 21:39 GMT
Current job state: Active
Current job state: CleanUp
Current job state: Done
Destroying job...Done.
gtuser@ca:~$ echo $?      # 1と表示されるはず
1

以上で1台目のマシンはセットアップ完了。スナップショット推奨

2台目: OSの設定〜GTインストール

1台目と同様に

  1. OSの設定
    1. rootでのログインを可能にする。
    2. ネットワークの設定
      • DHCPでなく、固定IPを割り振る
      • OSインストール時に設定しているなら必要ない
    3. 時刻あわせ
  2. 必須ソフトのインストール
    1. apt-getでインストール
      • コンパイラ等: gcc, g++, make, zlib*
      • SSH等: openssl, libssl-dev, ssh, openssh-server
      • Java等: sun-java6-jdk, ant, ant-optional
      • DBMS等: postgresql, odbc-postgresql, libiodbc2, libiodbc2-dev
      • サービス関係: xinetd, sysv-rc-conf
    2. Javaの設定
  3. ユーザの設定
    • GT管理者: globus、GT利用者: gtuser
  4. GTインストール
    1. GTをインストールするディレクトリの作成
    2. globusになって、GTのDL&展開
    3. GTインストール
    4. rootになって、GT用環境変数の設定

2台目:認証関連の設定

ここが1台目と異なる。globusになって、

root@pe:~# su - globus
globus@pe:~$ scp -r root@ca:/opt/globus/share/certificates $GLOBUS_LOCATION/share

1台目にセットアップした認証マシン(ca)に移って、

globus@pe:~$ ssh root@ca
(caのrootのパスワード)
root@ca:~# myproxy-admin-addservice -c "pe.yuba.is.uec.ac.jp" -l pe
(peのglobusのパスワード)
(peのglobusのパスワード再入力)
(1台目で設定したCA用のパスワード)

戻って、rootになって、

root@ca:~# logout
globus@pe:~$ logout
root@pe:~# mkdir /etc/grid-security
root@pe:~# ln -s $GLOBUS_LOCATION/share/certificates /etc/grid-security/certificates          # gatekeeper用にリンクを作成
root@pe:~# myproxy-retrieve -s ca -k pe.yuba.is.uec.ac.jp -l pe
Enter MyProxy pass phrase: (上で入力したglobusのパスワード)

ホスト認証、コンテナ認証

root@pe:~# cd /etc/grid-security
root@pe:/etc/grid-security# cp hostcert.pem containercert.pem
root@pe:/etc/grid-security# cp hostkey.pem containerkey.pem
root@ce:/etc/grid-security# chown globus:globus container*.pem
root@ce:/etc/grid-security# ls -l *.pem         # アクセス権が600であること、所有者がhost*はglobusでcontainer*はglobusであることを確認
lrwxrwxrwx 1 root   root    30 2008-06-19 13:30 certificates -> /opt/globus/share/certificates
-rw-------  1 globus globus 912 2008-06-19 13:50 containercert.pem
-rw-------  1 globus globus 887 2008-06-19 13:50 containerkey.pem
-rw-------  1 root root 912 2008-06-19 13:45 hostcert.pem
-rw-------  1 root root 887 2008-06-19 13:45 hostkey.pem
root@pe:/etc/grid-security# myproxy-destroy -s ca -k pe.yuba.is.uec.ac.jp -l pe

ユーザ認証

root@pe:/etc/grid-security# vim grid-mapfile    # 書き間違え注意
root@pe:/etc/grid-security# cat grid-mapfile 
"/O=Grid/OU=GlobusTest/OU=simpleCA-ca.yuba.is.uec.ac.jp/OU=yuba.is.uec.ac.jp/CN=globus user" gtuser

2台目: 各モジュールのセットアップ

1台目と同様。書き間違えや実行ユーザ、またホスト名(caではなくpe, ただしmyproxy-logonコマンドはca)に注意

  1. Gatekeeperのセットアップ
  2. GridFTPのセットアップ
  3. gtuserで、GridFTPの動作確認
  4. rootで、Web Serviceコンテナのセットアップ
  5. gtuserで、Web Serviceコンテナの動作確認
  6. RFTの動作確認
  7. rootで、GRAMのセットアップ
  8. gtuserで、GRAMの動作確認(globus-job-runおよびglobusrun-wsの両方)

以上で2台目のセットアップ完了。3台目以降は2台目と同様にセットアップする。

テスト

Globusで/bin/dateをやってみる。ユーザ認証は grid-proxy-init こまんどではなく、myproxy-logon コマンドなので注意。

pe$ myproxy-logon -s ca
pe$ globus-job-run pe.yuba.is.uec.ac.jp /bin/date

うまくいかないときは、以下を確認

  • pingがすべての使用するマシン間で通るか(ネットワークが繋がっているか)
  • myproxy-logon コマンドは行ったか(プロキシ証明書を発行しているか grid-proxy-info コマンドで確認できる)
  • 時刻はすべての使用するマシンで同期が取れているか(ずれていると実行できないので ntpdate コマンドで揃える)

Troubleshooting your installationに各モジュールのトラブルシューティングがある。

Ubuntu 8.04 LTS Server に Ninf-G 4.2.3 をインストール

前章のようにGTをインストールしたマシンが対象となる。例として、pe.yuba.is.uec.ac.jpにNinf-Gをインストールする。

# Ninf-G 5.0.0 はうまくインストールできなかった

  • Ninf-Gのバージョン: 4.2.3
  • Ninf-Gのインストール先: /opt/ng

インストール

インストール先を作成

root@pe:~# mkdir /opt/ng
root@pe:~# chown globus:globus /opt/ng

環境変数の設定。GT用の環境変数ファイルにGPT_LOCATIONおよびNG_DIRを追加し、PATHも書き換える。

root@pe:~# vim /etc/profile.d/globus-env.sh
root@pe:~# cat /etc/profile.d/globus-env.sh
GLOBUS_LOCATION=/usr/local/globus-4.2.1.1
export GLOBUS_LOCATION
. $GLOBUS_LOCATION/etc/globus-user-env.sh
GPT_LOCATION=$GLOBUS_LOCATION
NG_DIR=/opt/ng
PATH=$NG_DIR/bin:$PATH
export GPT_LOCATION NG_DIR PATH
root@pe:~# source /etc/profile.d/globus-env.sh

必須ソフトウェアのインストール(make中にyaccを使うのでbisonをインストール)

root@pe:~# apt-get install bison

Ninf-GのDL。共用Docにあるtarballファイルを使用する。

root@pe:~# mount -t nfs whitebase:/mnt/iscsi/doc /opt/whitebase-doc

Ninf-Gの展開。ここからglobusになって、

root@pe:~# su - globus
globus@pe:~$ tar xvfz /opt/whitebase-doc/Application/Grid/ng4-latest.tgz

Ninf-Gのインストール

globus@pe:~$ cd ng-4.2.3
globus@pe:ng-4.2.3$ ./configure --prefix=$NG_DIR --with-cc=gcc --with-globusFlavor=gcc32dbgpthr
globus@pe:ng-4.2.3$ make 2>&1 | tee ~/ng-make.log
globus@pe:ng-4.2.3$ make install 2>&1 | tee ~/ng-install.log

Ninf-Gのセットアップ

globus@pe:ng-4.2.3$ cd utility/script
globus@pe:ng-4.2.3$ ./server_install

テスト

サンプルの円周率計算プログラムを用いる。Ninf-Gでpi を参考にしつつやってみる。

GT管理者(globus)の作業

  1. スタブファイルの生成
globus@pe:~$ cd ng-4.2.3/test/samples/pi
globus@pe:pi$ make stub
globus@pe:pi$ ls        # _stub_***ができていることを確認

GT利用者(gtuser)の作業

  1. プログラム一式を入手(/home/globusからコピー)
  2. コンパイル
  3. client.confを書き換える
  4. myproxy-logonコマンドでプロキシ認証してから、プログラムを実行
gtuser@pe:~$ cp -r /home/globus/ng-4.2.3/test/samples/pi .
globus@pe:~$ cd pi
globus@pe:~$ make pi_client
globus@pe:~$ ls                   # pi_clientができていることを確認
globus@pe:pi$ vim client.conf
globus@pe:pi$ cat client.conf
# $RCSfile: client.conf,v $ $Revision: 1.4 $ $Date: 2006/09/01 09:12:47 $

<CLIENT>
#    loglevel Warning
</CLIENT>

<SERVER>
    hostname pe.yuba.is.uec.ac.jp             # ←変更
#    invoke_server GT4py
#    port XXXX
</SERVER>
  
<LOCAL_LDIF>
    filename pi.pe.yuba.is.uec.ac.jp.ngdef    # ←変更
</LOCAL_LDIF>

globus@pe:pi$ myproxy-logon -s ca
globus@pe:pi$ ./pi_client 10 pe.yuba.is.uec.ac.jp    # 以下のように表示されればOK
counter = 8, times = 10
PI = 3.200000

参考