middleware:Globus/service/RFT

From Dgiref
Jump to: navigation, search

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]

Note-icon.png
  
[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 globus

Answer 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
Personal tools