Reverbrain wiki

Site Tools


Built-in tools

elliptics-client package provides several tools for communication, configuration and monitoring elliptics storage. The list includes:

  • dnet_balancer - tool for repartition DHT ring between nodes without changing the number of ranges on each node
  • dnet_recovery - tool for synchronising data in group or between different groups.


dnet_balancer resizes and moves ranges for making it more or less equal. It works follow way:

  • connects to elliptics nodes and retrieves route list
  • for each group run follow steps:
    • finds minimal and maximal ranges
    • checks if removing of minimal range creates range which is less then current maximal range
    • removes minimal replace minimal range by removing it and splitting maximal range in half
    • continue finding minimal and maximal while we can and it improves partition
  • at the end generates new ids file for nodes who's range was changed

At current version dnet_balancer can't send new ids file to elliptics node directly and reinit them.

NB! dnet_balancer does not change the total number of range and number of range on each node which is depended on node disk space. dnet_balancer keeps original partition based on node disk space.

dnet_balancer accepts follow parameters:

Parameter Description
-h, –help show help message and exit
-g GROUPS, –groups=GROUPS Comma separated list of groups ranges of which should be rebalanced
default: all
-l FILE, –log=FILE Output log messages from library to file
default: dnet_balancer.log
-L LOG_LEVEL, –log-level=LOG_LEVEL Elliptics client verbosity
default: 1
-r REMOTE, –remote=REMOTE Elliptics node address default: none
-m MIN_DEVIATION, –min-deviation=MIN_DEVIATION Minimum deviation from middle range size
-M MAX_DEVIATION, –max-deviation=MAX_DEVIATION Maximum deviation from middle range size
-a ACCURACY, –accuracy=ACCURACY Sets accuracy with which route will be considered as fixed while shifting it
-c, –check-mode Prints current route list state (spread, ranges length etc.) and exits


Tool for data synchronization within one group or between different groups. Full description is available on own page: Replication and recovery in Elliptics

elliptics/tools.txt · Last modified: 2014/03/17 09:48 by shaitan