Back to BeStMan 2 User's Guide Home
# for 5 GB quota allocation per user ReplicaQualityStorageUserQuotaMB=5000 # 1GB quota allocation per request DefaultMBPerToken=1000 # for 40% of the storage that can be reserved by space reservation PublicSpaceProportion=60
Cmnd_Alias SRM_CMD = /bin/rm, /bin/mkdir, /bin/rmdir, /bin/mv, /bin/cp, /bin/ls Runas_Alias SRM_USR = ALL, root daemon ALL=(SRM_USR) NOPASSWD: SRM_CMD
supportedProtocolList=gsiftp://host1.domain.tld;gsiftp://host2.domain.tld
staticTokenList=token_name[desc:token_desc][token_size_in_GB]
localPathListToBlock=/data/path1;/data/path2;/data/path3
localPathListAllowed=/data/path1;/data/path2;/data/path3
These below examples with the same configuration may not work for your environment. For each option, choose the value that fits your environment.
% configure \ --enable-gateway-mode
% configure \ --enable-full-mode \ --with-replica-storage-path=/data/bestman/cache \ --with-replica-storage-size=20000
% configure \ --with-globus-tcp-port-range=62001,62999 \ --with-cacert-path=/etc/grid-security/certificates \ --with-certfile-path=/opt/srm/demo/srmcert.pem \ --with-keyfile-path=/opt/srm/demo/srmkey.pem \ --with-eventlog-path=/data2/destman/log \ --with-cachelog-path=/data2/bestman/log
% configure \ --with-https-port=8443 \ --with-globus-tcp-port-range=48001,48999 \ --with-cacert-path=/etc/grid-security/certificates \ --with-certfile-path=/opt/srm/demo/srmcert.pem \ --with-keyfile-path=/opt/srm/demo/srmkey.pem \ --with-eventlog-path=/data2/destman/log \ --with-cachelog-path=/data2/bestman/log
% configure \ --with-globus-tcp-port-range=48001,48999 \ --with-https-port=48443 \ --with-eventlog-path=/data2/bestman/log \ --with-cachelog-path=/data2/bestman/log \ --with-certfile-path=/opt/srm/demo/srmcert.pem \ --with-keyfile-path=/opt/srm/demo/srmkey.pem \ --with-globus-location=/software/globus-4.2.1
% configure \ --with-globus-tcp-port-range=48001,48999 \ --with-https-port=48443 \ --with-eventlog-path=/data2/bestman/log \ --with-cachelog-path=/data2/bestman/log \ --with-certfile-path=/opt/srm/demo/srmcert.pem \ --with-keyfile-path=/opt/srm/demo/srmkey.pem \ --with-globus-location=/software/globus-4.2.1 \ --enable-gums \ --with-gums-url="https://gums-server.lbl.gov:8443/gums/services/GUMSAuthorizationServicePort"
% configure \ --enable-gateway-mode \ --with-globus-tcp-port-range=48001,48999 \ --with-https-port=48443 \ --with-eventlog-path=/data2/bestman/log \ --with-certfile-path=/etc/grid-security/hostcert.pem \ --with-keyfile-path=/etc/grid-security/hostkey.pem \ --with-globus-location=/software/globus-4.2.1 \ --enable-gums \ --with-gums-url="https://gums-server.lbl.gov:8443/gums/services/GUMSXACMLAuthorizationServicePort"
% configure \ --with-https-port=48443 \ --enable-sudofsmng \ --with-tokens-list="data[desc:mydata][10];data2[desc:mydata2][12]"
% configure \ --with-https-port=48443 \ --enable-sudofsmng \ --with-blocked-paths=î/projects/blocked;/projects2/blocked2î \ --with-tokens-list="data[desc:mydata][10];data2[desc:mydata2][12]"
% configure \ --with-https-port=48443 \ --enable-sudofsmng \ --with-aloowed-paths=î/projects/data;/projects2/data2î \ --with-tokens-list="data[desc:mydata][10];data2[desc:mydata2][12]"
% configure \ --enable-gateway-mode \ --with-globus-tcp-port-range=48001,48999 \ --with-https-port=48443 \ --with-eventlog-path=/data2/bestman/log \ --enable-sudofsmng \ --with-blocked-paths=î/projects/blocked;/projects2/blocked2î \ --with-tokens-list="DT1[desc:DT1][owner:exprt][retention:REPLICA][latency:ONLINE][path:/data][12]"
% configure \ --enable-gateway-mode \ --with-globus-tcp-port-range=48001,48999 \ --with-https-port=48443 \ --with-eventlog-path=/data2/bestman/log \ --with-eventlog-size=500000000 \ --with-eventlog-num=10 \ --enable-sudofsmng \ --with-blocked-paths=î/projects/blocked;/projects2/blocked2î \ --with-tokens-list="DT1[desc:DT1][owner:exprt][retention:REPLICA][latency:ONLINE][path:/data][12]"
% configure \ --enable-gateway-mode \ --with-connector-queue-size=512 \ --with-connection-acceptor-thread-size=8 \ --with-max-container-threads=2048 \ --with-max-java-heap=4096 \ --with-globus-tcp-port-range=48001,48999 \ --with-https-port=48443 \ --with-eventlog-path=/data2/bestman/log \ --with-eventlog-size=500000000 \ --with-eventlog-num=10 \ --enable-sudofsmng \ --enable-sudols \ --with-allowed-paths=î/projects/data/allowed;/projects2/mnt/data/allowed2î \ --with-tokens-list="DT1[desc:DT1][owner:exprt][retention:REPLICA][latency:ONLINE][path:/data][12]" \ --enable-gums \ --with-gums-url="https://gums-server.lbl.gov:8443/gums/services/GUMSXACMLAuthorizationServicePort"
--with-srm-home=<PATH> | Installation path for BeStMan2. If not given, it will be guessed based on the current working directory. |
---|---|
--enable-serveronly | Installation for BeStMan server only (default=no). By default, all server, client and tester are installed. |
--enable-clientonly | Installation for SRM clients only (default=no). By default, all server, client and tester are installed. |
--enable-testeronly | Installation for SRM tester only (default=no). By default, all server, client and tester are installed. |
--enable-verbose | Print output to the standard output during the configuration |
--enable-backup | Enable backup before running a new configuration if there is a previous configuration (default=no) |
--enable-checksum-listing | Enable checksum returns in file browsing (default=no) |
--enable-debug-jetty | Enable debugging Jetty requests (default=no). |
--enable-eventlog | Enable event logging (default=yes). When disabled, there is no logging performed. |
--enable-gsiftpfsmng | Enable GridFTP access for local MKDIR, RMDIR, RM, MV, CP and LS to the user managed spaces (default=no) |
--enable-gums | Enable GUMS interface (default=no) |
--enable-java-version-check | Enable java version check (default=yes). It checks if java version is 1.6.0_01 or higher. |
--enable-sudofsmng | Enable SUDO access for local MKDIR, RMDIR, RM, MV and CP to the user managed spaces (default=no) |
--enable-sudols | Enable SUDO access for local LS to the user managed spaces (default=no) |
--enable-voms-validation | Enable VOMS validation (default=no) |
--with-allowed-paths=<PATH> | Specify accessible paths only (separated by semi-colon) |
--with-backup-tag=<STRING> | Specify the tag for backups during configure |
--with-blocked-paths=<PATH> | Specify Non-accessible paths (in addition to /;/etc;/var). Multiple entries are separated by semi-colon. |
--with-cacert-path=<PATH> | Specify the Grid CA Certificate directory path (default=/etc/grid-security/certificates) |
--with-cached-id-lifetime=<INT> | Specify the lifetime of cached id mapping in seconds (default=1800) |
--with-certfile-path=<PATH> | Specify the Grid Certificate file path (default=/etc/grid-security/hostcert.pem) |
--with-checksum-callout=<PATH> | Specify path for checksum call-out command |
--with-checksum-type=<STRING> | Specify the checksum type (default=adler32) from adler32, md5, crc32 |
--with-concurrent-fs=<INT> | Specify the number of concurrent file system involved operations processing |
--with-connector-queue-size=<INT> | Specify the size of the Jetty http connector queue size |
--with-connection-acceptor-thread-size=<INT> | Specify the number of acceptor threads available for the Jetty server's channel connector |
--with-eventlog-level=<STRING> | Specify the event log level (default=INFO) from INFO and DEBUG |
--with-eventlog-num=<INT> | Specify the maximum total number of event log files |
--with-eventlog-path=<PATH> | Specify the event log file directory path (default=/var/log) |
--with-eventlog-size=<INT> | Specify the maximum size of event log files in bytes |
--with-extra-libs=<PATH> | Specify the extra libraries definitions |
--with-globus-tcp-port-range=<VALUES> | Specify the GLOBUS_TCP_PORT_RANGE when firewall is enabled. E.g. 62001,62999 |
--with-globus-tcp-source-range=<VALUES> | Specify the GLOBUS_TCP_SOURCE_RANGE when necessary |
--with-gridmap-path=<PATH> | Specify the grid-mapfile path (default=/etc/grid-security/grid-mapfile) |
--with-gums-certfile-path=<PATH> | Specify the GUMS client Grid Certificate file path (default=same as –with-certfile-path) |
--with-gums-dn=<DN> | Specify the GUMS client service DN that GUMS server would recognize (default=SRM service DN) |
--with-gums-keyfile-path=<PATH> | Specify the GUMS client Grid Certificate Key file path (default=same as –with-keyfile-path) |
--with-gums-proxyfile-path=<PATH> | Specify the GUMS client Grid proxy file path |
--with-gums-url=<URL> | Specify GUMS server service URL with service handle |
--with-https-port=<PORT> | Specify the https port (default=8443) |
--with-java-home=<PATH> | Specify the JAVA_HOME directory |
--with-keyfile-path=<PATH> | Specify the Grid Certificate Key file path (default=/etc/grid-security/hostkey.pem) |
--with-max-container-threads=<INT> | Specify the max thread pool size for the web service container (default=256) |
--with-max-java-heap=<INT> | Specify the max java heap size in MB (default=1024) |
--with-min-container-threads=<INT> | Specify the min thread pool size for the web service container (default=10) |
--with-min-java-heap=<INT> | Specify the min java heap size in MB (default=32) |
--with-plugin-path=<PATH> | Specify the plug-in library directory path when supported |
--with-protocol-selection-policy=<STRING> | Specify the definition of transfer protocol selection policy |
--with-proxyfile-path=<PATH> | Specify the Grid proxy file path |
--with-srm-owner=<LOGIN> | Specify the BeStMan SRM server process owner (default=root) |
--with-tokens-list= |
Specify pre-allocated static space tokens list with their sizes when supported. Format: token_name[KEY:VALUE][size_in_GB] KEY = desc, owner, retention, latency, path, usedBytesCommand retention avail values = REPLICA, OUTPUT, CUSTODIAL latency avail values = ONLINE, NEARLINE usedBytesCommand = e.g. some custom script or "du -s -b". Its output must have the available bytes as the first value. |
--with-transfer-servers=<STRING> | Specify supported file transfer servers |
--with-user-space-key=<STRING> | Specify user space keys format: (key1=/path1)(key2=/path2) |
--with-vomsdir-path=<PATH> | Specify the VOMS directory path |
--enable-checkfile-fs | Enable use of file system to check file size (default=yes) |
---|---|
--enable-checkfile-gsiftp | Enable use of GridFTP to check file size (default=no). This option may not work with LCG-utils because of delegation issues. |
--enable-gateway-mode | Enable BeStMan in gateway mode (default=yes). Gateway mode provides an SRM interface to any existing file system with faster request handling performance. There will be no management for space or queuing. |
--enable-pathfortoken | Enable PathForToken mode (default=yes) |
--with-cachelog-path=<PATH> | Specify the CacheLogFile directory path (default=/var/log) |
---|---|
--with-concurrency=<INT> | Specify the number of concurrent requests (default=40) |
--with-concurrent-filetransfer=<INT> | Specify the number of concurrent file transfers (default=10) |
--with-custodial-storage-path=<PATH> | Specify the CustodialQualityStorage directory path |
--with-custodial-storage-size=<INT> | Specify the CustodialQualityStorage Size in MB |
--with-default-filesize=<INT> | Specify the default file size in MB (default=500) |
--with-default-space-size=<INT> | Specify the default size for space reservation in MB (default=1000) |
--with-globus-location=<PATH> | Specify the GLOBUS_LOCATION path |
--with-gridftp-buffersize=<INT> | Specify the gridftp buffer size in bytes (default=1048576) |
--with-gridftp-parallel-streams=<INT> | Specify the number of gridftp parallel streams (default=2) |
--with-inactive-transfer-timeout=<INT> | Specify the default time out value for inactive user file transfer in seconds (default=300) |
--with-max-filerequests=<INT> | Specify the maximum number of active file requests (default=1000000) |
--with-max-mss-connection=<INT> | Specify the maximum MSS file transfers when supported (default=5) |
--with-max-users=<INT> | Specify the maximum number of active users (default=100) |
--with-mss-timeout=<INT> | Specify the MSS connection timeout in seconds when supported (default=600) |
--with-output-storage-path=<PATH> | Specify the OutputQualityStorage directory path |
--with-output-storage-size=<INT> | Specify the OutputQualityStorage Size in MB |
--with-public-space-proportion=<INT> | Specify default size for SRM owned volatile space in percentage (default=80) |
--with-public-space-size=<INT> | Specify the default size for SRM owned volatile space in MB |
--with-space-file-lifetime=<INT> | Specify the default lifetime of files in public space in seconds (default=1800) |
--with-volatile-file-lifetime=<INT> | Specify the default lifetime of volatile files in seconds (default=1800) |
Upon successful configuration, bestman2/conf/bestman2.rc would be created. Each entry has the following meaning, and it's for both gateway mode and full mode unless noted otherwise.
These entries have the default values when configured.
CacheLogLocation |
|
---|---|
^ | e.g. CacheLogLocation=/tmp/bestman/cache.bestman.log e.g. CacheLogLocation=/tmp/bestman |
CertFileName |
|
^ | e.g. CertFileName=/etc/grid-security/hostcert.pem |
EventLogLocation |
|
^ | e.g. EventLogLocation=/tmp/bestman/event.bestman.log e.g. EventLogLocation=/tmp/bestman |
FactoryID |
|
^ | e.g. FactoryID=server |
GridMapFileName |
|
^ | e.g. GridMapFileName=/etc/grid-security/grid-mapfile |
KeyFileName |
|
^ | e.g. KeyFileName=/etc/grid-security/hostkey.pem |
noCacheLog |
|
^ | e.g. noCacheLog=true |
noEventLog |
|
^ | e.g. noEventLog=true |
protocol |
|
^ | e.g. protocol=httpg |
ProxyFileName |
|
^ | e.g. ProxyFileName=/tmp/proxyFile |
securePort |
|
^ | e.g. securePort=8443 |
useBerkeleyDB |
|
^ | e.g. useBerkeleyDB=true |
These entries have the default values when configured.
accessFileSysViaGsiftp |
|
---|---|
^ | e.g. accessFileSysViaGsiftp=true |
accessFileSysViaSudo |
|
^ | e.g. accessFileSysViaSudo=true |
Concurrency |
|
^ | e.g. Concurrency=20 |
DefaultFileSizeMB |
|
^ | e.g. DefaultFileSizeMB =1000 |
DefaultMBPerToken |
|
^ | e.g. DefaultMBPerToken=1000 |
DefaultVolatileFileLifeTimeInSeconds |
|
^ | e.g. DefaultVolatileFileLifeTimeInSeconds=1800 |
disableDirectoryMgt |
|
^ | e.g. disableDirectoryMgt=true |
disableLocalAuthorization |
|
^ | e.g. disableLocalAuthorization=false |
disableSpaceMgt |
|
^ | e.g. disableSpaceMgt=true |
disableSrmCopy |
|
^ | e.g. disableSrmCopy=true |
GridFTPBufferSizeBytes |
|
^ | e.g. GridFTPBufferSizeBytes=2097152 |
GridFTPBufferSizeMB |
|
^ | e.g. GridFTPBufferSizeMB=2 |
GridFTPDcauOn |
|
^ | e.g. GridFTPDcauOn=true |
GridFTPNumStreams |
|
^ | e.g. GridFTPNumStreams=2 |
guc_path |
|
^ | e.g. guc_path=/sandbox/globus/bin/globus-url-copy |
GUMSCurrHostDN |
|
^ | e.g. GUMSCurrHostDN=/DC=org/DC=doegrids/OU=Services/CN=gums-client.lbl.gov |
GUMSserviceURL |
|
^ | e.g. GUMSserviceURL= https://gumsserver.lbl.gov:8443/gums/services/GUMSAuthorizationServicePort GUMSserviceURL= https://gumsserver.lbl.gov:8443/gums/services/GUMSXACMLAuthorizationServicePort |
InactiveTxfTimeOutInSeconds |
|
^ | e.g. InactiveTxfTimeOutInSeconds=900 |
localPathListAllowed |
|
^ | e.g. localPathListAllowed=/home/data;/data/public |
localPathListToBlock |
|
^ | e.g. localPathListToBlock=/home/secret;/data/secret2 |
markupPingMsg |
|
^ | e.g. markupPingMsg=true |
MaxConcurrentFileTransfer |
|
^ | e.g. MaxConcurrentFileTransfer=10 |
MaxNumberOfFileRequests |
|
^ | e .g. MaxNumberOfFileRequests =1000000 |
MaxNumberOfUsers |
|
^ | e .g. MaxNumberOfUsers=100 |
noSudoOnLs |
|
^ | e.g. noSudoOnLs=true |
protocolSelectionPolicy |
|
^ | e .g. protocolSelectionPolicy=class=edu.unl.rcf.BestmanGridftpSelector.BestmanGridftp&jarFile=UNLGangliaBestman.jar&name=gsiftp |
PublicSpaceInMB |
|
^ | e.g. PublicSpaceInMB=1000 |
PublicSpaceProportion |
|
^ | e.g. PublicSpaceProportion=80 |
PublicTokenMaxFileLifetimeInSeconds |
|
^ | e.g. PublicTokenMaxFileLifetimeInSeconds=600 |
PublicTokenMaxMBPerUser |
|
^ | e.g. PublicTokenMaxMBPerUser=300 |
PublicTokenMaxNumFilesPerUser |
|
^ | e.g. PublicTokenMaxNumFilesPerUser =100 |
ReplicaQualityStorageUserQuotaMB |
|
^ | e.g. ReplicaQualityStorageUserQuotaMB=1000 |
retryGsiftp |
|
^ | e.g. retryGsiftp=120/2 e.g. retryGsiftp=200 |
silent |
|
^ | e.g. silent=true |
srmcacheKeywordOn |
|
^ | e.g. srmcacheKeywordOn=true |
supportedProtocolList |
|
^ | e.g. supportedProtocolList= gsiftp://machA.domain/;gsiftp://machB.domain:2812/;ftp://machC.domain/;http://machD.domain:9123/ |
uploadQueueParameter |
|
^ | e.g. uploadQueueParameter=40:10 |
userSpaceKeywords |
|
^ | e.g. refer to 7.10 userSpaceKeywords=(SPT1=/data/dirpath1)(SPT2=/data2/dirpath2)(SPT3=/data3/dirpath3) |
WorldPermission |
|
^ | e.g. WorldPermission=None |
These entries would only be effective, when gateway mode is enabled.
pathForToken |
|
---|---|
^ | e.g. pathForToken=true |
staticTokenList |
|
^ | e.g. staticTokenList=mytoken[desc:my_tokendesc][12];mytoken2[desc:my_tokendesc2][34] e.g. staticTokenList=DATA1[desc:DATA1][owner:projects][retention:REPLICA][latency:ONLINE][path:/projects/data/][usedBytesCommand:/usr/bin/du -s -b][12] |
checkSizeWithFS |
|
^ | e.g. checkSizeWithFS=true |
checkSizeWithGsiftp |
|
^ | e.g. checkSizeWithGsiftp=false |
ReplicaQualityStorageMB |
|
---|---|
^ | e.g. ReplicaQualityStorageMB=[5100]path=/bestman/cache ReplicaQualityStorageMB=[300]path=/bestman/cache;[200]path=/bestman2/cache |
OutputQualityStorageMB |
|
^ | e.g. OutputQualityStorageMB=[2000]path=/bestman/cached |
CustodialQualityStorageMB |
|
^ | e.g. CustodialQualityStorageMB=[1000]path=/bestman/pcache CustodialQualityStorageMB=[200]path=/bestman/cache/p;[200]path=/bestman2/cache |
^ |
CustodialQualityStorageMB=[0]path=&type=gov.lbl.srm.transfer.mss.hpss.SRM_MSS_HPSS&host=garchive.nersc.gov&conf=hpss.datagrid.rc |
^ | e.g. For bestman owned MSS path access: Only when specific path on MSS is used as custodial storage CustodialQualityStorageMB=[0]path=/nersc/bestman/&type=gov.lbl.srm.transfer.mss.hpss.SRM_MSS_HPSS&host=garchive.nersc.gov&conf=hpss.datagrid.rc |
^ | e.g. For other customized MSS plugins CustodialQualityStorageMB=[0]path=/lstore/bestman&type=plugin.lstore.SRM_MSS_LSTORE&jarFile=lstore.jar&host=lstore.domain.edu&conf=lstore.rc |
When backend MSS is supported, these entries would affect the its connection to MSS.
MaxMSSConnections |
|
---|---|
^ | e.g. MaxMSSConnections=5 |
mssTimeOutSeconds |
|
^ | e.g. mssTimeOutSeconds=3600 |
pluginLib |
|
^ | e.g. pluginLib=/opt/bestman/plugin/lib |