完全安装gt4

安装gt4.
安装simpleCA和使用
配置另一台机器使用已有的simpleCA.
配置gt4
安全配置
GridFtp的安装和配置
RFT的安装和配置
安装和配置GRAM
作业提交

安装gt4.

  1. 建立安装用户 建议globus用户, 该用户用于启动和管理gt4. 建立安装目录,也用于管理simpleca
    [root@CGSP45]# adduser globus
    
  2. 准备安装目录
    [root@CGSP45]# mkdir /usr/local/globus-4.0.1
    [root@CGSP45]# chown globus:globus /usr/local/globus-4.0.1
    
  3. 安装前确保JAVA_HOME, ANT_HOME, GLOBUS_LOCATION正确设置
    [globus@CGSP45 globus]$ echo $JAVA_HOME 
    /usr/java/j2sdk1.4.2_08
    [globus@CGSP45 globus]$ echo $ANT_HOME 
    /usr/apache-ant-1.6.2
    [globus@CGSP45 globus]$ echo $GLOBUS_LOCATION 
    /usr/local/globus-4.0.1
    

安装simpleCA和使用

4 directories, 12 files
  1. 生成
    grid-cert-request -host 'CGSP45'
    
    如果证书已经存在, 可以用 -force选项 强制覆盖. 生成的结果如下:
    /etc/grid-security
    |-- certificates
    |-- hostcert.pem
    |-- hostcert_request.pem
    |-- hostkey.pem
    
    证书的签发: 证书必须经过simpleCA签发才能生效. 将/etc/grid-security/hostcert_request.pem传给simleCA进行签发
    [globus@CGSP45 globus]grid-ca-sign -in /etc/grid-security/hostcert_request.pem -out hostsigned.pem
    
    上述命令之后, 会在当前目录下生成hostsigned.pem, 同时会在~/.globus/simpleCA/newcert下保存一个备份. 用diff命令可以发现 两个是完全一样的.
    将签发的证书放到/etc/grid-security目录下, 覆盖掉hostcert.pem.
  1. 生成
    [liulk@CGSP45 liulk]$ export GLOBUS_LOCATION=/usr/local/globus-4.0.1/
    [liulk@CGSP45 liulk]$ export PATH=$GLOBUS_LOCATION/bin:$PATH
    [liulk@CGSP45 liulk]$ grid-cert-request 
    
    生成结果:
    .globus/
    |-- persisted
    |   `-- 10.0.2.45-5555
    |       `-- PersistentSubscription
    |           |-- a2733e00-d473-11da-aabe-c4538721e54a.obj
    |           |-- ae684ed0-d473-11da-aabe-c4538721e54a.obj
    |           `-- b58a05a0-d473-11da-aabe-c4538721e54a.obj
    |-- usercert.pem
    |-- usercert_request.pem
    `-- userkey.pem
    
  2. 签发 将 usercert_request.pem发送给globus用户. globus用户通过下面的命令签发证书
    [globus@CGSP45 globus]$ grid-ca-sign -in usercert_request.pem  -out usersigned.pem
    
    然后将签发的结果 usersigned.pem 发送给用户liulk. liulk接到签发的证书后, 用签发的证书覆盖掉.globus/usercert.pem即可
  3. 验证
    [liulk@CGSP45 liulk]$ grid-proxy-init -debug -verify
    

配置另一台机器使用已有的simpleCA.

先在上面装gt.然后将已有simpleCA安装的时候产生的.globus/simpleCA/globus_simple_ca_4a498a83_setup-0.18.tar.gz复制到要配置的机器上.运行:
[globus@CGSP45 globus]$ $GLOBUS_LOCATION/sbin/gpt-build globus_simple_ca_HASH_setup-0.17.tar.gz gcc32dbg
[globus@CGSP45 globus]$ $GLOBUS_LOCATION/sbin/gpt-postinstall
用root运行
[root@CGSP45 root]$ /usr/local/globus-4.0.1/setup/globus_simple_ca_4a498a83_setup/setup-gsi -default
 
即可.

配置gt4

安全配置

GridFtp的安装和配置

gridftp在全部安装gt之后基本上已经安装好了. 不需要经过特殊的配置就可以工作了. 当然, 需要前面的安全配置. 另外可能出现在使用globus-url-copy的实话, 找不到对应的动态链接库的问题. 解决:编辑/etc/ld.so.conf, 然后更新缓存
[root@CGSP45 root]# vi /etc/ld.so.conf 
[root@CGSP45 root]# cat /etc/ld.so.conf 
/usr/kerberos/lib
/usr/X11R6/lib
/usr/lib/sane
/usr/lib/qt-3.1/lib
/usr/local/globus-4.0.1/lib #这个是后来加入的.
[root@CGSP45 root]# ldconfig -v -v -v
启动gridftp-server
[root@CGSP45 root]# globus-gridftp-server -S -p 2811
其中:
选项意义
-S指定后台启动方式
-p 2811启动在端口2811上

测试其是否正常工作:

[liulk@CGSP45 liulk]$ globus-url-copy -vb -dbg gsiftp://CGSP45/etc/hosts file:///home/liulk/host22
[liulk@CGSP45 liulk]$ cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1       localhost       
10.0.2.45       CGSP45  CGSP05
10.0.2.46       CGSP46  CGSP06
10.0.2.47       CGSP47  CGSP07
10.0.2.48       CGSP48  CGSP08
10.0.2.49       CGSP49  CGSP09
10.0.2.50       CGSP50  CGSP10
10.0.2.51       CGSP51  CGSP11
10.0.2.52       CGSP52  CGSP12
[liulk@CGSP45 liulk]$ cat host22 
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1       localhost       
10.0.2.45       CGSP45  CGSP05
10.0.2.46       CGSP46  CGSP06
10.0.2.47       CGSP47  CGSP07
10.0.2.48       CGSP48  CGSP08
10.0.2.49       CGSP49  CGSP09
10.0.2.50       CGSP50  CGSP10
10.0.2.51       CGSP51  CGSP11
10.0.2.52       CGSP52  CGSP12
[liulk@CGSP45 liulk]$ 

RFT的安装和配置

RFT是是gridftp用来实现所谓的三方传输的使用. gridftp在进行三方传输的时候通过rft来记录传输状态, 从而使得可以在任何失败点进行重传.rft使用gt的安全进行认证和授权.

安装和配置GRAM

  1. Transfer Level Security
  2. Function Sudo
  3. Local Scheduler
  4. Scheduler Adapter
  5. Gridftp 用于进行实际的文件传输操作
  6. Rft 用于处理data staging和clean
  1. 配置sudo
    [root@CGSP45 root]visudo
    [root@CGSP45 grid-security]# cat /etc/sudoers
    # sudoers file.
    # Globus GRAM entries
    globus  ALL=(liulk) NOPASSWD: /usr/local/globus-4.0.1/libexec/globus-gridmap-and-execute -g /etc/grid-security/grid-mapfile  /usr/local/globus-4.0.1/libexec/globus-job-manager-script.pl *
    globus  ALL=(liulk) NOPASSWD: /usr/local/globus-4.0.1/libexec/globus-gridmap-and-execute -g /etc/grid-security/grid-mapfile  /usr/local/globus-4.0.1/libexec/globus-gram-local-proxy-tool *
    

作业提交

  1. 不带数据传输的测试
  1. 代数据传输的作业提交 test2.xml
    <job>
        <executable>my_echo</executable>
        <directory>${GLOBUS_USER_HOME}</directory>
        <argument>Hello</argument>
        <argument>World!</argument>
        <stdout>${GLOBUS_USER_HOME}/stdout</stdout>
        <stderr>${GLOBUS_USER_HOME}/stderr</stderr>
        <fileStageIn>
            <transfer>
                <sourceUrl>gsiftp://10.0.2.45:6000/bin/echo</sourceUrl>
                <destinationUrl>gsiftp://10.0.2.45:2811/${GLOBUS_USER_HOME}/my_echo</destinationUrl>
            </transfer>
        </fileStageIn>
        <fileStageOut>
            <transfer>
                <sourceUrl>file:///${GLOBUS_USER_HOME}/stdout</sourceUrl>
                <destinationUrl>gsiftp://10.0.2.45:6000/tmp/stdout1</destinationUrl>
            </transfer>
        </fileStageOut>
        <fileCleanUp>
            <deletion>
                <file>file:///${GLOBUS_USER_HOME}/my_echo</file>
            </deletion>
            <deletion>
                <file>file:///${GLOBUS_USER_HOME}/stdout</file>
            </deletion>
            <deletion>
                <file>file:///${GLOBUS_USER_HOME}/stderr</file>
            </deletion>
          </fileCleanUp>
    </job>
    
Connection closed by foreign host. [root@CGSP45 root]#