Add sharder section to container config doc

Change-Id: I33c0168c1bb89f780be6fc317a4df89322cbc28d
This commit is contained in:
Alistair Coles 2020-11-09 09:38:39 +00:00
parent 5e6cc0570d
commit 4f94ac263a

View File

@ -16,6 +16,7 @@ The following configuration sections are available:
* :ref:`[DEFAULT] <container_server_default_options>`
* `[container-server]`_
* `[container-replicator]`_
* `[container-sharder]`_
* `[container-updater]`_
* `[container-auditor]`_
@ -267,6 +268,229 @@ ionice_priority None I/O scheduling priority of
is set.
==================== =========================== =============================
*******************
[container-sharder]
*******************
The container-sharder re-uses features of the container-replicator and inherits
the following configuration options defined for the `[container-replicator]`_:
* interval
* databases_per_second
* per_diff
* max_diffs
* concurrency
* node_timeout
* conn_timeout
* reclaim_age
* rsync_compress
* rsync_module
* recon_cache_path
================================= ================= =======================================
Option Default Description
--------------------------------- ----------------- ---------------------------------------
log_name container-sharder Label used when logging
log_facility LOG_LOCAL0 Syslog log facility
log_level INFO Logging level
log_address /dev/log Logging directory
auto_shard false If the auto_shard option
is true then the sharder
will automatically select
containers to shard, scan
for shard ranges, and
select shards to shrink.
Warning: auto-sharding is
still under development
and should not be used in
production; do not set
this option to true in a
production cluster.
shard_container_threshold 1000000 When auto-sharding is
enabled this defines the
object count at which a
container with
container-sharding
enabled will start to
shard. This also
indirectly determines the
initial nominal size of
shard containers, which
is shard_container_threshold//2,
as well as determining
the thresholds for
shrinking and merging
shard containers.
shard_shrink_point 5 When auto-sharding is
enabled this defines the
object count below which
a 'donor' shard container
will be considered for
shrinking into another
'acceptor' shard
container.
shard_shrink_point is a
percentage of
shard_container_threshold
e.g. the default value of
5 means 5% of the
shard_container_threshold.
shard_shrink_merge_point 75 When auto-sharding is
enabled this defines the
maximum allowed size of
an acceptor shard
container after having a
donor merged into it.
Shard_shrink_merge_point
is a percentage of
shard_container_threshold.
e.g. the default value of
75 means that the
projected sum of a donor
object count and acceptor
count must be less than
75% of shard_container_threshold
for the donor to be
allowed to merge into the
acceptor.
For example, if
shard_container_threshold
is 1 million,
shard_shrink_point is 5,
and shard_shrink_merge_point
is 75 then a shard will
be considered for
shrinking if it has less
than or equal to 50
thousand objects but will
only merge into an
acceptor if the combined
object count would be
less than or equal to 750
thousand objects.
shard_scanner_batch_size 10 When auto-sharding is
enabled this defines the
maximum number of shard
ranges that will be found
each time the sharder
daemon visits a sharding
container. If necessary
the sharder daemon will
continue to search for
more shard ranges each
time it visits the
container.
cleave_batch_size 2 Defines the number of
shard ranges that will be
cleaved each time the
sharder daemon visits a
sharding container.
cleave_row_batch_size 10000 Defines the size of
batches of object rows
read from a sharding
container and merged to a
shard container during
cleaving.
shard_replication_quorum auto Defines the number of
successfully replicated
shard dbs required when
cleaving a previously
uncleaved shard range
before the sharder will
progress to the next
shard range. The value
should be less than or
equal to the container
ring replica count. The
default of 'auto' causes
the container ring quorum
value to be used. This
option only applies to
the container-sharder
replication and does not
affect the number of
shard container replicas
that will eventually be
replicated by the
container-replicator.
existing_shard_replication_quorum auto Defines the number of
successfully replicated
shard dbs required when
cleaving a shard range
that has been previously
cleaved on another node
before the sharder will
progress to the next
shard range. The value
should be less than or
equal to the container
ring replica count. The
default of 'auto' causes
the shard_replication_quorum
value to be used. This
option only applies to
the container-sharder
replication and does not
affect the number of
shard container replicas
that will eventually be
replicated by the
container-replicator.
internal_client_conf_path see description The sharder uses an
internal client to create
and make requests to
containers. The absolute
path to the client config
file can be configured.
Defaults to
/etc/swift/internal-client.conf
request_tries 3 The number of time the
internal client will
retry requests.
recon_candidates_limit 5 Each time the sharder
dumps stats to the recon
cache file it includes a
list of containers that
appear to need sharding
but are not yet sharding.
By default this list is
limited to the top 5
containers, ordered by
object count. The limit
may be changed by setting
recon_candidates_limit to
an integer value. A
negative value implies no
limit.
broker_timeout 60 Large databases tend to
take a while to work
with, but we want to make
sure we write down our
progress. Use a
larger-than-normal broker
timeout to make us less
likely to bomb out on a
LockTimeout.
================================= ================= =======================================
*******************
[container-updater]
*******************