middleware:Globus/420

From Dgiref
Jump to: navigation, search

Contents

Introduction

Globustoolkit.gif The Globus Toolkit, currently at version 4, is an open source toolkit for building computing grids developed and provided by the Globus Alliance.
Simplified Globus Toolkit 4 architecture

The Globus Toolkit system consists of several components which interact over the network

  1. A provider site.
  2. The user uses the generic graphical User Interface (UI) for resources access, authentication, authorization to use the resources. It provides CLI tools and API to perform some basic operations and development.
  3. From UI user can access the functionalities offered by the Information, Workload and Data management systems.
  4. All connections need to pass the Gatekeeper, which acts as a generic interface to the cluster, managed by the Local Resource Management System (LRMS).
  5. A Storage Element (SE) provides uniform access to data storage resources. It may control simple disk servers, large disk arrays or tape-based Mass Storage Systems (MSS). Most storage resources are managed by a Storage Resource Manager (SRM) - a middleware service providing capabilities like transparent file migration from disk to tape, file pinning, space reservation, etc.
  6. The Information Service (IS) provides information about the Grid resources and their status. The resources are discovered via IS. The published information is also used for monitoring and accounting purposes. Globus Monitoring and Discovery Service (MDS) used for resource discovery and to publish the resource status.


Package:    Globus Toolkit 4.0.8
 os:             Scientific Linux version 4.8 64 bit
 server:        dgiref-globus40.fzk.de
 manuals:   server v. 4.0.8 / services
 monitoring: monitoring page


Package:    Globus Toolkit 5.0.4
 os:             Scientific Linux version 5.6 64 bit
 server:        dgiref-globus.fzk.de
 manuals:   server v. 5.0.4
 monitoring: monitoring page


Archive links
Information links
Download links
Guidelines links
Files links


Please open a NGI-DE ticket if you experience any Installation or Configuration problem.

Globus Toolkit server v.4.2

Prepare

Operating system
  • Scientific Linux v.4.8 64 bit

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

To make all libraries from ant available do the following as root:

 $ cd /usr/share/ant/lib
 $ ln -s /usr/share/java/ant.jar ant.jar
 $ ln -s /usr/share/java/ant-launcher.jar ant-launcher.jar
  • PostgreSQL 8.1.9 (postgresql, postgresql-libs, postgresql-server)
  • Perl 5.8.8 (with XML::PARSER)
  • sudo


Install

The installation procedure includes the following steps:

  • GPT - Grid Packaging Toolkit will be needed to install the Globus toolkit.
  • Globus Toolkit installation

Configure

Note-icon.png
  
To configure the gsissh, please use the Globus services page
Note-icon.png
  
Please check the grid certificates allocation before to proceed.
Grid Security Infrastructure
In order to use the Globus services Globus user must be authenticated. There are two ways for user authentication in Globus:
  • manually
as grid-user extract the Distinguished name (DN) as the following:
       su $USER
       grid-cert-info -subject /C=DE/O=GridGermany/OU=Leibniz-Rechenzentrum/CN=griduser1
Now, the grid-user should be included to the grid-mapfile. For this, execute as root:
       su root
       grid-mapfile-add-entry -dn<DN>-ln <locale user name for griduser1>
  • automatically
There is the dgridmap script for automatic generation of the grid-mapfile. It is mandatory to execute the dgridmap script regularly (e.g. cron minimum once per 24 hours) for update of the Globus grid-mapfile (see section join D-Grid).
Note-icon.png
  
Grid-mapfile:

The grid-mapfile located in the directory /etc/grid-security/ is necessary for the successful launch of the Globus container. If you have none of it, an empty file with the name grid-mapfile should be created.

In order to work with the Globus services, the following ports must be inserted as root in the file /etc/services:

gsiftp             2811/tcp 
gsigatekeeper      2119/tcp

In /etc/hosts the IP address of the server must be mapped to FQDN as follows: <IP ADDRESS> <FQDN> <hostname>

Furthermore, insert as 'root' the following entries in the file /etc/hosts.allow:

globus-gatekeeper:ALL:ALLOW
globus-gridftp-server:ALL:ALLOW

The extensions in order to enable Globus job submission to Torque is documented here.

The required configuration for every Globus service is documented in a separate section using the links from service section


Proceed

Globus Usage statistics

The Globus Toolkit provides functions for submitting personal user information to the Globus Alliance. These functions should be deactivated in the the D-Grid reference installation. Additional information about usage statistics is presented here.

This can be done as follows:

for Java components
in file $GLOBUS_LOCATION/etc/globus_wsrf_core/server-config.wsdd the attribute <globalConfiguration> comment the parameter usageStatisticsTargets with the:
     <!--
     <parameter name="usageStatisticsTargets" 
     value="usage-stats.globus.org:4810"/> 
     -->
for C components
Setup the environment variable GLOBUS_USAGE_OPTOUT with value 1.
Globus start script

The file /etc/init.d/globus-container serves as start/stop script for the container.

The contents of the file is as follows:

#!/bin/sh -e
# use RedHat feature:
# chkconfig: 345 80 50
#
# A script to start and stop the Globus Container
#
### BEGIN INIT INFO
# Provides: globus-container
# Required-Start: $network $remote_fs
# Required-Stop: $remote_fs $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
## Description: Start/stop the globus-container service.
### END INIT INFO
case "$1" in
  start)
   su - globus -c "/usr/local/globus/sbin/globus-start-container-detached -p 8443"
     ;;
   stop)
  su - globus -c "/usr/local/globus/sbin/globus-stop-container-detached"
     ;;
  restart)
   $0 stop
   sleep 1
   $0 start
   ;;
  *)
  printf "Usage: $0 {start&#124;stop&#124;restart}\n" >&2
  exit 1
  ;;
esac

The /etc/init.d/globus-container should be executed by root:


Initial test

  • Using a JDL file
    • The following job is described in XML format using the job description language (JDL). It is stated as a parameter during the job submission (see below).
    • First, create as grid user the file torqueJob.xml and fill it with the following content (see script section #Using a JDL file)

A detailed description of the job description language can be found here.

  • Generic Test
  • Torque Test

Update

  • Re-install Globus
Execute commands in installation directory as user 'globus'
  • Deinstallation
This procedure run as 'root' will delete the whole installation and configuration of Globus from the machine:
  • Remove installation directories and files
  • Remove the Globus entries, if they are available.
  • remove for GSI
  • remove for GRAM
  • remove for RFT
  • delete postgressql packages with YaST or YUM
  • Update
The updates for the 64-bit architecture are available. For the 32-bit machines were the same packages with gcc32 packages installed. More current fixes can be found here.

WARNING: Globus 4.0.7 fixes: It is highly recommended to install the following updates after the globus installation.

All the updates can be downloaded from here and must be installed by user globus:

Please open a NGI-DE ticket if you experience any Installation or Configuration problem.

Globus Toolkit services

Personal tools