- 论坛徽章:
- 0
|
安装gt4.
安装simpleCA和使用
配置另一台机器使用已有的simpleCA.
配置gt4
安全配置
GridFtp的安装和配置
RFT的安装和配置
安装和配置GRAM
作业提交
安装gt4.
- 下载gt安装包 wget http://www.globus.org/ftppub/gt4/4.0/4.0.2/installers/bin/gt4.0.2-x86_rh_9-installer.tar.gz
- 安装前准备
建立安装用户建议globus用户, 该用户用于启动和管理gt4. 建立安装目录,也用于管理simpleca [root@CGSP45]# adduser globus
准备安装目录 [root@CGSP45]# mkdir /usr/local/globus-4.0.1
[root@CGSP45]# chown globus:globus /usr/local/globus-4.0.1
安装前确保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
- 安装: [globus@CGSP45 globus]$ tar zxvpf gt4.0.1-x86_rh_9-binary-installer.tar.gz
[globus@CGSP45 globus]$ cd gt4.0.1-x86_rh_9-binary-installer
[globus@CGSP45 globus]$ ./configure --prefix=$GLOBUS_LOCATION
[globus@CGSP45 globus]$ make 2>&1 | tee make.log
[globus@CGSP45 globus]$ make install
安装simpleCA和使用
- 初始化globus的使用环境 [globus@CGSP45 globus]$ source /usr/local/globus-4.0.1/etc/globus-devel-env.sh
- 安装simgleCA [globus@CGSP45 globus]$ /usr/local/globus-4.0.1/setup/globus/setup-simple-ca
安装结果: [globus@CGSP45 globus]$ tree ~/.globus/simpleCA
/home/globus/.globus/simpleCA
|-- cacert.pem
|-- certs
|-- crl
|-- globus_simple_ca_4a498a83_setup-0.18.tar.gz
|-- grid-ca-ssl.conf
|-- index.txt
|-- index.txt.attr
|-- newcerts
|-- private
| `-- cakey.pem
`-- serial
4 directories, 12 files
- 安装GSI [root@CGSP45 root]$ /usr/local/globus-4.0.1/setup/globus_simple_ca_4a498a83_setup/setup-gsi -default
- 主机证书的生成和签发
生成 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.
- 用户证书生成和签发用户证书的生成和签发过程与主机证书类似. 只是生成的时候用相应的用户运行 grid-cert-request 命令, 不加-host 选项.
生成 [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
签发将 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即可
验证 [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
安全配置
- 使container能够使用主机证书 [root@CGSP45 etc]# cd grid-security
[root@CGSP45 grid-security]# cp hostkey.pem containerkey.pem
[root@CGSP45 grid-security]# cp hostcert.pem containercert.pem
[root@CGSP45 grid-security]# chown globus:globus containerkey.pem containercert.pem
[root@CGSP45 grid-security]# ls -l
-rw-r--r-- 1 globus globus 2625 4ÔÂ 28 20:29 containercert.pem
-rw-r--r-- 1 globus globus 887 4ÔÂ 28 20:28 containerkey.pem
-rw-r--r-- 1 root root 2625 4ÔÂ 28 18:16 hostcert.pem
-r-------- 1 root root 887 4ÔÂ 28 18:11 hostkey.pem
[root@CGSP45 grid-security]#
- 编辑grid-mapfile文件
grid-mapfile的作用是将网格中的用户映射成本地的用户. 每行是一个映射. 前面是网格用户, 后面是本机用户. 映射的一个entry可以用下面的方式取得网格用户和本机用户.以用户的身份运行: #取得网格用户的标识
[liulk@CGSP45 liulk]$ grid-cert-info -subject
/O=Grid/OU=GlobusTest/OU=simpleCA-cgsp45/CN=liulk
#取得主机用户的标识
[liulk@CGSP45 liulk]$ whoami
liulk
[liulk@CGSP45 liulk]$
生成映射文件并增加一个映射: [root@CGSP45 grid-security]# touch grid-mapfile
[root@CGSP45 grid-security]# $GLOBUS_LOCATION/sbin/grid-mapfile-add-entry -dn /O=Grid/OU=GlobusTest/OU=simpleCA-cgsp45/CN=liulk -ln liulk
Modifying /etc/grid-security/grid-mapfile ...
New entry:
"/O=Grid/OU=GlobusTest/OU=simpleCA-cgsp45/CN=liulk" liulk
(1) entry added
[root@CGSP45 grid-security]# cat grid-mapfile
"/O=Grid/OU=GlobusTest/OU=simpleCA-cgsp45/CN=liulk" liulk
[root@CGSP45 grid-security]#
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的安全进行认证和授权.
- rft的安装. 默认情况下, 如果完全安装gt的话, rft本身已经安装好了.
- rft的配置. 主要是数据库的配置. 新建一个mysql数据库及其相应的授权用户. [globus@CGSP45 globus_wsrf_rft]$ mysql -u root -p -e "create database rftDatabase;"
[globus@CGSP45 globus_wsrf_rft]$ mysql -u root -p --database rftDatabase 编辑rft的配置文件: 我们用的是mysql数据库,主要是改jndi-config.xml如下的选项:
driverName
org.postgresql.Driver
-->
com.mysql.jdbc.Driver
connectionString
jdbc:postgresql://cgsp45/rftDatabase
-->
jdbc:mysql://cgsp45/rftDatabase
userName
rftuser
password
rftpass
[note]:别忘了将mysql的数据库驱动程序放入$GLOBUS_LOCATION/lib目录下:mysql-connector-java-3.0.9-stable-bin.jar.
安装和配置GRAM
- 安装如果全部安装gt的话, GRAM默认已经安装好了. 所以,我们需要的主要是配置.
[note]:值得注意的是, GRAM使用Transport Level Security, 所以启动容器的时候 "-nosec" 选项不应该被使用. 否则, GRAM无法启动.
- requirements
Transfer Level Security
Function Sudo
Local Scheduler
Scheduler Adapter
Gridftp 用于进行实际的文件传输操作
Rft 用于处理data staging和clean
配置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 *
作业提交
不带数据传输的测试
- 编辑两个测试文件
jobstest.xml ?xml version="1.0" encoding="UTF-8"?>
job>
executable>/bin/echoexecutable>
argument>this is an example_string argument>
argument>Globus was hereargument>
stdout>/tmp/stdoutstdout>
stderr>/tmp/stderrstderr>
job>
- 生成用户的代理证书 [liulk@CGSP45 liulk]$ grid-proxy-init
Your identity: /O=Grid/OU=GlobusTest/OU=simpleCA-cgsp45/CN=liulk
Enter GRID pass phrase for this identity:
phrase is too short, needs to be at least 4 chars
Enter GRID pass phrase for this identity:
Creating proxy ........................................... Done
Your proxy is valid until: Sat Apr 29 11:21:52 2006
[liulk@CGSP45 liulk]$ grid-proxy-info
subject : /O=Grid/OU=GlobusTest/OU=simpleCA-cgsp45/CN=liulk/CN=1046079078
issuer : /O=Grid/OU=GlobusTest/OU=simpleCA-cgsp45/CN=liulk
identity : /O=Grid/OU=GlobusTest/OU=simpleCA-cgsp45/CN=liulk
type : Proxy draft (pre-RFC) compliant impersonation proxy
strength : 512 bits
path : /tmp/x509up_u519
timeleft : 11:59:36
[liulk@CGSP45 liulk]$
- 提交作业 [liulk@CGSP45 liulk]$ globusrun-ws -submit -F https://10.0.2.45:8443/wsrf/services/ManagedJobFactoryService -f jobtest.xml
Submitting job...Done.
Job ID: uuid:61499c08-d6cb-11da-9f0c-00132065d6a7
Termination time: 04/29/2006 15:26 GMT
Current job state: Active
Current job state: CleanUp
Current job state: Done
Destroying job...Done.
[liulk@CGSP45 liulk]$ ls /tmp
...
stderr
stdout
x509up_u519
[liulk@CGSP45 liulk]$
代数据传输的作业提交 test2.xml job>
executable>my_echoexecutable>
directory>${GLOBUS_USER_HOME}directory>
argument>Helloargument>
argument>World!argument>
stdout>${GLOBUS_USER_HOME}/stdoutstdout>
stderr>${GLOBUS_USER_HOME}/stderrstderr>
fileStageIn>
transfer>
sourceUrl>gsiftp://10.0.2.45:6000/bin/echosourceUrl>
destinationUrl>gsiftp://10.0.2.45:2811/${GLOBUS_USER_HOME}/my_echodestinationUrl>
transfer>
<%
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/43725/showart_376482.html |
|