##====================================================================== ## LeoFS - Gateway Configuration ## ## See: http://leo-project.net/leofs/docs/configuration/configuration_3.html ##====================================================================== ## -------------------------------------------------------------------- ## SASL ## -------------------------------------------------------------------- ## See: http://www.erlang.org/doc/man/sasl_app.html ## ## The following configuration parameters are defined for ## the SASL application. See app(4) for more information ## about configuration parameters ## SASL error log path ## sasl.sasl_error_log = ./log/sasl/sasl-error.log sasl.sasl_error_log = /tmp//package/leo_gateway//log/sasl/sasl-error.log ## Restricts the error logging performed by the specified sasl_error_logger ## to error reports, progress reports, or both. ## errlog_type = [error | progress | all] ## sasl.errlog_type = error sasl.errlog_type = error ## Specifies in which directory the files are stored. ## If this parameter is undefined or false, the error_logger_mf_h is not installed. ## sasl.error_logger_mf_dir = ./log/sasl sasl.error_logger_mf_dir = /tmp//package/leo_gateway//log/sasl ## Specifies how large each individual file can be. ## If this parameter is undefined, the error_logger_mf_h is not installed. ## sasl.error_logger_mf_maxbytes = 10485760 sasl.error_logger_mf_maxbytes = 10485760 ## Specifies how many files are used. ## If this parameter is undefined, the error_logger_mf_h is not installed. ## sasl.error_logger_mf_maxfiles = 5 sasl.error_logger_mf_maxfiles = 5 ## -------------------------------------------------------------------- ## Manager's Node(s) ## -------------------------------------------------------------------- ## Name of Manager node(s) managers = [leo_manager_0@192.168.100.35, leo_manager_1@192.168.100.35] ## -------------------------------------------------------------------- ## GATEWAY Protocol ## -------------------------------------------------------------------- ## Gateway Protocol to use: [s3 | rest | embed | nfs] protocol = s3 ## -------------------------------------------------------------------- ## GATEWAY - HTTP-related configurations ## -------------------------------------------------------------------- ## Port number the Gateway uses for HTTP connections ## http.port = 8080 http.port = 8080 ## Numbers of processes listening for connections ## http.num_of_acceptors = 128 http.num_of_acceptors = 128 ## Maximum number of requests allowed in a single keep-alive session #http.max_keepalive = 4096 http.max_keepalive = 4096 ## Maximum number of virtual directories ## http.layer_of_dirs = 12 http.layer_of_dirs = 12 ## Port number the Gateway uses for HTTPS connections ## http.ssl_port = 8443 http.ssl_port = 8443 ## SSL Certificate file ## http.ssl_certfile = ./etc/server_cert.pem http.ssl_certfile = ./etc/server_cert.pem ## SSL key ## http.ssl_keyfile = ./etc/server_key.pem http.ssl_keyfile = ./etc/server_key.pem ## HTTP custom header configuration file path ## http.headers_config_file = ./etc/http_custom_header.conf http.headers_config_file = ./etc/http_custom_header.conf ## HTTP timeout for reading header ## http.timeout_for_header = 5000 http.timeout_for_header = 5000 ## HTTP timeout for reading body ## http.timeout_for_body = 15000 http.timeout_for_body = 15000 ## HTTP sending chunk length ## http.sending_chunked_obj_len = 5242880 http.sending_chunked_obj_len = 5242880 ## Synchronized time of a bucket property (second) bucket_prop_sync_interval = 300 ## -------------------------------------------------------------------- ## GATEWAY - NFS-related configurations ## -------------------------------------------------------------------- ## Mountd's port number ## nfs.mountd.port = 22050 nfs.mountd.port = 22050 ## Mountd's the number of acceptors ## nfs.mountd.acceptors = 128 nfs.mountd.acceptors = 128 ## NFSd's port number ## nfs.nfsd.port = 2049 nfs.nfsd.port = 2049 ## NFSd's the number of acceptors ## nfs.nfsd.acceptors = 128 nfs.nfsd.acceptors = 128 ## -------------------------------------------------------------------- ## GATEWAY - NLM-related configurations ## -------------------------------------------------------------------- ## NLM Lock Handler ## nlm.handler = leo_nlm_lock_handler_ets ## -------------------------------------------------------------------- ## GATEWAY - Large Object ## -------------------------------------------------------------------- ## Total number of chunked objects large_object.max_chunked_objs = 1000 ## Length of a chunked object large_object.chunked_obj_len = 5242880 ## Threshold of length of a chunked object large_object.threshold_of_chunk_len = 5767168 ## Reading length of a chuncked object ## * If happening timeout when copying a large object, ## you will solve to set this value as less than 5MB. ## * default: "large_object.chunked_obj_len" (5242880 - 5MB) large_object.reading_chunked_obj_len = 5242880 ## -------------------------------------------------------------------- ## GATEWAY - Cache ## -------------------------------------------------------------------- ## If this parameter is 'true', Gateway turns on HTTP-based cache server, like Varnish OR Squid. ## If this parameter is 'false', Stores objects into the Gateway’s memory. ## When operating READ, the Etag of the cache is compared with a backend storage’s Etag. ## cache.http_cache = false ## A number of cache workers ## cache.cache_workers = 16 cache.cache_workers = 16 ## Memory cache capacity in bytes cache.cache_ram_capacity = 0 ## Disk cache capacity in bytes cache.cache_disc_capacity = 0 ## When the length of the object exceeds this value, store the object on disk ## cache.cache_disc_threshold_len = 1048576 cache.cache_disc_threshold_len = 1048576 ## Directory for the disk cache data cache.cache_disc_dir_data = /ssd/cache/data ## Directory for the disk cache journal cache.cache_disc_dir_journal = /ssd/cache/journal ## ## For the http-cache configurations ## ## Cache Expire in seconds (http-cache) cache.cache_expire = 300 ## Cache Max Content Length in bytes (http-cache) cache.cache_max_content_len = 1048576 ## Cache Content Type(s) ## In case of "empty", all objects are cached (http-cache) ## cache.cachable_content_type = ## Cache Path Pattern(s) (regular expression) ## In case of "empty", all objects are cached (http-cache) ## cache.cachable_path_pattern = ## -------------------------------------------------------------------- ## GATEWAY - Watchdog ## -------------------------------------------------------------------- ## When reach a number of safe (clear watchdog), a watchdog loosen the control watchdog.common.loosen_control_at_safe_count = 1 ## ## Watchdog.REX(RPC) ## ## Is rex -watchdog enabled - default:false ## watchdog.rex.is_enabled = true watchdog.rex.is_enabled = true ## rex - watch interval - default:5sec ## watchdog.rex.interval = 5 watchdog.rex.interval = 5 ## Threshold memory capacity of binary for rex(rpc) - default:32MB watchdog.rex.threshold_mem_capacity = 33554432 ## ## Watchdog.CPU ## ## Is cpu-watchdog enabled - default:false ## watchdog.cpu.is_enabled = true watchdog.cpu.is_enabled = true ## cpu - raised error times ## watchdog.cpu.raised_error_times = 3 watchdog.cpu.raised_error_times = 3 ## cpu - watch interval - default:5sec ## watchdog.cpu.interval = 5 watchdog.cpu.interval = 5 ## Threshold CPU load avg for 1min/5min - default:5.0 ## watchdog.cpu.threshold_cpu_load_avg = 5.0 watchdog.cpu.threshold_cpu_load_avg = 5.0 ## Threshold CPU load util - default:100 = "100%" ## watchdog.cpu.threshold_cpu_util = 100 watchdog.cpu.threshold_cpu_util = 100 ## -------------------------------------------------------------------- ## GATEWAY - Timeout ## -------------------------------------------------------------------- ## Timeout value when requesting to a storage ## 0 to 65,535 bytes ## timeout.level_1 = 5000 timeout.level_1 = 5000 ## 65,535 to 131,071 bytes ## timeout.level_2 = 7000 timeout.level_2 = 7000 ## 131,072 to 524,287 bytes ## timeout.level_3 = 10000 timeout.level_3 = 10000 ## 524,288 to 1,048,576 bytes ## timeout.level_4 = 20000 timeout.level_4 = 20000 ## 1,048,576 bytes and over ## timeout.level_5 = 30000 timeout.level_5 = 30000 ## Timeout value when requesting a GET to a storage ## timeout.get = 30000 timeout.get = 30000 ## Timeout value when requesting a LS(find_by_parent_dir) to a storage ## timeout.ls = 30000 timeout.ls = 30000 ## -------------------------------------------------------------------- ## GATEWAY - Log ## -------------------------------------------------------------------- ## ## Log level: [0:debug, 1:info, 2:warn, 3:error] ## log.log_level = 1 log.log_level = 0 ## Is enable access-log [true, false] ## log.is_enable_access_log = false log.is_enable_access_log = false ## Output log file(s) - Erlang's log ## log.erlang = ./log/erlang log.erlang = /tmp//package/leo_gateway//log/erlang ## Output log file(s) - app ## log.app = ./log/app log.app = /tmp//package/leo_gateway//log/app ## Output log file(s) - members of storage-cluster ## log.member_dir = ./log/ring log.member_dir = /tmp//package/leo_gateway//log/ring ## Output log file(s) - ring ## log.ring_dir = ./log/ring log.ring_dir = /tmp//package/leo_gateway//log/ring ## -------------------------------------------------------------------- ## GATEWAY - Other Directories ## -------------------------------------------------------------------- ## Directory of queue for monitoring "RING" ## queue_dir = ./work/queue queue_dir = /tmp//package/leo_gateway//work/queue/ ## Directory of SNMP agent configuration ## snmp_agent = ./snmp/snmpa_gateway_0/LEO-GATEWAY snmp_agent = ./snmp/snmpa_gateway_0/LEO-GATEWAY ## -------------------------------------------------------------------- ## QoS ## -------------------------------------------------------------------- ## Enable QoS for statistics ## qos.stat.is_enable = false qos.stat.is_enable = false ## Enable QoS for notification ## qos.notify.is_enable = false qos.notify.is_enable = false ## Savanna Manager's nodes ## qos.managers = [savanna_manager_0@127.0.0.1, savanna_manager_1@127.0.0.1] qos.managers = [savanna_manager_0@127.0.0.1,savanna_manager_1@127.0.0.1] ## -------------------------------------------------------------------- ## Profiling ## -------------------------------------------------------------------- ## Enable profiler - leo_backend_db ## leo_backend_db.profile = false leo_backend_db.profile = false ## Enable profiler - leo_logger ## leo_logger.profile = false leo_logger.profile = false ## Enable profiler - leo_mq ## leo_mq.profile = false leo_mq.profile = false ## Enable profiler - leo_redundant_manager ## leo_redundant_manager.profile = false leo_redundant_manager.profile = false ## Enable profiler - leo_statistics ## leo_statistics.profile = false leo_statistics.profile = false ##====================================================================== ## For vm.args ##====================================================================== ## Name of the leofs-gateway node nodename = G0@192.168.100.35 ## Cookie for distributed node communication. All nodes in the same cluster ## should use the same cookie or they will not be able to communicate. distributed_cookie = 401321b4 ## Enable kernel poll erlang.kernel_poll = true ## Number of async threads erlang.asyc_threads = 32 ## Increase number of concurrent ports/sockets erlang.max_ports = 64000 ## Set the location of crash dumps erlang.crash_dump = /tmp//package/leo_gateway//log/erl_crash.dump ## Raise the ETS table limit erlang.max_ets_tables = 256000 ## Enable SMP erlang.smp = enable ## Erlang scheduler's compaction of load erlang.schedulers.compaction_of_load = true ## Erlang scheduler's balancing of load erlang.schedulers.utilization_balancing = false ## Sender-side network distribution buffer size ## - default 32MB (32768KB) erlang.distribution_buffer_size = 32768 ## A non-negative integer which indicates ## how many times generational garbage collections ## can be done without forcing a fullsweep collection erlang.fullsweep_after = 0 ## Enable/Disable eager check I/O (Erlang 17.4/erts-6.3-, ref:OTP-12117) erlang.secio = true ## Raise the default erlang process limit process_limit = 1048576 ## Path of SNMP-agent configuration ## snmp_conf = ./snmp/snmpa_gateway_0/leo_gateway_snmp snmp_conf = ./snmp/snmpa_gateway_0/leo_gateway_snmp