LeoManager Settings¶
Prior Knowledge¶
The current version, v1.3 of LeoManager depends on Erlang Mnesia, A distributed telecommunications DBMS to manage configurations of a LeoFS system and information of all nodes. LeoManager nodes must keep running to replicate the data for preventing data loss. You need to configure both LeoManager master and the slave.
Other Configurations¶
If you want to modify settings like where to place leo_manager.conf
, what user is starting a LeoManager process and so on, refer For Administrators / Settings / Environment Configuration for more information.
Configuration¶
There are some configuration differences between LeoManager-master and LeoManager-slave. LeoManager-master only has the consistency level
and the multi datacenter replication
.
The default setting is to launch a LeoFS system on one node, whose setting cannot replicate data because the total number of the replica is one, and data loss could happen with high probability. You need to modify the configuration suitably before launching the LeoFS system on your production or other environments.
LeoManager Configurations¶
Item | Description |
---|---|
Basic | |
manager.partner | The partner of manager's alias. This configuration is necessary for communicationg between LeoManager's master and LeoManager's slave . ( Default: manager_1@127.0.0.1 ) |
console.port.cui | The port number of LeoManager's console for text format ( Default: 10010 ) |
console.port.json | The port number of LeoManager's console for JSON format ( Default: 10020 ) |
console.acceptors.cui | The maximum number of acceptors of LeoManager's console for text format ( Default: 3 ) |
console.acceptors.json | The maximum number of acceptors of LeoManager's console for JSON format ( Default:16 ) |
System | |
system.dc_id | Datacenter ID is necessary for using the data center replication( Default: dc_1 ) |
system.cluster_id | Cluster ID is also necessary for using the data center replication( Default: leofs_1 ) |
Consistency Level | |
consistency.num_of_replicas | only LeoManager's master The total number of object copies ( Default: 1 ) |
consistency.write | only LeoManager's master The total number of object copies needed for a successful WRITE operation ( Default: 1 ) |
consistency.read | only LeoManager's master The total number of object copies needed for a successful READ operation ( Default: 1 ) |
consistency.delete | only LeoManager's master The total number of object copies needed for a successful DELETE operation ( Default: 1 ) |
consistency.rack_aware_replicas | only LeoManager's master The total number of object copies of rack-aware ( Default: 0 ) |
Multi Data Center Replication | |
mdc_replication.max_targets | only LeoManager's master The maximum number of replication targets of clusters OR data centers ( Default: 2 ) |
mdc_replication.num_of_replicas_a_dc | only LeoManager's master A remote cluster of a LeoFS system which receives this cluster's objects, and then replicates them, which adhere to a replication method of each object ( Default: 1 ) |
mdc_replication.consistency.write | only LeoManager's master [since 1.3.3] A number of replicas needed for a successful WRITE-operation ( Default: 1 ) |
mdc_replication.consistency.read | only LeoManager's master [since 1.3.3] A number of replicas needed for a successful READ-operation ( Default: 1 ) |
mdc_replication.consistency.delete | only LeoManager's master [since 1.3.3] A number of replicas needed for a successful DELETE-operation ( Default: 1 ) |
RPC for Multi Datacenter Replication | |
rpc.server.acceptors | The total number of acceptor of the RPC server ( Default: 16 ) |
rpc.server.listen_port | The listening port of the RPC server ( Default: 13075 ) |
rpc.server.listen_timeout | The listening timeout ( Default: 5000 ) |
rpc.client.connection_pool_size | A client is able to keep connections of a remote LeoFS up to the pool size ( Default: 16 ) |
rpc.client.connection_buffer_size | A client is able to increase connections of a remote LeoFS up to the buffer size ( Default: 16 ) |
Mnesia | |
mnesia.dir | The directory of the database file of Mnesia*(Erlang distributed DB)* ( Default: ./work/mnesia/127.0.0.1 ) |
mnesia.dump_log_write_threshold | The maximum number of writes allowed to the transaction log before a new dump of the log is performed. Default is 100 log writes. - See also: Erlang Mnesia dump_log_write_threshold ( Default: 50000 ) |
mnesia.dc_dump_limit | Mnesia's tables are dumped when filesize(Log) > (filesize(Tab)/Dc_dump_limit). Lower values reduce CPU overhead but increase disk space and startup times. Default is 4. - See also: Erlang Mnesia ( Default: 40 ) |
Log | |
log.log_level | LeoManager's logger controls outputting logs by the log level:
|
log.erlang | The output destination of Erlang's logs ( Default: ./log/erlang ) |
log.app | The output destination of LeoManager's logs ( Default: ./log/app ) |
log.member_dir | The output destination of the member's dump file ( Default: ./log/ring ) |
log.ring_dir | The output destination of the RING's dump file ( Default: ./log/ring ) |
Other Directories | |
queue_dir | The directory of the data file of LeoFS' MQ ( Default: ./work/queue ) |
snmp_agent | The directory of the snmp agent file of LeoFS ( Default: ./snmp/snmpa_manager_0/LEO-MANAGER ) |
Erlang VM's Related Configurations¶
Item | Description |
---|---|
nodename | The format of the node name is <NAME>@<IP-ADDRESS> , which must be unique always in a LeoFS system( Default: manager_0@127.0.0.1 ) |
distributed_cookie | Sets the magic cookie of the node to Cookie . - See also: Distributed Erlang ( Default: 401321b4 ) |
erlang.kernel_poll | Kernel poll reduces LeoFS' CPU usage when it has hundreds (or more) network connections ( Default: true ) |
erlang.asyc_threads | The total number of Erlang aynch threads for the async thread pool. The asynchronous thread pool are OS threads which are userd for I/O operations. ( Default: 32 ) |
erlang.max_ports | The max_ports sets the default value of maximum number of ports. - See also: Erlang erlang:open_port/2 ( Default: 64000 ) |
erlang.crash_dump | The output destination of an Erlang crash dump ( Default: ./log/erl_crash.dump ) |
erlang.max_ets_tables | The maxinum number of Erlagn ETS tables ( Default: 256000 ) |
erlang.smp | -smp enable and -smp start the Erlang runtime system with SMP support enabled( Default: enable ) |
process_limit | The maxinum number of Erlang processes. Sets the maximum number of simultaneously existing processes for this system if a Number is passed as value. Valid range for Number is [1024-134217727] ( Default: 1048576 ) |