middleware:Globus/service/RFT
RFT
RFT configuration
Configure the PostgreSQL database:
As root user edit the /etc/sysconfig/postgresql file, to ensure that TCP/IP connections (option -i) are allowed:
$ vi /etc/sysconfig/postgresql # Add: POSTGRES_OPTIONS="-i"
As the postgres user initialize the new database:
> initdb -D /var/lib/pgsql/data
As the postgres user allow access to the globus user as follows:
> vi /var/lib/pgsql/data/pg_hba.conf
Add to the end of file:
host[TAB]rftDatabase[TAB]globus[TAB]<IP-addresses of GT4 frontends>[TAB]255.255.255.255[TAB][md5/trust]
| [TAB] stands for Tab input. For security reasons, it is recommended that you have a password protection. If the password protection is desired, md5 is used, otherwise trust will be used. If a password protection is set, you must give a password to every database user. |
Restart as root user the PostgreSQL database server:
$ /etc/init.d/postgresql restart
As postgres user create a database ID for the user globus.
> createuser globusAnswer to the next question with "y". The password for the database ID globus will be asked.
Execute The shell script /usr/local/bin/globus-env-setup.sh as postgres user:
> . /usr/local/bin/globus-env-setup.sh
Now create the RFT database as postgres user:
> createdb rftDatabase > psql -d rftDatabase -f $GLOBUS_LOCATION/share/globus_wsrf_rft/rft_schema.sql
As globus user configure the using of the RFT database.
% vi $GLOBUS_LOCATION/etc/globus_wsrf_rft/jndi-config.xml #If the password protection is active, setup the chosen password 'foo'. Otherwise leave an empty string. <resource name="dbConfiguration" type="org.globus.transfer.reliable.service.database.RFTDatabaseOptions"> <resourceParams> <parameter> <name> driverName </name> <value> org.postgresql.Driver </value> </parameter> <parameter> <name> connectionString </name> <value> jdbc:postgresql://dgiref-globus.fzk.de/rftDatabase </value> </parameter> <parameter> <name> userName </name> <value> globus </value> </parameter> <parameter> <name> password </name> <value> </value> </parameter> </resourceParams> </resource>
Restart as root user the Globus Container:
$ /etc/init.d/globus-container restart
RFT test
If the RFT service is properly configured, it should be possible to copy a test file as follows:
As globus user copy the file transfer.xfr to a temporary directory like /tmp.
In the file /tmp/transfer.xfr replace the entry localhost by the Globus frontend FQDN and create an empty test file:
% cp $GLOBUS_LOCATION/share/globus_wsrf_rft_test/transfer.xfr /tmp % touch /tmp/rftTest.tmp
Start the test as grid user:
> rft -h <FQDN> -f /tmp/transfer.xfr