Install
A description of how to install UNL's modifications to the PNFS component of dCache. Meant only for internal developers with subversion access.
Download and Compile
- Download the source code from the UNL subversion repository.
- If you don't want to build from source, simply use the contents of dist/Nebraska-dCache.jar. Please note that Java 1.5 was used to compile this binary.
- Check prerequisites:
- Java.
- dCache server RPMs are installed on the server which will do the compile.
- Any modern version of Ant (if the binary ant is not on your path, try yum install ant).
- Build the source code using ant. From the top-level directory, simply type:
ant
This will automatically find the file build.xml and build the appropriate JAR.
Install PNFS
- Copy the JAR file to /opt/d-cache/classes.
- Add the JAR file to the class list in /opt/d-cache/classes/extern.classpath.
- Alternately, it might be more appropriate to edit the classpath variable in dCacheSetup, as this will not be overwritten during RPM upgrades.
- Change the class of the PnfsManager in /opt/d-cache/config/pnfs.batch to edu.unl.dCache.namespace.PnfsManagerClassic. The create line should read:
create edu.unl.dCache.namespace.PnfsManagerClassic PnfsManager \
- If you are using a different UNL-provided class, such as PnfsManagerV4, change this line appropriately.
- Add a line in pnfs.batch for the statslogfile option; we use:
-statslogfile=/var/log/pnfsTraceAlt.log \
Refer to the config/pnfs.batch file in the source for an example pnfs.batch using PnfsManagerV4. - Restart the PNFS cell with /opt/d-cache/jobs/pnfs.
Install Message Logging
This component asyncronously logs all PNFS messages received by the dCache cell. The fact that it logs in an async fashion helps to prevent any logging-related slowdowns. The actual logging component used is log4j, meaning that it is quite flexible in output.- As in the previous section, add the dCacheNebraska.jar file to the classpath.
- In the .batch file for the relevant component, add the following flag to the create command:
- -statslogfile=<logger name>
- Edit the provided logger.cfg file so the requested logger name is provided; a sample entry for PNFS is given in the file.
- Edit /opt/d-cache/config/<component name>Setup so the following flag is passed with java_options:
- -Dlog4j.configuration=/path/to/logger.cfg
- Restart the cell with /opt/d-cache/jobs/<component name>.