Last revised: 2020-10-1
The following configuration can be applied to any RPM based platform supported by the Globus Toolkit v6, which includes the CentOS, RedHat, and SLES11 platforms used by XSEDE resources.
Certain packages that have traditionally been part of the XSEDE Globus Toolkit Client metapackage are no longer included, as they are no longer maintained or available. This includes GRAM5 package, the gridmap-callout library, and globus-usage.
The various clients connect to their respective services on assorted destination points. While several services are installed (to disk) as part of the Client installation, and can be run on alternate ports using user certificates, such useage isn't explicitly supported, and need not be planned for in firewall policy.
Firewall configuration is discussed in the configuration section below.
A GridFTP client connects to the server's control port, authenticates, provides credentials, and issues the file-transfer request. With 3rd party transfers the client connects to both the source and destination servers' control ports, authenticates, provides credentials, and tells the source server to transfer directly to the destination server.
Used by the data movers for all data transfers. Connections are always initiated by the data source. Ports are selected from the ephemeral/dynamic port range configured using the GLOBUS_TCP_PORT_RANGE environment variable. By default Globus Toolkit Client v6 will use the lowest available port in that range.
The XSEDE Repository provides source and binary RPM packages for XSEDE platforms (RHEL, CentOS, and SLES). Some XSEDE packages (including the XSEDE distribution of GSI OpenSSH) have dependencies on Globus Toolkit packages. Globus Toolkit packages can be found at two different locations: the XSEDE mirror of the GT6 packages that the Globus Project has released, and in the Extra Packages for Enterprise Linux (EPEL), where the community supported "Grid Community Toolkit" (GCT) packages are distributed.
Install the appropriate XSEDE platform repository using these instructions:
To install development repository packages replace "/production/" with "/development/" in the above URL.
Install the appropriate configuration files to enable EPEL for your distribution. The specific instructions for doing so can be found here.
Install the appropriate Globus platform repository on your machine from:
Replace "el7" with your platform in the following example:
# yum-config-manager --add-repo https://software.xsede.org/gt6/stable/repo/globus-toolkit-6-stable-el7.repo # rpm --import https://software.xsede.org/gt6/stable/repo/RPM-GPG-KEY-Globus
On RedHat based platforms, the command to install the latest GSI OpenSSH server and client from the repository configured above is:
# yum install globus-client-xsede
Note: If you are using the Globus Toolkit (unsupported) packages, and also have the EPEL repository configured, you must use the following command to disambiguate which packages you will get:
# yum install --disablerepo=epel globus-client-xsede
On SLES platforms, the proper command to install the latest GSI OpenSSH server from the configured repository is:
# zypper install globus-client-xsede
If you have already installed the Globus Toolkit Client v6 metapackage, but wish to update to the most recent release, the command is exactly the same as to install--yum will prompt you with a list of packages that will be updated as a result, and ask you whether or not you wish to install them. Select "y" at the prompt.
Alternate location installs are described below in the Testing section
There are no binaries provided for the Globus Toolkit version 6 for Solaris. You should install using the source installer as documented here
When installed from RPMs, there is little configuration necessary for the client software to function. It is, however, necessary to place a registration file for purposes of information services registration.
Register Globus Client v6 availability on your resource by creating a globus-client-xsede-6.reg file in your login kit's software directory.
for example:
$ cat << EOF > globus-client-xsede-6.reg Name = globus-client-xsede Version = 6.0 Description = XSEDE Globus Client metapackage HandleType = module HandleKey = globus-client-xsede/6.0 Default = yes EOF
Clients distributed in the XSEDE Globus Clients metapackage may connect to arbitrary destination ports (for example, GridFTP servers pick ephemeral ports, usually but not always in the 50,000-51,000 range for data transfers). Thus, outbound connections shouldn't be restricted.
See Testing section for examples of client operation
To update to the latest packages from the globus repo, one can simply do a "yum update" as root, and the Globus Toolkit packages will report any updates in the same manner as any other software package on your system. Due to the explicit version numbers in the metapackage dependencies, it will be necessary to tell yum to allow it to override those dependencies for the update.
This quickstart will walk thru testing some example Globus Toolkit Client v6 commands.
Run the following commands:
$ grid-proxy-init $ globus-url-copy gsiftp://<your_gridftp_server>/etc/group file:///tmp/`whoami`.$$ $ grid-proxy-destroy
Success looks like:
[testuser@xsedeResource] grid-proxy-init Your identity: /DC=org/DC=doegrids/OU=People/CN=Xsede Testuser 332900 Enter GRID pass phrase for this identity: Creating proxy ..................................... Done Your proxy is valid until: Wed Oct 19 02:15:18 2005 [testuser@xsedeResource] globus-url-copy gsiftp://<your_gridftp_server>/etc/group file:///tmp/`whoami`.$$ [testuser@xsedeResource] diff /tmp/`whoami`.* /etc/group[testuser@xsedeResource] rm /tmp/testuser.892 [testuser@xsedeResource] grid-proxy-destroy
replace /path/to/installation/ with the actual path to your installation.:
Note: i386 architectures should use "lib" below, x86_64 should use "lib64"
$ cat << EOF > globus-client-xsede.module #%Module1.0#################################################################### proc ModulesHelp { } { global _module_name puts stderr "The $_module_name modulefile defines the default system paths and" puts stderr "environment variables needed to use the $_module_name libraries and tools." puts stderr "" } set _module_name [module-info name] module-whatis "globus client xsede 6.0-3 " prepend-path GLOBUS_LOCATION /path/to/installation setenv GLOBUS_HOSTNAME `/path/to/installation/usr/bin/globus-hostname` setenv GLOBUS_PATH /path/to/installation prepend-path LD_LIBRARY_PATH /path/to/installation/usr/[lib|lib64] prepend-path LIBPATH /path/to/installation/usr/[lib|lib64] prepend-path SHLIB_PATH /path/to/installation/usr/[lib|lib64] prepend-path MANPATH /path/to/installation/usr/share/man prepend-path PATH /path/to/installation/bin:/path/to/installation/usr/sbin setenv GLOBUS_TCP_PORT_RANGE 50000,51000 setenv RSHCOMMAND /usr/bin/ssh setenv MYPROXY_SERVER myproxy.xsede.org EOF
For debugging information, please see the Globus Globus Toolkit Client v6 debugging documentation.
For troubleshooting information please see the Globus Globus Toolkit Client v6 Troubleshooting documentation.