-
Notifications
You must be signed in to change notification settings - Fork 13
/
leo_storage.conf
436 lines (317 loc) · 13.1 KB
/
leo_storage.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
##======================================================================
## LeoFS - Storage Configuration
##
## See: http://leo-project.net/leofs/docs/configuration/configuration_2.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
## 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
## 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
## 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
## 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
## --------------------------------------------------------------------
## Manager's Node(s)
## --------------------------------------------------------------------
## Name of Manager node(s)
managers = [manager_0@127.0.0.1, manager_1@127.0.0.1]
## --------------------------------------------------------------------
## STORAGE
## --------------------------------------------------------------------
## Object container
obj_containers.path = [./avs]
obj_containers.num_of_containers = [8]
## e.g. Case of plural pathes
## obj_containers.path = [/var/leofs/avs/1, /var/leofs/avs/2]
## obj_containers.num_of_containers = [32, 64]
## Metadata Storage: [bitcask, leveldb] - default:leveldb
## obj_containers.metadata_storage = leveldb
## A number of virtual-nodes for the redundant-manager
## num_of_vnodes = 168
## Enable strict check between checksum of a metadata and checksum of an object
## - default:false
## object_storage.is_strict_check = false
## Threshold of slow processing (msec) - default:1000(msec)
## object_storage.threshold_of_slow_processing = 1000
## Timeout of seeking metadatas per a metadata - default:10(msec)
## seeking_timeout_per_metadata = 10
## Maximum number of processes for both write and read operation
## since v1.2.20
## max_num_of_procs = 3000
## Total number of obj-storage-read processes per object-container, AVS
## Range: [1..100]
## since v1.2.20
## num_of_obj_storage_read_procs = 3
## --------------------------------------------------------------------
## STORAGE - 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
## rex - watch interval - default:5sec
watchdog.rex.interval = 10
## 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 = false
## cpu - raised error times
watchdog.cpu.raised_error_times = 5
## cpu - watch interval - default:5sec
watchdog.cpu.interval = 10
## Threshold CPU load avg for 1min/5min - default:5.0
watchdog.cpu.threshold_cpu_load_avg = 5.0
## Threshold CPU load util - default:100 = "100%"
watchdog.cpu.threshold_cpu_util = 100
##
## Watchdog.DISK
##
## Is disk-watchdog enabled - default:false
watchdog.disk.is_enabled = false
## disk - raised error times
watchdog.disk.raised_error_times = 5
## disk - watch interval - default:1sec
watchdog.disk.interval = 10
## Threshold use(%) of a target disk's capacity - defalut:85%
watchdog.disk.threshold_disk_use = 85
## Threshold disk utilization(%) - defalut:90%
watchdog.disk.threshold_disk_util = 90
## Threshold disk read kb/sec - defalut:98304(KB) = 96MB
watchdog.disk.threshold_disk_rkb = 98304
## Threshold disk write kb/sec - defalut:98304(KB) = 96MB
watchdog.disk.threshold_disk_wkb = 98304
## disk target devices for checking disk utilization
## watchdog.disk.target_devices = []
##
## Watchdog.Cluster
##
## Is cluster-watchdog enabled - default:false
watchdog.cluster.is_enabled = false
## cluster - watch interval - default:10sec
watchdog.cluster.interval = 10
##
## Watchdog.Error
##
## Is error-watchdog enabled - default:false
watchdog.error.is_enabled = false
## error - watch interval - default:60sec
watchdog.error.interval = 60
## error - threshold error count - default:100
watchdog.error.threshold_count = 100
## --------------------------------------------------------------------
## STORAGE - Autonomic Operation
## --------------------------------------------------------------------
## [compaction] enabled compaction? - default:false
autonomic_op.compaction.is_enabled = false
## [compaction] number of parallel procs - default:1
autonomic_op.compaction.parallel_procs = 1
## [compaction] execution interval time between data-compaction(sec) - default:3600(sec) (60min)
autonomic_op.compaction.interval = 3600
## [compaction] warning ratio of active size - default:70%
autonomic_op.compaction.warn_active_size_ratio = 70
## [compaction] threshold ratio of active size - default:60%
autonomic_op.compaction.threshold_active_size_ratio = 60
## --------------------------------------------------------------------
## STORAGE - Data Compcation
## --------------------------------------------------------------------
## Limit of a number of procs to execute data-compaction in parallel
compaction.limit_num_of_compaction_procs = 4
## Perfetch size when skipping garbage
## compaction.skip_prefetch_size = 512
## Regular value of compaction-proc waiting time/batch-proc(msec)
compaction.waiting_time_regular = 500
## Maximum value of compaction-proc waiting time/batch-proc(msec)
compaction.waiting_time_max = 3000
## Regular compaction batch processes
compaction.batch_procs_regular = 1000
## Maximum compaction batch processes
compaction.batch_procs_max = 1500
## --------------------------------------------------------------------
## STORAGE - MQ
## --------------------------------------------------------------------
## MQ backend storage: [leveldb | bitcask] - default:leveldb
mq.backend_db = leveldb
## A number of mq-server's processes
mq.num_of_mq_procs = 8
##
## [Number of bach processes of message]
##
## Maximum number of bach processes of message
mq.num_of_batch_process_max = 3000
## Regular value of bach processes of message
mq.num_of_batch_process_regular = 1600
##
## [Interval beween batch-procs]
##
## Maximum value of interval between batch-procs(msec)
mq.interval_between_batch_procs_max = 3000
## Regular value of interval between batch-procs(msec)
mq.interval_between_batch_procs_regular = 500
## --------------------------------------------------------------------
## STORAGE - Backend DB
## --------------------------------------------------------------------
## eleveldb Write Buffer Size
## backend_db.eleveldb.write_buf_size = 62914560
## eleveldb Max Open Files
## backend_db.eleveldb.max_open_files = 1000
## eleveldb SST Block Size
## backend_db.eleveldb.sst_block_size = 4096
## --------------------------------------------------------------------
## STORAGE - Replication/Recovery object(s)
## --------------------------------------------------------------------
## Rack-id for the rack-awareness replica placement
## replication.rack_awareness.rack_id =
## Size of stacked objects (bytes)
replication.recovery.size_of_stacked_objs = 5242880
## Stacking timeout (sec)
replication.recovery.stacking_timeout = 1
## --------------------------------------------------------------------
## STORAGE - MDC Replication
## --------------------------------------------------------------------
## Size of stacked objects (bytes) - default:32MB
mdc_replication.size_of_stacked_objs = 33554432
## Stacking timeout (sec)
mdc_replication.stacking_timeout = 30
## Request timeout (msec)
mdc_replication.req_timeout = 30000
## Number of stacking procs
mdc_replication.stacking_procs = 1
## --------------------------------------------------------------------
## STORAGE - Log
## --------------------------------------------------------------------
## Log level: [0:debug, 1:info, 2:warn, 3:error]
log.log_level = 1
## Is enable access-log [true, false]
## log.is_enable_access_log = false
## Output log file(s) - Erlang's log
## log.erlang = ./log/erlang
## Output log file(s) - app
## log.app = ./log/app
## Output log file(s) - members of storage-cluster
## log.member_dir = ./log/ring
## Output log file(s) - ring
## log.ring_dir = ./log/ring
## Output data-diagnosis log
log.is_enable_diagnosis_log = true
## --------------------------------------------------------------------
## STORAGE - Other Directories
## --------------------------------------------------------------------
## Directory of queue for monitoring "RING"
## queue_dir = ./work/queue
## Directory of SNMP agent configuration
## snmp_agent = ./snmp/snmpa_storage_0/LEO-STORAGE
## --------------------------------------------------------------------
## Other Libs
## --------------------------------------------------------------------
## Send after interval
leo_ordning_reda.send_after_interval = 0
## Temporary directory of stacked objects
## leo_ordning_reda.temp_stacked_dir = "work/ord_reda/"
## --------------------------------------------------------------------
## RPC
## --------------------------------------------------------------------
## RPC-Server's acceptors
## this value must be determinted by following logic
## rpc.server.acceptor need to be larger than
## rpc.client.connection_pool(buffer)_size * "# of storage nodes + # of manager nodes in your cluster"
## The default value is suitable for less than 16 nodes in a cluster
## rpc.server.acceptors = 128
## RPC-Server's listening port number
## rpc.server.listen_port = 13077
## RPC-Server's listening timeout
## rpc.server.listen_timeout = 30000
## RPC-Client's size of connection pool
## rpc.client.connection_pool_size = 8
## RPC-Client's size of connection buffer
## rpc.client.connection_buffer_size = 8
## RPC-Client's max number of requests for reconnection to a remote-node
## * 1..<integer>: specialized value
## rpc.client.max_requests_for_reconnection = 64
## --------------------------------------------------------------------
## MANAGER - Mnesia
## * Store the info storage-cluster and the info of gateway(s)
## * Store the RING and the command histories
## --------------------------------------------------------------------
## The write threshold for transaction log dumps
## as the number of writes to the transaction log
mnesia.dump_log_write_threshold = 50000
## Controls how often disc_copies tables are dumped from memory
mnesia.dc_dump_limit = 40
## --------------------------------------------------------------------
## Profiling
## --------------------------------------------------------------------
## Enable profiler - leo_backend_db
## leo_backend_db.profile = false
## Enable profiler - leo_logger
## leo_logger.profile = false
## Enable profiler - leo_mq
## leo_mq.profile = false
## Enable profiler - leo_object_storage
## leo_object_storage.profile = false
## Enable profiler - leo_ordning_reda
## leo_ordning_reda.profile = false
## Enable profiler - leo_redundant_manager
## leo_redundant_manager.profile = false
## Enable profiler - leo_rpc
## leo_rpc.profile = false
## Enable profiler - leo_statistics
## leo_statistics.profile = false
##======================================================================
## For vm.args
##======================================================================
## Name of the leofs-storage node
nodename = storage_0@127.0.0.1
## 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.async_threads = 32
## Increase number of concurrent ports/sockets
erlang.max_ports = 64000
## Set the location of crash dumps
erlang.crash_dump = ./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 = false
## Raise the default erlang process limit
process_limit = 1048576
## Path of SNMP-agent configuration
## snmp_conf = ./snmp/snmpa_storage_0/leo_storage_snmp