The dpm command starts the Disk Pool Manager. This command is usually executed at system startup time (/etc/rc.local). This will read the Disk Pool Manager "request" database configuration file, create a pool of threads and look for requests. Each of them is processed in a thread which opens a connection to the database server if necessary. When a request has been completed, the thread becomes idle until it is allocated to another request. The connection to the database server is kept open between 2 requests. If the Disk Pool Manager is being shutdown or not active, the requests are automatically retried by the client API.
All error messages and statistical information are kept in a log.
The Disk Pool Manager listen port number can be defined on client hosts and on the server itself in either of the following ways:
setting an environment variable DPM_PORT
an entry in /etc/shift.conf like:
If none of these methods is used, the default port number is taken from the definition of DPM_PORT in dpm_constants.h.
The Disk Pool Manager host name can be defined on client hosts in either of the following ways:
setting an environment variable DPM_HOST, for example:
an entry in /etc/shift.conf for example:
If none of these methods is used, the default host is taken from the definition of DpmHost in site.def.
The Disk Pool Manager "request" database keeps the requests and their status even after completion. By default, the requests are kept for ever, but an entry in /etc/shift.conf can set the retention period for the requests:
where req_retention can be "Inf" (for infinite) or expressed in years (suffix 'y'), months (suffix 'm'), days (suffix 'd'), hours (suffix 'h') or seconds (no suffix).
The Disk Pool Manager configuration file contains password information for the database and must be readable/writable only by root. It contains a single line in the format:
where 'username' and 'password' are the credentials to login to the database instance identified by 'server'. If 'dbname' is not specified, "dpm_db" is used.
In the log each entry has a timestamp. All entries corresponding to one request have the same request id. For each user command there is one message DP092 giving information about the requestor (hostname, uid, gid) and one message DP098 giving the command itself. The completion code of the command is also logged.
11/23 07:06:17 24395 dpm_serv: started 11/23 07:06:17 24395 dpm_serv: Supported protocols are: rfio gsiftp 11/23 07:06:17 24395 dpm_getpoolconf: getting existing disk pool configuration from the DB 12/06 07:09:11 18163,1 dpm_srv_put: DP092 - put request by 395,1028 from lxb0722.cern.ch 12/06 07:09:15 18163,1 dpm_srv_put: DP098 - put 2 59d0946e-1063-4a78-92f3-687a11efc1f6 12/06 07:09:15 18163,1 dpm_srv_put: DP098 - put 0 /dpm/dteam/testjpb22