glite-lb-bkserverd (8) Linux Manual Page
glite-lb-bkserverd – bookkeeping server daemon
Synopsis
glite-lb-bkserverd [options]
Description
glite-lb-bkserverd accepts L&B events from interlogger, manages the data storage, and serves user queries (L&B consumer clients). Currently, the data are stored in MySQL database. The main process spawns several slave processes. Then it listens on port (default value is 9000) for consumer queries and port+1 for interlogger daemon requests to store events to database. Requests are redirected to the slaves (and picked up by the first free slave process). All the connection handling and data processing (including SSL handshake) is performed by the slaves. The slaves voluntarily die and are resurrected periodically to workaround potential resource leakage.
Options
-aHOST:PORT, –address HOST:PORT- Make the server pretend (wrt. data handling) it listens on HOST:PORT instead of the real listening address. This is used for debugging and various administrative purposes (e.g. computing usage statistics on data dumped from another server).
-cFILE, –cert FILE- Get certificate from FILE. This option overrides the $X509_USER_CERT environment variable.
-bSWITCH, –transactions SWITCH- Set transaction on/off. SWITCH is true where its value is not 0.
-CDIR, –CAdir DIR- Trusted CA’s certificates directory. DIR. This option overrides the $X509_CERT_DIR environment variable.
-VDIR, –VOMSdir DIR- Trusted VOMS server’s certificates directory. DIR. This option overrides the $X509_VOMS_DIR environment variable.
-d, –debug- Don’t run as daemon. Additional diagnostics are not enabled, they can be configured through log4c instead.
-r, –rgmaexport- Write state info to RGMA interface.
-iFILE, –pidfile FILE- Store master pid into FILE instead of the default pidfile location. Unless unavoidable it is not recommended to change the pidfile location as it is also used for locking to prevent starting up multiple server instances and to generate the semaphore set unique key (see option -l).
-kFILE, –key FILE- Get private key from FILE. This option overrides the $X509_USER_KEY environment variable.
-lNUM, –semaphores NUM- Use NUM semaphores (job locks).
To prevent race conditions on simultaneous event storage and job-state updates
glite-lb-bkserverduses a set of semaphores to lock jobs. Jobids are hashed to the semaphores and only one of the set of jobs that map to a particular semaphore may be updated at any given time. Therefore NUM is a limit on potential processing parallelism.NUM defaults to the number of slaves (see -s).
-LNUM:NUM:NUM, –limits NUM:NUM:NUM- Limit the maximum number of returned jobs/events that match user query to NUM:NUM:NUM in format events_limit:jobs_limit:size_limit.
-NNUM, –notif-dur NUM- Maximal duration of notification registrations in hours NUM.
-SPREFIX, –purge-prefix PREFIX- Purge files full-path prefix PREFIX.
-DPREFIX, –dump-prefix PREFIX- Dump files full-path prefix PREFIX.
-JDIR, –jpreg-dir DIR- JP registration temporary files prefix (implies ‘-j’). DIR.
-j, –enable-jpreg-export- Enable JP registration export (disabled by default).
-mSTRING, –mysql STRING- STRING is a database connect string in the form
USER_NAME/PASSWORD [at] DB_HOSTNAME:DB_NAME It defaults to lbserver/@localhost:lbserver20.
-n, –noauth- Turn off any authorization.
-pNUM, –port NUM- Listen on the port NUM.
-wNUM, –wsport NUM- Set port to serve the web services requests to NUM.
-r, –rgmaexport- Write state info into the RGMA interface. Experimental.
-sNUM, –slaves NUM- Fork NUM slaves.
–super-userUSER, –super-user-file FILE- Bypass query authorization (i.e. return results anyway) when USER (or users listed in FILE) connect.
–no-indexNUM- Disable checking the indices for superusers (NUM=1) or entirely (NUM=2).
–strict-locking- (not recommended). Use a more strict locking strategy — lock jobs sooner, when events are stored, not just for status update. This prevents a non-probable but still possible race condition with parallel purge but may slow down processing on heavy loaded servers. Anyway, the only consequence of the race condition is a little garbage left in the database which is cleaned form time to time anyway.
–notif-il-sockSOCK- Socket SOCK to send notifications.
–notif-il-sockPREFIX- File PREFIX for notifications.
–count-statisticsNUM- Count certain statistics on jobs for superusers (NUM=1) or for all (NUM=2).
-tNUM, –request-timeout NUM- Request timeout NUM for one client.
–silent- Do not print diagnostic, even if -d is on.
-g–greyjobs- Allow delayed registration (grey jobs), implies –strict-locking.
-A,–enable-lcas- Activate LCAS-based authorization.
-I,–rss-timeNUM- Set the maximal age (in seconds) of states published via RSS.
-P,–proxyonly- Run only proxy service.
-B,–withproxy- Run both server and proxy service.
-o,–sock- Path-name to the local socket for communication with LB proxy.
-q,–con-queue- Size of the connection queue (accept).
-W,–proxy-il-sock- Socket to send events to.
-Z,–proxy-il-fprefix- File prefix for events.
-G,–proxy-purge- Enable automatic purging of the jobs in terminal state for proxy service (disabled by default, purging cron job installed by YAIM).
-E,–exclusive-zombies-off- Disable checking of purged jobs when registering jobs with the EDG_WLL_LOGLFLAG_EXCL flag set.
Files
- /var/run/edg-bkserverd.pid
- if running as root (not recommended).
- $HOME/edg-bkserverd.pid
- otherwise.
- File to store pid and to generate semaphores key.
- No configuration files needed.
Environment
X509_USER_KEY- If $X509_USER_KEY is set, it is used to locate private key file.
X509_USER_CERT- If $X509_USER_CERT is set, it is used to locate certificate file.
X509_CERT_DIR- If $X509_CERT_DIR is set, it is used to locate the trusted CA’s certificates and ca-signing-policy files.
X509_USER_PROXY- If $X509USER_PROXY is set, it is used to locate proxy certificate file.
EDG_WL_RGMA_FILE- If $EDG_WL_RGMA_FILE is set, it is used as name of file for sharing data with RGMA services.
EDG_WL_RGMA_SOCK- If $EDG_WL_RGMA_SOCK is set, it is used as name of socket for communication with RGMA.
Bugs
In a case of a sudden crash, alive slave processes may survive or some resources (IPC locks, open ports) may stay allocated. Please, deal with such problems via standard commands kill and ipcrm. Please report all bugs to CESNET gLite L&B issue tracker available at https://github.com/CESNET/glite-lb/issues
See Also
glite-lb-bkindex(8), glite-lb-purge(1), glite-lb-interlogd(8), glite-lb-logd(8), glite-lb-logevent(1),
Author
EU EGEE, JRA1.
