RLS-Installation

About NDGF

About
People
Meetings
Forums
Steering Board

Documents

Presentations
Technical
Managemental
Links

Activities

Planning
Operation
Middleware
Tier-1

e-Science Projects

CERN
BioGrid
CO2
CC-VO


Added by Mattias Ellert, last edited by Anders Rhod Gregersen on Sep 13, 2007  (view change)

Labels:

Enter labels to add to this page:
Wait Image 
Looking for a label? Just start typing.

RLS Server Installation

RLS is part of globus. Install RLS in the same way globus was installed. For RPM based systems I recommend using the RPMs available form the NorduGrid repository. This can be achieved by using the command

yum install globus_rls_server

You should also install the globus_rls_server_setup package. Unfortunately, the latest globus_rls_server_setup RPM (globus_rls_server_setup-4.4-0.7.xxx) from the testing repostitory have spurious RPM dependencies (see NorduGrids bugzilla #994). You can however install it manually with --nodeps without harm.

If you install the RLS server from sources, make sure that you apply the patch to allow storing longer filenames in the server. This is essential for ATLAS, since some of their PFNs are longer than 250 characters.

To avoid dragging in unnecessary globus dependencies the RLS server is preferably built against the unixODBC included in the linux distribution.

Database backend

RLS can be deployed using various database backends: MySQL, postgreSQL, SQLite, etc.

I have only experience using MySQL.

MySQL 3.x

Don't use MySQL 3.x, you will get lots of errors in the log file about unsupported rollbacks, and the reference counters in the database will get severely out of synch.

MySQL 4.x

Make sure you are using a version where bug 6536 has been fixed. Otherwise you will get into trouble using the mysql-odbc-connector.

If you are using the patch to allow longer filenames you shouldn't use MySQL 4.x, since it doesn't allow varchar(500) fields.

Also if ATLAS's localreplica LRC mimicking view is needed you can't use MySQL 4.x since it doesn't support defining views.

MySQL 5.x

Same issue regarding bug 6536 applies for this version.

Configuring RLS

The globus_rls_server_setup package installs a template in /opt/globus/etc/globus-rls-server.conf. It is possible to run more than one RLS on the same host if they use different ports.

if your distribution includes a mysql-odbc-connector package built against a MySQL 4.x client you can use it even if you are using a MySQL 5.x server as your database backend.

A sample configuration file:

db_user                 dc3user
db_pwd                  dc3pwd
odbcini                 /opt/globus/var/odbc.ini

maxconnections          800
maxfreethreads          10
maxthreads              100
pidfile                 /opt/globus/var/globus-rls-server-39281.pid
port                    39281
update_immediate        true            # Propagate changes to RLI quickly

lrc_server              true
lrc_dbname              dc3lrc

rli_server              true            # Indicates this is an RLI server
rli_dbname              dc3rli          # mysql-database-name

acl <some DN>: lrc_read lrc_update rli_read rli_update stats
acl <some DN>: lrc_read rli_read stats

The corresponding /opt/globus/var/odbc.ini would then be something like this:

[ODBC Data Sources]
dc3lrc = DC3 LRC Database
dc3rli = DC3 RLI Database

[dc3lrc]
Description  = LRC Database
Driver       = /usr/lib/libmyodbc3_r.so
User         = dc3user
Password     = dc3pwd
Database     = dc3lrc
ReadOnly     = no
Option       = 65536

[dc3rli]
Description  = RLI Database
Driver       = /usr/lib/libmyodbc3_r.so
User         = dc3user
Password     = dc3pwd
Database     = dc3rli
ReadOnly     = no
Option       = 65536

[Default]
Server       = localhost
Port         = 3306

Configuring MySQL

You have to increase the number of allowed connections to the MySQL server from the default to at least the number of allowed connections to the RLS server. Add something like this to the server's my.cnf file (the format varies slightly between versions of MySQL):

[mysqld]
set-variable=max_connections=1000

The globus_rls_server_setup package installs a set of SQL scripts to create the databases if you are starting a new server. If you are restoring or migrating an existing service you import/migrate the database from backup or the old server instead.