dCache Transfer Probe Installation
A VDT-independent method for installing the dCache Transfer Probes
- If you have the VDT install of dCache and follow the directions for enabling gratia there, you shouldn't need to do anything beyond making sure you are reporting to the collector at gratia-osg-transfer.opensciencegrid.org:80.
- Install the correct Nebraska repository for your machine.
- For 32-bit RHEL4-based Linux installs: rpm -i http://t2.unl.edu/store/rpms/SL4/i686/Nebraska-repo-0.1-1.noarch.rpm
- For 64-bit RHEL4-based Linux installs: rpm -i http://t2.unl.edu/store/rpms/SL4/x86_64/Nebraska-repo-0.1-1.noarch.rpm
- For 32-bit RHEL5-based Linux installs: rpm -i http://t2.unl.edu/store/rpms/SL5/i686/Nebraska-repo-0.1-1.noarch.rpm
- For 64-bit RHEL5-based Linux installs: rpm -i http://t2.unl.edu/store/rpms/SL5/x86_64/Nebraska-repo-0.1-1.noarch.rpm
- Though the RPM says "noarch", it is important to have the right repository for the right arch.
- If yum is not enabled on your system, make sure the Nebraska repository is enabled now.
- Install the RPMS appropriate for your site:
- For SL4 and SL5 hosts,
yum install gratia-probe-dCache-transfer-itb gratia-probe-dCache-storage-itb gratia-probe-common
- libpq is required; this should be already on your system if you have dCache installed, and may not be available through yum.
- IMPORTANT NOTE: Unfortunately, the above RPMs are packaged for libpq.so.4 -- this is the version of libpq distributed with Postgres 8.1.x. Several sites have reported this is not the version of libpq they use. Please consider installing both versions for now; we are separately working on a solution for libpq.so.5 support.
- If you do not have the billing DB component turned on, follow these directions.
- Log in to the billing DB using the following command:
psql -U postgres billing
If that command doesn't work, there might be something wrong with your config. - By using the following command,
\d doorinfo
make sure that there is an index on the datestamp and transaction fields, otherwise the probe will put significant load on your DB! The output should look like this:
\d billinginfobilling=# \d billinginfo
If you don't see an index, execute the following commands:
Table "public.billinginfo"
Column | Type | Modifiers
----------------+-----------------------------+-----------
datestamp | timestamp without time zone |
cellname | character varying |
action | character varying |
transaction | character varying |
pnfsid | character varying |
fullsize | numeric |
transfersize | numeric |
storageclass | character varying |
isnew | boolean |
client | character varying |
connectiontime | numeric |
errorcode | numeric |
errormessage | character varying |
protocol | character varying |
initiator | character varying |
Indexes:
"b_protocol" btree (protocol)
"dates" btree (datestamp)
"initiator" btree (initiator)
billing=# \d doorinfo
Table "public.doorinfo"
Column | Type | Modifiers
----------------+-----------------------------+-----------
datestamp | timestamp without time zone |
cellname | character varying |
action | character varying |
owner | character varying |
mappeduid | numeric |
mappedgid | numeric |
client | character varying |
transaction | character varying |
pnfsid | character varying |
connectiontime | numeric |
queuedtime | numeric |
errorcode | numeric |
errormessage | character varying |
path | character varying |
Indexes:
"transaction" UNIQUE, btree ("transaction")
"dates_di" btree (datestamp)create index transaction on doorinfo(transaction);
create index dates_di on doorinfo(datestamp);
create index initiator on billinginfo(initiator);
create index dates on billinginfo(datestamp); - The above commands may take awhile before they finish, especially if your billing database is large.
- Update the attributes in the following file: /opt/d-cache/gratia/probe/dCache-transfer/ProbeConfig.
- SSLRegistrationHost="gratia-osg-transfer.opensciencegrid.org:80"
- SOAPHost="gratia-osg-transfer.opensciencegrid.org:80"
- SiteName="<SE Name>"
- The <SE Name> should be the name of your SE in OIM.
- Edit any DB login information. The possible attributes are:
DBHostName="localhost"
DBLoginName="srmdcache"
DBPassword="srmdcache" - OnlySendInterSiteTransfers="false"
- EnableProbe="1"
- Copy osg-user-vo-map.txt from your CE to this machine; in ProbeConfig, point the UserVOMapFile attribute to the map file.
- The UserVOMapFile attribute isn't present by default in the ProbeConfig; you'll have to add it yourself.
- If the user-vo-map changes often, we recommend you automatically update this copy of the file.
- This page covers the gums-client installation and configuration -- if you skip the Hadoop / GridFTP probe portions. This would automatically update the file for you.
- Some sites don't use the same usernames for the SE and the CE! In this case, your SE admins will need to write a script which generates this file dynamically
- In this case, Gratia does in fact use the strange VOI/VOc "comment" lines at the beginning of the file. Write gratia-operations an email if you don't understand how to fill this information in correctly.
- In fact, you don't have to keep the "osg-user-vo-map.txt" name - you can name it anything you want as long as the UserVOMapFile points to it.
- Currently, the deployed probe will upload ALL of your records in the billing database. If this isn't desired, add the following line to your ProbeConfig file to make sure it goes back no more than 45 days:
MaxBillingHistoryDays="45"
- Add the init script to the boot policy:
/sbin/chkconfig --level 345 gratia-dcache-transfer on
- Start the script:
service gratia-dcache-transfer start
Make sure that there is a python process running afterward.
How do I check my install?
- Verify that the process /usr/bin/python dCacheBillingAggregator.py is running after you start your probe (and make sure it doesn't crash quickly)
- Look into the logs in the directory /opt/d-cache/gratia/var/logs. The collector interaction log is named YYYY-MM-DD (fill in with the year, month, day of today) and the probe logs are named dcacheTransfer.log. Neither should have anything nasty (error messages, stack traces) written in them and both should have continuous activity on active systems.
- Click on this link and make sure that your probe has contacted the transfer collector.
- Click on this link and make sure that your probe has fed transfer data to the collector under your site name.