mirror of https://github.com/pkolano/shift.git
398 lines
13 KiB
Plaintext
398 lines
13 KiB
Plaintext
#
|
|
# Skeleton configuration file for Shift manager.
|
|
#
|
|
# This file should be located in /etc/shiftrc for multi-user installs
|
|
# and in ~/.shiftrc for single-user installs.
|
|
#
|
|
# Items that are commented out show the default value.
|
|
#
|
|
# A value of nodefault indicates no default value for that item.
|
|
#
|
|
# Items that are not commented out indicate values that must be
|
|
# explicitly configured. The values given for these items are
|
|
# examples only.
|
|
#
|
|
|
|
#########################
|
|
#### manager options ####
|
|
#########################
|
|
|
|
# directory where transfer metadata will be stored
|
|
# (use %u as substitution for user name)
|
|
# (parent dir must be world writable with sticky bit for multi-user installs)
|
|
# (multi-user example: user_dir /var/lib/shift/%u)
|
|
# (single-user example: user_dir /home/%u/.shift)
|
|
user_dir /home/%u/.shift
|
|
|
|
# time (seconds) to store transfer metadata after last activity
|
|
#data_expire 604800
|
|
|
|
# use cron to automatically restart transfers after host or process failures
|
|
#default_cron 1
|
|
|
|
# log debugging information for user X in user_dir/X.debug
|
|
# (may be specified multiple times for different users)
|
|
# (example: debug_alice 1)
|
|
#debug_X 1
|
|
|
|
# domain to which user accounts belong for email notifications
|
|
# (assumes user X can receive email at X@email_domain)
|
|
# (assumes localhost:25 SMTP server running on manager host)
|
|
# (example: email_domain example.com)
|
|
#email_domain nodefault
|
|
|
|
# location of file system information database
|
|
# (must be world readable for multi-user installs)
|
|
# (example: mount_db /var/lib/shift/mounts)
|
|
#mount_db nodefault
|
|
|
|
# use hardlink-based locking (mainly for NFSv3 and below)
|
|
#nfs_lock 0
|
|
|
|
# command to invoke to make host selection decisions
|
|
# (must be world readable/executable for multi-user installs)
|
|
# (example: select_hook /usr/local/bin/shift-select.hook)
|
|
#select_hook nodefault
|
|
|
|
# host to which transfer metadata should be synchronized
|
|
# (assumes hostbased authentication available to host)
|
|
# (example: sync_host mgr2.example.com)
|
|
#sync_host nodefault
|
|
|
|
|
|
###########################
|
|
#### transport options ####
|
|
###########################
|
|
|
|
# supported local transports by decreasing performance/preference
|
|
# (example: default_local mcp,shift,fish,fish-tcp,rsync,bbftp)
|
|
#default_local shift,fish,fish-tcp
|
|
|
|
# port range for remote tcp-based transports
|
|
# (example: default_ports 10000:20000)
|
|
#default_ports nodefault
|
|
|
|
# supported remote transports by decreasing performance/preference
|
|
# (example: default_remote fish-tcp,bbftp,rsync,fish,shift)
|
|
#default_remote shift
|
|
|
|
# supported local transports by decreasing small file performance/preference
|
|
# (example: mcp,shift,fish,fish-tcp,rsync,bbftp)
|
|
#local_small shift,fish,fish-tcp
|
|
|
|
# behavior commands that will be used by bbftp on client hosts
|
|
# (see the "behavior commands" section of bbftp man page for details)
|
|
# (options must be separated by "\n" as shown in example below)
|
|
# (example: opts_bbftp setnbstream 4\nsetrecvwinsize 4096\nsetsendwinsize 4096)
|
|
#opts_bbftp nodefault
|
|
|
|
# command-line options that will be used by mcp on client hosts
|
|
# (if mcp >= 1.822.1, a --preallocate setting is recommended for DMF on CXFS)
|
|
#opts_mcp --double-buffer
|
|
|
|
# command-line options that will be used by msum on client hosts
|
|
#opts_msum --double-buffer
|
|
|
|
# command-line options that will be used by ssh on client hosts
|
|
# (example: opts_ssh -c arcfour256 -m umac-64@openssh.com)
|
|
#opts_ssh nodefault
|
|
|
|
# command-line options that will be used by ssh on client hosts with --secure
|
|
# (example: opts_ssh_secure -c aes256-ctr -m hmac-sha2-512)
|
|
#opts_ssh_secure nodefault
|
|
|
|
# supported remote transports by decreasing small file performance/preference
|
|
# (example: remote_small fish-tcp,rsync,fish,shift,bbftp)
|
|
#remote_small shift
|
|
|
|
# average size under which a lan batch will be optimized for small files
|
|
# (use suffix {k,m,g,t} for {KB,MB,GB,TB})
|
|
#small_size_lan 256m
|
|
|
|
# average size under which a local batch will be optimized for small files
|
|
# (use suffix {k,m,g,t} for {KB,MB,GB,TB})
|
|
#small_size_local 1g
|
|
|
|
# average size under which a wan batch will be optimized for small files
|
|
# (use suffix {k,m,g,t} for {KB,MB,GB,TB})
|
|
#small_size_wan 64m
|
|
|
|
# size of chunks at which corruption is detected/rectified
|
|
# (use suffix {k,m,g,t} for {KB,MB,GB,TB})
|
|
# (it is not recommended to set this below 1GB)
|
|
# (changing this value voids all existing values in checksum dbs)
|
|
#sum_split 1g
|
|
|
|
# type of checksum to use for integrity verification
|
|
# (format is TYPE_BITS, BITS required when TYPE supports multiple lengths)
|
|
# (for msum, see "msum --help" --hash-type list, "_" will be ignored)
|
|
# (for built-in perl sums, will use Digest::TYPE->new(BITS))
|
|
# (note built-in SHA before perl v5.19.2 can trigger coredump via double free)
|
|
# (example: sum_type sha3_256)
|
|
#sum_type md5
|
|
|
|
|
|
################################
|
|
#### general tuning options ####
|
|
################################
|
|
|
|
# size of buffer to use in transports
|
|
# (use suffix {k,m,g,t} for {KB,MB,GB,TB})
|
|
#default_buffer 4m
|
|
|
|
# minimum number of files to transfer in each batch
|
|
# (use suffix {k,m,b/g,t} for 10E{3,6,9,12})
|
|
#default_files 1k
|
|
|
|
# minimum number of files to process in each initialization batch
|
|
# (note use of dash instead of underscore)
|
|
# (use suffix {k,m,b/g,t} for 10E{3,6,9,12})
|
|
#default_find-files 2k
|
|
|
|
# approximate number of seconds that each batch should run
|
|
# (note this will be adjusted upward with more clients/greater mgr overhead)
|
|
#default_interval 30
|
|
|
|
# source sparsity percentage at which to preallocate destination file
|
|
# (sparsity defined as 1 - (512 * allocated_blocks / size))
|
|
# (note that transports using temporary files are not supported)
|
|
# (example: default_preallocate 10)
|
|
#default_preallocate 0
|
|
|
|
# number of times to retry failed operations
|
|
# (must be at least 1 for --sync to function)
|
|
#default_retry 2
|
|
|
|
# approximate minimum amount of data to transfer in each batch
|
|
# (use suffix {k,m,g,t} for {KB,MB,GB,TB})
|
|
#default_size 4g
|
|
|
|
# approximate maximum size of created tar files
|
|
# (note use of dash instead of underscore)
|
|
# (use suffix {k,m,g,t} for {KB,MB,GB,TB})
|
|
#default_split-tar 500g
|
|
|
|
# expressions by which to select lustre stripe count/size/pool
|
|
# (format is same as --stripe: [CEXP][::[SEXP][::PEXP]])
|
|
# (EXP may be NUM, SIZE, or full perl expression)
|
|
# (EXP may use const {DR,NM,SZ,SC,SS} for src {is_dir,name,size,scnt,ssz})
|
|
# (set to 0 to use system default striping)
|
|
# (note that transports using temporary files are not supported)
|
|
# (use suffix {k,m,g,t} for {KB,MB,GB,TB})
|
|
#default_stripe 1g
|
|
|
|
# maximum number of files to process in each batch
|
|
# (use suffix {k,m,b/g,t} for 10E{3,6,9,12})
|
|
#max_files 100k
|
|
|
|
# number of status entries at which some older done transfers may be omitted
|
|
#status_lines 20
|
|
|
|
|
|
################################
|
|
#### network tuning options ####
|
|
################################
|
|
|
|
# WAN bandwidth assumed for non-organization/non-xge hosts
|
|
# (use suffix {k,m,g,t} for {Kb,Mb,Gb,Tb})
|
|
#bandwidth_ind 100m
|
|
|
|
# WAN bandwidth assumed when end of host FQDN matches org_domains setting
|
|
# (use suffix {k,m,g,t} for {Kb,Mb,Gb,Tb})
|
|
#bandwidth_org 1g
|
|
|
|
# WAN bandwidth assumed when 10GE adapter found on host via lspci
|
|
# (use suffix {k,m,g,t} for {Kb,Mb,Gb,Tb})
|
|
#bandwidth_xge 10g
|
|
|
|
# latency (seconds) assumed to remote LAN hosts when measurement fails
|
|
#latency_lan 0.001
|
|
|
|
# seconds to wait between latency measurements
|
|
#latency_wait 600
|
|
|
|
# latency (seconds) assumed to remote WAN hosts when measurement fails
|
|
#latency_wan 0.05
|
|
|
|
# maximum number of streams to use in remote LAN transfers
|
|
#max_streams_lan 8
|
|
|
|
# maximum number of streams to use in remote WAN transfers
|
|
#max_streams_wan 16
|
|
|
|
# minimum number of streams to use in remote LAN transfers
|
|
#min_streams_lan 1
|
|
|
|
# minimum number of streams to use in remote WAN transfers
|
|
#min_streams_wan 4
|
|
|
|
# minimum window size to use over LAN with TCP-based transports
|
|
# (use suffix {k,m,g,t} for {KB,MB,GB,TB})
|
|
#min_window_lan 1m
|
|
|
|
# minimum window size to use over WAN with TCP-based transports
|
|
# (use suffix {k,m,g,t} for {KB,MB,GB,TB})
|
|
#min_window_wan 4m
|
|
|
|
# regular expression for determining if host may have higher bandwidth
|
|
#org_domains com|edu|gov|mil|net|org
|
|
|
|
|
|
#######################
|
|
#### cache options ####
|
|
#######################
|
|
|
|
# estimated amount of i/o needed on clients to evict newly cached data
|
|
# (use suffix {k,m,g,t} for {KB,MB,GB,TB})
|
|
#cache_size_client nodefault
|
|
|
|
# estimated amount of i/o needed on file servers to evict newly cached data
|
|
# (use suffix {k,m,g,t} for {KB,MB,GB,TB})
|
|
#cache_size_server nodefault
|
|
|
|
# estimated number of seconds needed on clients to evict newly cached data
|
|
#cache_time_client nodefault
|
|
|
|
# estimated number of seconds needed on file servers to evict newly cached data
|
|
#cache_time_server nodefault
|
|
|
|
|
|
#################################
|
|
#### parallelization options ####
|
|
#################################
|
|
|
|
# number of clients to spawn on each host
|
|
#default_clients 1
|
|
|
|
# maximum number of source hosts to involve in a transfer
|
|
#default_hosts 1
|
|
|
|
# amount of data at which single files will be parallelized
|
|
# (use suffix {k,m,g,t} for {KB,MB,GB,TB})
|
|
#default_split 0
|
|
|
|
# number of threads to use in multi-threaded transports
|
|
#default_threads 4
|
|
|
|
|
|
###################################
|
|
#### client throttling options ####
|
|
###################################
|
|
|
|
# local avg. cpu usage (%) at which to throttle transfer
|
|
# (example: default_cpu 75)
|
|
#default_cpu nodefault
|
|
|
|
# target disk usage (%) at which to suspend/resume transfer
|
|
# (example: default_disk 95:85)
|
|
#default_disk nodefault:nodefault
|
|
|
|
# local avg. i/o usage (MB/s) at which to throttle transfer
|
|
# (example: default_io 1000)
|
|
#default_io nodefault
|
|
|
|
# local avg. i/o reads (MB/s) at which to throttle transfer
|
|
# (example: default_ior 1000)
|
|
#default_ior nodefault
|
|
|
|
# local avg. i/o writes (MB/s) at which to throttle transfer
|
|
# (example: default_iow 1000)
|
|
#default_iow nodefault
|
|
|
|
# local avg. network usage (MB/s) at which to throttle transfer
|
|
# (example: default_net 80)
|
|
#default_net nodefault
|
|
|
|
# local avg. network reads (MB/s) at which to throttle transfer
|
|
# (example: default_netr 80)
|
|
#default_netr nodefault
|
|
|
|
# local avg. network writes (MB/s) at which to throttle transfer
|
|
# (example: default_netw 80)
|
|
#default_netw nodefault
|
|
|
|
|
|
#################################
|
|
#### user throttling options ####
|
|
#################################
|
|
|
|
# global avg. i/o usage (MB/s) at which to throttle user X's transfers
|
|
# (example: throttle_io_user_alice 1000)
|
|
#throttle_io_user_X nodefault
|
|
|
|
# global avg. i/o reads (MB/s) at which to throttle user X's transfers
|
|
# (example: throttle_ior_user_alice 1000)
|
|
#throttle_ior_user_X nodefault
|
|
|
|
# global avg. i/o writes (MB/s) at which to throttle user X's transfers
|
|
# (example: throttle_iow_user_alice 1000)
|
|
#throttle_iow_user_X nodefault
|
|
|
|
# global avg. network usage (MB/s) at which to throttle user X's transfers
|
|
# (example: throttle_net_user_alice 80)
|
|
#throttle_net_user_X nodefault
|
|
|
|
# global avg. network reads (MB/s) at which to throttle user X's transfers
|
|
# (example: throttle_netr_user_alice 80)
|
|
#throttle_netr_user_X nodefault
|
|
|
|
# global avg. network writes (MB/s) at which to throttle user X's transfers
|
|
# (example: throttle_netw_user_alice 80)
|
|
#throttle_netw_user_X nodefault
|
|
|
|
|
|
########################################
|
|
#### file system throttling options ####
|
|
########################################
|
|
|
|
# disk usage (%) at which to suspend/resume transfers to file system X
|
|
# (the format for each file system X is SERVERS:REMOTE, where SERVERS
|
|
# and REMOTE are the values of "servers" and "remote", respectively,
|
|
# listed for X when running "shift-aux mount" on a host that mounts X)
|
|
# (example: throttle_disk_homenfs1.example.com:/home 95:85)
|
|
#throttle_disk_X nodefault:nodefault
|
|
|
|
# global avg. i/o usage (MB/s) at which to throttle transfers to file system X
|
|
# (format of X is identical to disk usage above)
|
|
# (example: throttle_io_fs_homenfs1.example.com:/home 1000)
|
|
#throttle_io_fs_X nodefault
|
|
|
|
# global avg. i/o reads (MB/s) at which to throttle transfers to file system X
|
|
# (format of X is identical to disk usage above)
|
|
# (example: throttle_ior_fs_homenfs1.example.com:/home 1000)
|
|
#throttle_ior_fs_X nodefault
|
|
|
|
# global avg. i/o writes (MB/s) at which to throttle transfers to file system X
|
|
# (format of X is identical to disk usage above)
|
|
# (example: throttle_iow_fs_homenfs1.example.com:/home 1000)
|
|
#throttle_iow_fs_X nodefault
|
|
|
|
|
|
#################################
|
|
#### host throttling options ####
|
|
#################################
|
|
|
|
# global avg. i/o usage (MB/s) at which to throttle transfers on host X
|
|
# (example: throttle_io_host_host1.example.com 10000)
|
|
#throttle_io_host_X nodefault
|
|
|
|
# global avg. i/o reads (MB/s) at which to throttle transfers on host X
|
|
# (example: throttle_ior_host_host1.example.com 10000)
|
|
#throttle_ior_host_X nodefault
|
|
|
|
# global avg. i/o writes (MB/s) at which to throttle transfers on host X
|
|
# (example: throttle_iow_host_host1.example.com 10000)
|
|
#throttle_iow_host_X nodefault
|
|
|
|
# global avg. network usage (MB/s) at which to throttle transfers on host X
|
|
# (example: throttle_net_host_host1.example.com 10000)
|
|
#throttle_net_host_X nodefault
|
|
|
|
# global avg. network reads (MB/s) at which to throttle transfers on host X
|
|
# (example: throttle_netr_host_host1.example.com 10000)
|
|
#throttle_netr_host_X nodefault
|
|
|
|
# global avg. network writes (MB/s) at which to throttle transfers on host X
|
|
# (example: throttle_netw_host_host1.example.com 10000)
|
|
#throttle_netw_host_X nodefault
|