SC Tape Setup Documentation
For the Service Challenges we are using an IBM 4560SLX tape library with two Quantum SDLT320 drives. Additionally to increase our tape-writing capacity during the early phase of SC3 we temporarily used 2 of TRIUMF's Overland NEO Series tape libraries.We have written a perl/mysql tape interface called smallhsm for the tape libraries. The software conforms to the dCache interface, and is composed of these files:
- smallhsm_libd
- this is the library daemon that waits for TCP connection requests from smallhsm clients. The daemon controls all tape libraries directly attached to the host.
- it runs on port 2345, waiting for clients to connect and send a command-line style request to 'get' or 'put' a pnfsid file to/from the library.
- syntax:
./smallhsm_libd
- smallhsm_client
- a prototype client that can make a request to the server daemon to handle a single pnfs file.
- syntax to connect to smallhsm_libd server running remotely:
./smallhsm_client -server somehost.triumf.ca \
put -si=size=BYTES\;group=triumf\;flag-c=2 \
pnfsid /data/filename - syntax to connect to smallhsm_libd server running on localhost:
./smallhsm_client put -si=size=BYTES\;group=triumf\;flag-c=2 \
pnfsid /data/filename - smallhsm_common.pm
- a perl module common to all smallhsm files - smallhsm_libd, smallhsm_client and other smallhsm modules.
- smallhsm_dv.pm
- a perl module that handles all device operations; that is, tape drive and tape library.
- this module includes the database module as well.
- this module is included by the library server daemon.
- smallhsm_db.pm
- a perl module that handles all database transactions.
- this module is included by the library server daemon and the device module (smallhsm_dv.pm).
- bin/
- smallhsm_libd, smallhsm_client, smallhsm_common.pm, smallhsm_db.pm, smallhsm_dv.pm
- doc/
- sqltabs.sql - mysql-compatible sql table definitions.
- etc/
- dbCredentials - login credentials and host info for smallhsm_db.pm
- smallhsm.conf - configuration file for smallhsm_libd
- var/
- sql.log - a record of all mysql transactions. It is in playback format, and thus could be replayed on a database to rebuild the database.