Globus安装手册(2)

来源:百度文库 编辑:神马文学网 时间:2024/04/29 05:11:33

第二台机器的安装(cluster 主节点,机器名称 stugrid;IP:10.10.80.95)
一、准备工作

1.设置用户

安装Globus需要设置几个用户:root, globus, stugrid
其中,globus作为globus的安装用户;stugrid作为container的用户和测试用户
二、安装
1. 安装JDK
2. 安装ant
3. 统一设置环境变量
4. 安装globus-4.0.5
[root@stugrid]# mkdir /usr/local/globus-4.0.5
更改改目录主属性
[root@stugrid]# chown globus:globus usr/local/globus-4.0.5
拷贝gt4.0.5-x86_rhas_4-installer.tar.gz到globus-4.0.5目录中
[root@stugrid]# tar xzvf gt4.0.5-x86_rhas_4-installer.tar.gz
切换到globus用户
[root@stugrid]# su – globus
设置环境变量
[globus@stugrid]$ export GLOBUS_LOCATION=/usr/local/globus-4.0.5
[globus@stugrid]$ cd gt4.0.5-x86_rhas_4-installer-installer
编译预设值,将globus安装到/usr/local/globus-4.0.5中
[globus@stugrid]$ ./configure --prefix=$GLOBUS_LOCATION –enable-wsgram-pbs  (设置pbs编译模式)
执行编译命令
[globus@stugrid]$ make
注:如果这一步出现问题,注意看一下是否是相关文件的权限问题,可以考虑 chmod u+x操作,make出问题后,如果再次执行时出现
  /usr/local/globus-4.0.0/sbin/gpt-build   -srcdir=source-trees-thr/core/source       gcc32dbgpthr
  make: /usr/local/globus-4.0.0/sbin/gpt-build: Command not found
  make: *** [globus_core-thr] Error 127
那么make clean 一下,再执行make

进行安装
[globus@stugrid]$ make install

5.          安全设置,安装simpleCa
在这里,我们只需要从第一台机器上获得授权证书。
[globus@stugrid]$ scp globus@10.10.33.19:/home/globus/.globus/simpleCA/globus_simple_ca_91177e45_setup-0.19.tar.gz   /usr/local

注:simpleca文件名在不同的机器上应该不一样,具体的文件名需要查看第一台机器目录的文件,在这里10.10.33.19是第一台机器的ip,可以拷贝到本地机器的任何目录中

[globus@stugrid]$ export GLOBUS_LOCATION=/usr/local/globus-4.0.5

[globus@stugrid]$ $GLOBUS_LOCATION/sbin/gpt-build globus_simple_ca_91177e45_setup-0.19.tar.gz

[globus@stugrid]$ $GLOBUS_LOCATION/sbin/gpt-postinstall

[root@stugrid]# export GLOBUS_LOCATION=/usr/local/globus-4.0.5

[root@stugrid]# $GLOBUS_LOCATION/setup/globus_simple_ca_91177e045_setup/setup-gsi –default
现在我们已经创建一个CA并完成了认证,我们下面将获得到这台机器的hostcert:
[root@stugrid]# source $GLOBUS_LOCATION/etc/globus-user-env.sh
[root@stugrid]# grid-cert-request -host stugridstu

下面需要切换到第一台机器对证书进行登记:
[root@sonky]# scp root@10.10.80.95:/etc/grid-security/hostcert_request.pem    /usr/local/in.pem
[root@sonky]# cd /usr/local
[root@sonky]# su - globus
[globus@sonky]$ grid-ca-sign  -in  in.pem  -out  out.pem
复制这个登记过的证书out.pem到第二台机器/etc/grid-security目录下:
[root@stugrid]# scp globus@10.10.33.19:/usr/local/out.pem /etc/grid-security/hostcert.pem
hostcert和hostkey为root用户所有,它们将被GridFTP服务器使用。因为Web服务容器(webservices container)被非root用户运行,所以我们需要一个为globus用户拥有的证书。即需要一个root用户拥有的host certificate/key和一个globus用户拥有的host certificate/key。以上可以通过简单的文件拷贝实现以上需求:

[root@stugrid grid-security]# cp hostcert.pem containercert.pem

[root@stugrid grid-security]# cp hostkey.pem containerkey.pem

[root@stugrid grid-security]# chown globus:globus container*.pem

查看一下结果:

[root@stugrid grid-security]# ls -l *.pem

-rw-r--r--  1 globus globus 2647 Aug  8 11:02 containercert.pem

-r--------  1 globus globus  887 Aug  8 11:03 containerkey.pem

-rw-r--r--  1 root   root   2647 Aug  8 11:01 hostcert.pem

-rw-r--r--  1 root   root   1369 Aug  8 10:53 hostcert_request.pem

-r--------  1 root   root    887 Aug  8 10:53 hostkey.pem
创建grid-mapfile,直接从第一台机器上拷贝过来:

[root@stugrid]# scp root@10.10.33.19:/etc/grid-security/grid-mapfile  /etc/grid-security/grid-mapfile
接着为第二台机器上的stugrid用户创建usercert,只需要从第一台机器上直接拷贝:

[stugrid@stugrid]$ scp stugrid@10.10.33.19:/home/stugrid/.globus/*.pem  /home/stugrid/.globus

[stugrid@stugrid]$ source $GLOBUS_LOCATION/etc/globus-user-env.sh

[stugrid@stugrid]$ grid-cert-request
6.          搭建GridFTP

创建文件

[root@stugrid]# scp root@10.10.33.19:/etc/xinetd.d/gridftp  /etc/xinetd.d/gridftp

[root@stugrid]# vim /etc/services

在# Local services 下面加入

gsiftp          2811/tcp
[root@stugrid]# /etc/init.d/xinetd reload

测试一下gridftp:

[stugrid@stugrid]$ grid-proxy-init –verify –debug

注:如果提示无法链接,可能是由于无法识别sonky.stu这个主机名,修改/etc/hosts,加入:

10.10.33.19         sonky.stu   stu

[stugrid@stugrid]$ globus-url-copy gsiftp://stugrid.stu/etc/group gsiftp://sonky.stu/tmp/from-stugrid

到第一台机器查看是否产生了from-stugrid文件
7.          启动Webservices Container

建立container启动文件,方便以后调试操作

[globus@stugrid]$ scp globus@10.10.33.19:/usr/local/globus-4.0.5/start-stop  /usr/local/globus-4.0.5/start-stop

[globus@stugrid]$ chmod +x /usr/local/globus-4.0.5/start-stop
[root@stugrid]# scp root@10.10.33.19:/etc/init.d/globus-4.0.5   /etc/init.d/globus-4.0.5

[root@stugrid]# chmod +x /etc/init.d/globus-4.0.5
启动容器:
[root@stugrid]# /etc/init.d/globus-4.0.5 start
下面可以通过一个简单的clients/services来与容器进行交互操作

[stugrid@sonky]$ counter-client –s https://sonky.stu:8443/wsrf/services/CounterService

Got notification with value: 3

Counter has value: 3
Got notification with value: 13
表示与容器通讯成功
8.          GRAM
首先修改/etc/bin/sudo
[root@stugrid]# visudo
在最后加上:
globus ALL=(stugrid) NOPASSWD: /usr/local/globus-4.0.5/libexec/globus-gridmap-and-execute -g /etc/grid-security/grid-mapfile /usr/local/globus-4.0.5/libexec/globus-job-manager-script.pl *
globus ALL=(stugrid) NOPASSWD: /usr/local/globus-4.0.5/libexec/globus-gridmap-and-execute -g /etc/grid-security/grid-mapfile /usr/local/globus-4.0.5/libexec/globus-gram-local-proxy-tool *

提交一个任务,测试GRAM
[stugrid@stugrid]$ globusrun-ws -submit -c /bin/true
可能出错:
[stugrid@sonky globus-4.0.5]$ globusrun-ws -submit -c /bin/true
Submitting job...Done.
Job ID: uuid:3c0e1126-456f-11dc-ac80-00123f672ef7
Termination time: 08/09/2007 05:21 GMT
Current job state: Failed
Destroying job...Done.
globusrun-ws: Job failed: Error code: 201
Script stderr:
Sorry, /usr/bin/sudo must be setuid root.
解决方法:更改sudo的属性,[root@sonky]# chmod 4111 /usr/bin/sudo
接下来测试一下机器的PBS是否正常工作,否则后面的任务无法使用PBS,用qsub测试
[stugrid@stugrid]$ vim mysub
#!/bin/sh
/bin/hostname
[stugrid@stugrid]$ qsub mysub
[root@stugrid]# qrun id号
查看globus-pbs的设置是否正确:
[root@stugrid]# cat /usr/local/globus-4.0.5/etc/globus-pbs.conf
Log_path=/var/spool/pbs/server_logs
测试通过PBS进行工作:
首先建立文件:
[stugrid@stugrid]$ vim test.rsl

    my_echo

    ${GLOBUS_USER_HOME}

    Hello

    World!

    ${GLOBUS_USER_HOME}/stdout

    ${GLOBUS_USER_HOME}/stderr

   

       

            gsiftp://stugrid.stu:2811/bin/echo

            file:///${GLOBUS_USER_HOME}/my_echo

       

   

   

       

            file:///${GLOBUS_USER_HOME}/my_echo

       

   

[stugrid@stugrid]$ globusrun-ws –Ft  PBS –submit –S –f test.rsl

注:在10.10.80.95机器上该任务没有通过,不知是否因为该机器的pbs存在问题。

9. 配置VO-level服务

1)配置Index服务

[globus@stugrid]$ vim /usr/local/globus-4.0.5/etc/globus_wsrf_mds_index/hierarchy.xml