Enstore Configuration Keys


 

Common Keys (for all servers)

All mandatory common keys must be defined in all servers and movers configurations

Key Description Presence Default
hostserver host nameMandatoryNone
hostipserver host IP addressMandatoryNone
portserver port numberMandatoryNone
lognameserver name in the logMandatoryNone
inq_ignoreif present the inquisitor will not monitor corresponding server OptionalNone
norestartif present inq will not restart corresponding server/mover OptionalNone
noupdown'enstore system' process will not look at the corresponding server
when generating the SAAG page,
and will not use the information in deciding to turn the ball red
OptionalNone
use_tcp_log_clientif present and True send log messages over TCP/IP OptionalNone

Priority

Key Description Presence Default
prioritypriority of incoming requestsOptionalNone

Discipline -restrict requests coming from certain (set of) host(s)

Key Description Presence Default
discipline
library_manager_1: # as described in configuration
{1: # first entry
'host': host1, # rule applies to this host (regex)
'function': discipline_function, # restrict_host_access
'args':[host1, # rule applies to this host
(max_allowed, # maximal concurrent requests
addtl_read, # additional reads for bound volumes
addtl_write) # additional writes for bound volumes
],
'action': action}, # ignore, noread, nowrite
2: {....
}
library_manager_2:
{ ...}
OptionalNone

Log Server Keys

Key Description Presence Default
log_file_path Directory for log files. MandatoryNone
msg_type_logslog extractions based on the log type pattern OptionalNone
max_queue_size Maximum size of the incoming message buffering queue. Optional200000
use_raw_inputUse buffer to pull out requests from UDP buffer as fast as possible. OptionalFalse

Library Manager Keys

Key Description Presence Default
allowallow host access on a per storage group. OptionalNone
lockif specified LM will start in this state. Allowed values:
lock - reject encp requests, give out works in the pending queue to movers
unlocked
ignore - do not put encp requests into pending queue, but return ok to encp
pause - same as ignore, but also do not give out works in the pending
moverlock - reject mover requests
nowrite - locked for write requests
noread - locked for read requests
Optionalunlocked
max_suspect_moversif number of suspect movers on which a given volume failed >= of max_suspect_movers, this volume will be set to NOACCESS state Optional3
suspect_volume_expiration_timeremove entry from suspect volume list after this period of time OptionalNone
min_file_sizeminimal file size Optional0
max_file_sizemaximal size of the file allowed by this library Optional2GB-2kB
max_in_activemaximal time allowed for the transfer to be in ACTIVE state Optional7200(s)
max_in_othermaximal time allowed for the transfer or mover to be in other than ACTIVE state Optional2000(s)
blank_error_incrementdo not set volume to NOACCESS in case of FTT_EBLANK error until the number of erros exceeds max_suspect_movers+blank_error_increment Optional5
legal_encp_versionminimal encp version number allowed to acess enstore OptionalNone
CleanTapeVolumeFamilyvolume family for cleaning tapes OptionalNone
storage_group_limitsMinimal amount of drives that can be used by a certain storage group (fair share) when different storage groups compete for tape drives OptionalNone
max_requestsMaximal amount of requests in the queue. The rest will be ignored (and retried later by encp) Optional3000 (No restart)
mover_portMovers will communucate with library manager on this port if specified. OptionalNone
encp_portClents (encp) will communucate with library manager on this port if specified. OptionalNone
use_raw_inputUse buffer to pull out requests from UDP buffer as fast as possible. OptionalFalse
volume_clerk_timeoutReceive TO for volume clerk requests Optional10 (s)
volume_clerk_retryNumber of retries for volume clerk requests Optional0
use_threadsUse separate threads for every mover request (shows problems during testing, avoid setting to True). OptionalFalse
use_LMDfor SFA clients use this Library Manager Director OptionalNone

Mover Keys

Key Description Presence Default
do_ejecteject tape on dismount Optional'yes'
do_cleaningclean tape drive by the mover request Optional'yes'
mc_devicemedia changer device as declared in the robot MandatoryNone
min_buffer minimal amount of memory to allocate for buffering when transferring data Optional8MB
max_buffermaximal amount of memory to allocate for buffering (recommended not less than 1GB Optional64MB
max_ratemaximum sustained transfer rate for writes. Used to calculate optimal buffer size. Recommended to set to the max. rate of the drive Optional11.2MB
devicepathname to the UNIX tape device MandatoryNone
dismount_delaydelayed dismount value to use when none specified by the client. Set to negative value to get "infinite" dismount delay Optional60s
mount_delaynumber of seconds to wait after media changer mount completes, before trying to open device. Default is 15 for FTT driver, 0 for NULL driver Optional15s
max_dismount_delaymaximal dismount delay that can be set for this mover Optional600s
librarylibrary(ies) that this mover serve MandatoryNone
driverlow lewel media driver ('FTTDriver' for tape, 'NullDriver' for null mover) MandatoryNone
max_consecutive_failuresnumber of any consecutive errors after which the mover goes OFFLINE Optional2
max_failuresMover will go OFFLINE if this many transfers fail within failure_interval (see below) Optional3
failure_intervalInterval for above Optional3600s
send_statssend tape drive statistics to the drivestat Data Base (defaul value 1, which means "send") Optional1
typespecifies the type of mover ('','Mover','DiskMover') Optional""
media_typemedia type used for the mover. Recommended to set to the type of the media Optional"8MM"
log_stateif set log the state of the mover processes. Used for debugging OptionalNone
syslog_entryexpression to match in the syslog for the low level failure diagnostics OptionalNone
restart_on_errorrestart mover if it went to the ERROR state. Default - do not restart OptionalNone
connect_timeoutTimeOut for mover connection to encp Optional15s
connect_retriesnumber of connection retries to encp Optional4
update_intervalinterval for the mover to ask LM for the work. Recommended value 5 s) Optional15
single_filemarkif not 0 write single file mark (Default value - 0 - write 2 filemarks) Optional0
check_written_fileif greater than 0, then randomly check files written using this number as the mean (default value:0 - don't check) Optional0
check_first_written_fileReread and check CRC on a first write after a tape mount Optional0
max_time_in_statemaximal time for a mover to be in any transfer state (other than IDLE or ACTIVE) Optional600s
max_in_state_cntif this counter expires Mover errors out with "Mover stuck..." message. Optional3
statistics_pathpath to the statistics file(default - None) OptionalNone
compression0 means no compression. Everything else means use the drive compression (default: None - use the drive compression). Set this key to 0!!! OptionalNone
get_remaining_from_statsget remaining bytes info from drive OptionalNone
blank_error_incrementSometimes ftt returns FTT_EBLANK for not blank tapes. To allow a tape to be in a pool and not to go to NOACCESS. Optional5
expected_time_factorIf time in state is more expected_time_factor * expected_transfer_time - break connection. Applies only for read requests. Optional50
read_crc_control0 - calculate CRC when transferring data, 1 - calculate CRC when reading from tape (old default behavior). Optional0
tmp_dir temporary place for written files (for disk mover only!) OptionalNone
remaining_factor Factor used to calculate remaining bytes based on the capacity: (remaining = remaining_factor*capacity) Optional0.01
read_error_recovery_timeout When read error happens tape drive tries to recover data. Recovery may take up to 30 min, but usually 20 min. This parameter controls recovery during read, so that mover just waits for read tape compeletion up to specified time Optional(sec)20*60.

Media Changer Keys

Some media changer keys are specific for different types of robotic libraries

Key Description Presence Default
typetype of the media changer (currently RDD_MediaLoader - for null movers, STK_MediaLoader, AML2_MediaLoader, Manual_MediaLoader) MandatoryNone
acls_hosthost name of STK robot control machine (specific for STK Library) MandatoryNone
acls_unameuser name to access STK robot control program (specific for STK Library) MandatoryNone
RobotArmrobot arm in AML2 robot (specific for AML2 robotic library) MandatoryNone
IdleTimeHomehome robot arm if it is idle and not in a home position after this period of time has expired (default 5 min, specific for AML2 robotic library) MandatoryNone
IOBoxMediaspecifies types of media and addresses of IO box for importing/exporting tapes into the robot (specific for AML2 robotic library) MandatoryNone
DriveCleanTimeif present, specifes the type of media, time until cleaning tape gets dismounted and number of cleaning cycles to clean a tape drive MandatoryNone
max_workif present, specifes the maximal number of simultaneous requests to robot. Optional7
tape_libraryif present, suplies a name to the tape library (robot) for reporting. OptionalSL8500

Volume Clerk Keys

Key Description Presence Default
max_noaccess_cntif number of volumes consecutively set to NOACCES reaches this number, the corresponding library will be paused Optional2
max_threads Number of threads processing requests concurrently Optional50
parallel_queue_sizeSize of request queue processed concurrently Optional100000

File Clerk Keys

Key Description Presence Default
max_threads Number of threads processing requests concurrently Optional50
sequential_queue_sizeSize of request queue processed sequentially Optional100000
parallel_queue_sizeSize of request queue processed concurrently Optional100000
brandbrand for bit file id to distinguish between systems Optional""

Info Server Keys

Key Description Presence Default
max_threads Number of threads processing requests concurrently Optional50
parallel_queue_sizeSize of request queue processed concurrently Optional100000

Database Keys

Key Description Presence Default
db_dirAux database directory MandatoryNone
db_dirDirectory where output of enstore backup command goes MandatoryNone
jou_direnstore database journal directory MandatoryNone
dbhostenstore database host MandatoryNone
dbnameenstore database name MandatoryNone
dbportenstore database port MandatoryNone
dbuserenstore database account MandatoryNone
dbuser_readerenstore readonly database account MandatoryNone
dbserverownerowner of enstore database server process MandatoryNone
dbareaenstore database area MandatoryNone

Accounting Server Keys

Key Description Presence Default
dbhostaccounting data base host machine MandatoryNone
dbportaccounting database port MandatoryNone
dbnameaccounting data base name MandatoryNone
dbuserenstore database account MandatoryNone
dbuserenstore readonly database account MandatoryNone
dbserverownerowner of enstore database server process MandatoryNone
dbareaenstore database area MandatoryNone

Drivestat Server Keys

Key Description Presence Default
dbhostdrivestat database host MandatoryNone
dbportdrivestat database port MandatoryNone
dbnamedrivestat data base name MandatoryNone
dbuserenstore database account MandatoryNone
dbuserenstore readonly database account MandatoryNone
dbserverownerowner of enstore database server process MandatoryNone
dbareaenstore database area MandatoryNone

Web Server Keys: define httpd.conf and top level directories

Key Description Presence Default
ServerHost name of the host running http serverMandatoryNone
ServerName name of web serverMandatoryNone
DocumentRoot top level web directoryMandatoryNone
ScoreBoardFile ScoreBoardFileMandatoryNone
PidFile full path to httpd pid fileMandatoryNone
CustomLog
combined full path to combined log file
referer full path to referer log file
agent full path to agent log file
Mandatory
Mandatory
Mandatory
None
None
None
ServerRoot location of httpd.conf (e.g. /etc/httpd)MandatoryNone
ScriptAlias
fake e.g. /cgi-bin/
real real path to cgi scripts
Mandatory
Mandatory
None
None

Inquisitor Keys

Key Description Presence Default
alive_rcv_timeoutamount of time to wait when doing a tcp transfer MandatoryNone
alive_retriesnumber of times to retry a failed tcp transfer MandatoryNone
default_alive_intervalnumber of seconds expected between alive messages from the event_relay MandatoryNone
default_hung_intervalnumber of seconds after which if no alive message is received, the server is marked as dead MandatoryNone
html_filedirectory location of the html web area MandatoryNone
http_log_file_pathpath to log files in the as used in a url MandatoryNone
max_encp_linesmaximum number of encps reported on the encp history page MandatoryNone
node_write_checkset an alarm if there are writes in the library manager queue (from these nodes) and there are no active transfers from the nodes MandatoryNone
refreshautomatic refresh rate for the web pages MandatoryNone
user_log_dirsdictionary specifying additional links that should be added to the log file web page under user log dirs MandatoryNone
www_hosturl description of the web host MandatoryNone

Alarm Server Keys

Key Description Presence Default
alarm_actionsdictionary describing actions to be taken when the specified alarms are received. the format is as follows:

{severity_string:[[action1, action_parameters, action_parameters],

...],

...}

    severity_string is one of:
  • 'A' - for a regular alarm
  • 'E' - for an error alarm
  • 'U' - for a User error/alarm
  • 'W' - for a warning alarm
  • 'I' - for an information alarm
  • 'C' - for an e-mailable alarm - only type with currently defined actions
    there currently is only one supported action:
  • send_mail
      send_mail first action_parameter
    • '*' - to send e-mail for every occurance
    • '1' - to send e-mail for just the first occurance, any additional alarms go to the alarms page

      send_mail second action_parameter is a dictionary of storage_group and e-mail address pairs or a string of comma seperated e-mails address
    • {'test' : 'enstore-auto@fnal.gov',

      'ssa_test' : 'ssa-group@fnal.gov,enstore-auto@fnal.gov'}

    • 'ssa-group@fnal.gov,enstore-auto@fnal.gov'
MandatoryNone

System Keys

Key Description Presence Default
allowed_downdictionary defining how many times a server is allowed down before it is marked with a red ball by the 'enstore system' command. each server has a list associated with it that has the followinw format - [number of consecutive times when checked and no alive message rcvd, timeout] MandatoryNone

Encp Keys

Key Description Presence Default
crc_seedvalue of the initial adler32 seed. the standard says this should be one, but some institutions have decided to use zero. Optional1

pnfs server Keys (optional)

Key Description Presence Default
hosthost on which pnfs server runs. MandatoryNone

Namespace Keys

Key Description Presence Default
name Name of namespace - any string. Enstore can support multiple namespaces. A unique name has to identify a namespace. MandatoryNone
Key Description Presence Default
master dictionary describing connection parameters to master database MandatoryNone
Key Description Presence Default
dbhost Host runnning namespace database MandatoryNone
dbname Database name MandatoryNone
dbport Database port MandatoryNone
dbuser Database user MandatoryNone
dbuser_reader Database read-only user MandatoryNone
MandatoryNone
MandatoryNone
Key Description Presence Default
replica dictionary describing connection parameters to replica database MandatoryNone
Key Description Presence Default
dbhost Host runnning namespace database MandatoryNone
dbname Database name MandatoryNone
dbport Database port MandatoryNone
dbuser Database user MandatoryNone
dbuser_reader Database read-only user MandatoryNone
MandatoryNone
MandatoryNone
Key Description Presence Default
backupDictionary describing database backup parameters MandatoryNone
Key Description Presence Default
host Backup destination host MandatoryNone
dir Backup destination directory MandatoryNone
MandatoryNone
MandatoryNone

Additional Keys for File Aggregation Configuration


See details in "Small Files Aggregation High Level Design" document.

Dispatcher

Key Description Presence Default
queue_workIncoming queue name MandatoryNone
queue_replyReply queue name MandatoryNone
queue_writeMigrator write queue or exchange name MandatoryNone
queue_readMigrator read queue or exchange name MandatoryNone
queue_purgeMigrator purge queue or exchange name MandatoryNone
Migrator reply queue name MandatoryNone
policy_filePath to file with current policies MandatoryNone
max_time_in_cacheMaximal time before files get purged from cache Optional1 hour
purge_watermarks Tuple

  • start purge if data space is full more than this factor
  • stop purge if data space is full less than this factor
OptionalNone
clustered_configurationEnable clustered configuration OptionalNone (Disabled)

Library Manager Director

Key Description Presence Default
queue_inAMQP queue name on which LM director communicates with proxy server Optional. Do not configure it not using UDP Proxy ServerNone
udp_proxy_serverproxy server with which LM director communicates Optional. encp communicates directly with LMD if proxy is not set.None
udp_portDefine this port and set it == 'port' if not using UDP Proxy Server OptionalNone
policy_filePath to file with current policies MandatoryNone

Migrator

Key Description Presence Default
migration_dispatchermigration dispatcher in configuration MandatoryNone
migrator_workmigrator work queue or exchange name on which migrator receives requests from dispatcher MandatoryNone
data_areadisk area where (written) files are stored MandatoryNone
archive_areadisk area where archive is created during data archiving MandatoryNone
stage_areadisk area where archived files get staged from tape MandatoryNone
tmp_stage_areadisk area where staged files are temporarily stored MandatoryNone
aggregation_hosthost on which aggregation (packing) is done (if defined) OptionalNone
staging_hosthost on which staging (unpacking) is done (if defined) OptionalNone
packages_dirdirectory in name space for packages MandatoryNone
dismount_delaydelay for dismounting tape MandatoryNone
delta_prioritydelta priority for encp calls Optional10
check_written_fileif greater than 0, then randomly check files written using this number as the mean Optional0 - do not check
tar_blocking_factorblocking factor for archiver (tar) OptionalNone
disk_librarydisk library to which this migrator belongs MandatoryNone
max_processMaximum number of work processes per migrator Optional10
archiverSpecify archive program (tar or zip) for writing migrator OptionalNone (use tar)

SFA Stats:defines parameters for SFA monitoring plots (Optional)

Key Description Presence Default
packaging_rates_datadisk area where the data for packaging rate plots is stored MandatoryNone
unpackaging_rates_datadisk area where the data for unpackaging rate plots is stored MandatoryNone

Last modified: Wed Dec 12 12:13:22 CST 2012