200 likes | 443 Views
Globus Toolkit 4.0.5 Installation Report. What is Globus Toolkit? • The Globus Toolkit is an open source software toolkit used for building Grid systems and applications. It is being developed by the Globus Alliance and many others all over the world.
E N D
What is Globus Toolkit? • The Globus Toolkit is an open source software toolkit used for building Grid systems and applications. It is being developed by the Globus Alliance and many others all over the world. • Globus allows people to share computing power, databases, and other tools securely online across corporate, institutions, and across geographic boundaries.
Popular Middlewares • Globus – Globus Alliance • GridBus – University of Melbourne • UNICORE – Uniform Interface to Computing Resource • gLite – CERN / EGEE
Prerequisites • Globus Toolkit installer, from Globus • J2SE 1.5+ SDK from Sun, IBM, HP or BEA (Do not use GCJ). • Ant 1.6+(1.6.1+ if using java 1.5). • Compiler. If gcc, avoid version 3.2. 3.2.1 and 2.95.X are okay. gcc4.1 has a bug that will trigger during the build of WS C. • C++ compiler. Use the version corresponding to your C compiler from the previous. • GNU tar – Required before even extracting the installer. • GNU sed,GNU make • Zlib 1.1.4+ - for building GSI-Openssh • Perl 5.8.5 or later • Sudo • JDBC compliant database for instance, PostgreSQL 7.1+ • PBS
Installation and Configuration • Set the following environment variables: • export GLOBUS_LOCATION=<PATH to GLOBUS> • export ANT_HOME=<PATH_TO_ANT> • export JAVA_HOME=<PATH_TO_JAVA> • export PATH=$ANT_HOME/bin:$JAVA_HOME/bin:$PATH • export LD_LIBRARY_PATH=$GLOBUS_LOCATION/lib:$LD_LIBRARY_PATH • export PBS_HOME=<PATH_WHERE_PBS_INSTALLED>
Creating user accounts # useradd globus # passwd globus globus # useradd student # passwd student student
Creating install directory # mkdir /opt/globus • As the globus user, run: globus$ export GLOBUS_LOCATION=/usr/local/globus globus$ ./configure --prefix=$GLOBUS_LOCATION globus$ make globus$ make install
Obtaining certificates • Run the setup script: $GLOBUS_LOCATION/setup/globus/setup-simple-ca • Run the following as root (or, if no root privileges are available, add the -nonroot option to the command line): $GLOBUS_LOCATION/setup/globus_simple_ca_CA_Hash_setup/setup-gsi –default • Next you will need to request a host certificate. As root, run: grid-cert-request -host 'hostname'
Obtaining certificates • The next step is to sign the host certificate. 1. As globus, run: grid-ca-sign -in hostcert_request.pem -out hostsigned.pem 2. A signed host certificate, named hostsigned.pem, is written to the current directory. 3. When prompted for a passphrase enter the one you specified in the previous section (for the private key of the CA certificate). 4. As root move the signed host certificate to /etc/grid-security/hostcert.pem.
Obtaining certificates • As your normal user account (notglobus), run: grid-cert-request After you enter a passphrase, this creates ~$USER/.globus/usercert.pem (empty) ~$USER/.globus/userkey.pem ~$USER/.globus/usercert_request.pem • Test the user certificate using: [student@localhost ~]$ grid-proxy-init -debug -verify
Grid-mapfile • Create /etc/grid-security/grid-mapfile as root # cd /etc/grid-security # vi grid-mapfile • Run grid-cert-info to get your subject name, and whoami to get the account name (as student): [student@localhost ~]$ grid-cert-info -subject /O=Grid/OU=GlobusTest/OU=simpleCA-localhost.localdomain/OU=localdomain/CN=student [student@localhost ~]$ whoami Student • The corresponding line in the grid-mapfile: "/O=Grid/OU=GlobusTest/OU=simpleCA-localhost.localdomain/OU=localdomain/CN=student" student
Configure SimpleCA for multiple machines • A CA setup package was created in globus/simpleCA/globus_simple_ca_HASH_setup-0.17.tar.gz. If you want to use your certificates on another machine, you must install that CA setup package on that machine. • To install it, copy that package to the second machine and run: $GLOBUS_LOCATION/sbin/gpt-build globus_simple_ca_HASH_setup-0.17.tar.gz gcc32dbg $GLOBUS_LOCATION/sbin/gpt-postinstall • Then you will have to perform setup-gsi -default. • If you are going to run services on the second host, it will need its own host certificate and grid-mapfile
Start and Testing GridFTP Start a GridFTP server on a machine: # vim /etc/services #Local Services gsiftp2811/tcp /etc/xinetd.d# /etc/init.d/xinetd reload Testing the service : /etc/xinetd.d# netstat – an | grep 2811 tcp 0 0 0.0.0.0:2811 0.0.0.0:* LISTEN On another machine running the following command will transfer the file “file” from the machine running the server. [student@localhost ~]$ globus-url-copy gsiftp://10.38.227.100:2811/home/student/file file:///home/student/file
Starting Webservice container • $ vim $GLOBUS_LOCATION/start-stop #! /bin/sh set -e export GLOBUS_LOCATION=/usr/local/globus-4.0.1 export JAVA_HOME=/usr/java/j2sdk1.4.2_10/ export ANT_HOME=/usr/local/apache-ant-1.6.5 export GLOBUS_OPTIONS="-Xms256M -Xmx512M" . $GLOBUS_LOCATION/etc/globus-user-env.sh cd $GLOBUS_LOCATION case "$1" in start) $GLOBUS_LOCATION/sbin/globus-start-container detached -p 8443 ;; stop) $GLOBUS_LOCATION/sbin/globus-stop-container-detached ;; *) echo "Usage: globus {start|stop}" >&2 exit 1 ;; esac exit 0 $ chmod +x $GLOBUS_LOCATION/start-stop
Container start up script • # vim /etc/init.d/globus-4.0.5 #!/bin/sh -e case "$1" in start) su - globus /usr/local/globus-4.0.5/start-stop start ;; stop) su - globus /usr/local/globus-4.0.5/start-stop stop ;; restart) $0 stop sleep 1 $0 start ;; *) printf "Usage: $0 {start|stop|restart}\n" >&2 exit 1 ;; esac exit 0
Setting up WSGRAM: • # vi /etc/sudoers student ALL=(ALL) NOPASSWD: $GLOBUS_LOCATION/libexec/globus-gridmapand-execute -g /etc/grid-security/grid-mapfile$GLOBUS_LOCATION/libexec/globusjob-manager-script.pl * student ALL=(ALL) NOPASSWD: $GLOBUS_LOCATION/libexec/globus-gridmapand-execute-g /etc/grid-security/grid-mapfile $GLOBUS_LOCATION/libexec/globusgram-local-proxy-tool *
Testing WSGRAM student % globusrun-ws -submit -c /bin/true Submitting job...Done. Job ID: uuid:3304e3f2-55f2-11da-8b8f-00d0b7b7c0bc Termination time: 11/16/2005 16:09 GMT Current job state: Active Current job state: CleanUp Current job state: Done Destroying job...Done. student % echo $? 0
Bibliography • GT4 Admin Guide: http://www.globus.org/toolkit/docs/4.0/admin/docbook/index.html • Globus Toolkit 4.0 installation: http://faculty.washington.edu/chungsa/2005/spring/tcss568/discussions/ • GT 3.9.4 WS GRAM User's Guide: http://www.globus.org/toolkit/docs/development/3.9.4/execution/wsgram/user/ • 4. Globus Toolkit 4 Early Access: WSRF http://www-128.ibm.com/developerworks/grid/library/gr-gt4early/