middleware:Globus/504/server
Contents |
Globus Toolkit server v.5.0.4
Prepare
- Operating system
- Scientific Linux v.5.6 64 bit
| This is the grid middleware package installation procedure. Please prepare the cluster. |
Optimizing the configuration:
Use minimal operating system installation without firewall. To verify installed packages use the command
-
rpm -qa | grep package_name
Install the following additional packages:
-
yum -y install wget yum rpm make gcc gcc-c++ tar sed zlib openssl
After the installation is complete, turn off any unnecessary services (like gpm, sendmail, cups, haldaemon, messagebus, pcmcia, anacron, atd) with the following command:
-
chkconfig <SERVICE> off
Configure the following settings for the server:
- Additional Software
- Java
- Perl
- MySQL
- sudo
- Torque client from UMD
- Firewall configuration
The GT5 frontend runs Grid Security Infrastructure (GSI) FTP and GSI GATEKEEPER services as well as GSISSH (how to open port in firewall). The Firewall should provide incomming access for those ports.
| Service | Incoming ports (TCP) |
| gsigatekeeper | 2119 |
| gsiftp | 2811 |
| gsissh | 2222 |
administrator's script: prepare.sh
#!/bin/shsu - rootbatch_server="dgiref-batch.fzk.de"
yum -y install sudo xinetd
yum -y install gcc perl.x86_64 perl-XML-Parser
yum -y install mysql-server.x86_64
yum -y install java
service mysqld restart
chkconfig mysqld on
# test after restart bash sessionjava -versionmkdir -p /etc/grid-security
#copy the host certificates to here#set certificate privilegeschmod 400 /etc/grid-security/*key.pem
chmod 644 /etc/grid-security/*cert.pem
#create an empty gridmap-filetouch /etc/grid-security/grid-mapfile
#after that put all user's dn to grid-mapfile for access to cluster.echo "Make shure that hostname is equivalent subject CN field in hostcert.pem"
openssl x509 -in /etc/grid-security/hostcert.pem -subject
hostname#install torque from umdrm /etc/yum.repos.d/UMD* /etc/yum.repos.d/epel*
wget http://download.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm
wget http://repository.egi.eu/sw/production/umd/1/sl5/x86_64/updates/umd-release-1.0.2-1.el5.noarch.rpm
rm -f epel-release-5-4.noarch.rpm umd-release-1.0.2-1.el5.noarch.rpm
yum install epel-release-5-4.noarch.rpm
yum install yum-prioritiesyum install umd-release-1.0.2-1.el5.noarch.rpm
sed -i -e "s/priority=.*/priority=5/g" /etc/yum.repos.d/UMD-1-base.repo
sed -i -e "s/priority=.*/priority=4/g" /etc/yum.repos.d/UMD-1-updates.repo
yum -y install torque-client munge
echo "$bath_server" > /var/torque/server_name
scp $batch_server:/etc/munge/munge.key /etc/munge/munge.key
chkconfig --add mungechkconfig munge on
#batch's log mountingmkdir -p /var/spool/torque/server_logs
mkdir -p /var/spool/torque/server_priv/accounting
echo "$batch_server:/var/torque/server_logs /var/spool/torque/server_logs nfs nfsvers=3,bg,hard,intr,nosuid,rsize=32768,wsize=32768,rw,port=2049 0 0">> /etc/fstab
echo "$batch_server:/var/torque/server_priv/accounting /var/spool/torque/server_priv/accounting nfs nfsvers=3,bg,hard,intr,nosuid,rsize=32768,wsize=32768,rw,port=2049 0 0">> /etc/fstab
mount -a
Install
Install Globus 5.04 (non umd):
- Download prepared binary rpm packet
- Setup packet with yum software
administrator's script: install.sh
#!/bin/bashsu - rootBASE_URL=http://mirror.scc.kit.edu/downloads/rpms/globus/2012.1/
wget ${BASE_URL}/globus-toolkit-5.0.4-0.2.x86_64.rpm
yum -y install globus-toolkit-5.0.4-0.2.x86_64.rpm
rm -f globus-toolkit-5.0.4-0.2.x86_64.rpm
Configure
| The most of configuration files automatically installed during the installation of Globus package |
To completely configure the Globus server:
- copy the xinet.d configs
- copy the gsissh to init.d folder
- make sure that torque log path is correct
administrator's script: configure.sh
#!/bin/shsu - rootecho "\
globus-gatekeeper:ALL:ALLOW
globus-gridftp-server:ALL:ALLOW" > /etc/hosts.allow
grep -r gsiftp /etc/services
# gsiftp 2811/tcp # GSI FTP# gsiftp 2811/udp # GSI FTPgrep -r gsigatekeeper /etc/services
# gsigatekeeper 2119/tcp # GSIGATEKEEPER# gsigatekeeper 2119/udp # GSIGATEKEEPER#install env variables for userscp /opt/globus-5.0.4/etc/DGridSetupFiles/globus.sh /etc/profile.d
#copy gsigatekeeper and gsiftp settings to xinet.d flodercp /opt/globus-5.0.4/etc/DGridSetupFiles/xinetd/* /etc/xinetd.d/
cp /opt/globus-5.0.4/sbin/SXXsshd /etc/init.d/gsisshd
#if you want to use jopmanager-pbs like a default job manager, just uncomment bellow line(the default manager is jobmanager-fork)#rm /opt/globus-5.0.4/etc/grid-services/jobmanager; ln -s /opt/globus-5.0.4/etc/grid-services/jobmanager-pbs /opt/globus-5.0.4/etc/grid-services/jobmanager#For shure check the torque log path in globus etccat /opt/globus-5.0.4/etc/globus-pbs.conf
#log_path=/var/spool/torque/server_logs
Proceed
- To startup the Globus on boot you need to use the chkconfig command as usual
- /etc/init.d/gsisshd start
- /etc/init.d/xinetd start
administrator's script: proceed.sh
#!/bin/bash# start containerssu - root/etc/init.d/gsisshd restart
/etc/init.d/xinetd restart
chkconfig gsisshd on
chkconfig xinetd on
Initial test
Simple Globus tests from client side:
Copy test
- Generate random data file
- Upload random file to Globus server
- Download back with changed name file
- Compare uloaded and downloaded file
Job execute test
- Auth test
- Test the pbs jobmanager
- Test the internal fork jobmanager
administrator's script: test.sh
#!/bin/bash#Grid user initalizationgrid-proxy-init
#gsiftp testdd if=/dev/urandom of=/tmp/testcopy count=1024
globus-url-copy file://///tmp/testcopy gsiftp://dgiref-globus.fzk.de/tmp/testcopy
globus-url-copy gsiftp://dgiref-globus.fzk.de/tmp/testcopy file://///tmp/testcopy2
diff /tmp/testcopy /tmp/testcopy2
[[ "$?" == 0 ]] && ( echo 'Copy test passed'; ) || ( echo 'Copy test not passed'; exit 1 )
rm -f /tmp/testcopy /tmp/testcopy2
#globus job authentication testglobusrun -a -r dgiref-globus.fzk.de
[[ "$?" == 0 ]] && ( echo 'Auth test passed'; ) || ( echo 'Auth test filed'; exit 2 )
#globus job execute testglobusrun -s -r dgiref-globus.fzk.de/jobmanager-pbs "&(executable="/bin/echo")(arguments="1321350395")"
[[ "$?" == 0 ]] && ( echo 'PBS test passed'; ) || ( echo 'PBS test filed'; exit 3 )
globusrun -s -r dgiref-globus.fzk.de/jobmanager-fork "&(executable="/bin/echo")(arguments="1321350395")"
[[ "$?" == 0 ]] && ( echo 'FORK test passed'; ) || ( echo 'FORK test filed'; exit 4 )