Move config option documentation to separate docs
This patch moves the tables describing configuration options for each server type from the deployment_guide.rst doc to separate per-server documents. The new per-server documents are grouped under a config directory with a config index doc. The config index doc is listed in the top level index and provides a single starting point to navigate to the individual server docs. Change-Id: I6cedd98586febb5dc949c088ee44e160385ed324
This commit is contained in:
parent
14bd6b916d
commit
72786533ea
358
doc/source/config/account_server_config.rst
Normal file
358
doc/source/config/account_server_config.rst
Normal file
@ -0,0 +1,358 @@
|
|||||||
|
.. _account-server-config:
|
||||||
|
|
||||||
|
----------------------------
|
||||||
|
Account Server Configuration
|
||||||
|
----------------------------
|
||||||
|
|
||||||
|
This document describes the configuration options available for the account
|
||||||
|
server. Documentation for other swift configuration options can be found at
|
||||||
|
:doc:`index`.
|
||||||
|
|
||||||
|
An example Account Server configuration can be found at
|
||||||
|
etc/account-server.conf-sample in the source code repository.
|
||||||
|
|
||||||
|
The following configuration sections are available:
|
||||||
|
|
||||||
|
* :ref:`[DEFAULT] <account_server_default_options>`
|
||||||
|
* `[account-server]`_
|
||||||
|
* `[account-replicator]`_
|
||||||
|
* `[account-auditor]`_
|
||||||
|
* `[account-reaper]`_
|
||||||
|
|
||||||
|
.. _account_server_default_options:
|
||||||
|
|
||||||
|
*********
|
||||||
|
[DEFAULT]
|
||||||
|
*********
|
||||||
|
|
||||||
|
=============================== ========== =============================================
|
||||||
|
Option Default Description
|
||||||
|
------------------------------- ---------- ---------------------------------------------
|
||||||
|
swift_dir /etc/swift Swift configuration directory
|
||||||
|
devices /srv/node Parent directory or where devices are mounted
|
||||||
|
mount_check true Whether or not check if the devices are
|
||||||
|
mounted to prevent accidentally writing
|
||||||
|
to the root device
|
||||||
|
bind_ip 0.0.0.0 IP Address for server to bind to
|
||||||
|
bind_port 6202 Port for server to bind to
|
||||||
|
keep_idle 600 Value to set for socket TCP_KEEPIDLE
|
||||||
|
bind_timeout 30 Seconds to attempt bind before giving up
|
||||||
|
backlog 4096 Maximum number of allowed pending
|
||||||
|
connections
|
||||||
|
workers auto Override the number of pre-forked workers
|
||||||
|
that will accept connections. If set it
|
||||||
|
should be an integer, zero means no fork. If
|
||||||
|
unset, it will try to default to the number
|
||||||
|
of effective cpu cores and fallback to one.
|
||||||
|
Increasing the number of workers may reduce
|
||||||
|
the possibility of slow file system
|
||||||
|
operations in one request from negatively
|
||||||
|
impacting other requests. See
|
||||||
|
:ref:`general-service-tuning`.
|
||||||
|
max_clients 1024 Maximum number of clients one worker can
|
||||||
|
process simultaneously (it will actually
|
||||||
|
accept(2) N + 1). Setting this to one (1)
|
||||||
|
will only handle one request at a time,
|
||||||
|
without accepting another request
|
||||||
|
concurrently.
|
||||||
|
user swift User to run as
|
||||||
|
db_preallocation off If you don't mind the extra disk space usage in
|
||||||
|
overhead, you can turn this on to preallocate
|
||||||
|
disk space with SQLite databases to decrease
|
||||||
|
fragmentation.
|
||||||
|
disable_fallocate false Disable "fast fail" fallocate checks if the
|
||||||
|
underlying filesystem does not support it.
|
||||||
|
log_name swift Label used when logging
|
||||||
|
log_facility LOG_LOCAL0 Syslog log facility
|
||||||
|
log_level INFO Logging level
|
||||||
|
log_address /dev/log Logging directory
|
||||||
|
log_max_line_length 0 Caps the length of log lines to the
|
||||||
|
value given; no limit if set to 0, the
|
||||||
|
default.
|
||||||
|
log_custom_handlers None Comma-separated list of functions to call
|
||||||
|
to setup custom log handlers.
|
||||||
|
log_udp_host Override log_address
|
||||||
|
log_udp_port 514 UDP log port
|
||||||
|
log_statsd_host None Enables StatsD logging; IPv4/IPv6
|
||||||
|
address or a hostname. If a
|
||||||
|
hostname resolves to an IPv4 and IPv6
|
||||||
|
address, the IPv4 address will be
|
||||||
|
used.
|
||||||
|
log_statsd_port 8125
|
||||||
|
log_statsd_default_sample_rate 1.0
|
||||||
|
log_statsd_sample_rate_factor 1.0
|
||||||
|
log_statsd_metric_prefix
|
||||||
|
eventlet_debug false If true, turn on debug logging for eventlet
|
||||||
|
fallocate_reserve 1% You can set fallocate_reserve to the
|
||||||
|
number of bytes or percentage of disk
|
||||||
|
space you'd like fallocate to reserve,
|
||||||
|
whether there is space for the given
|
||||||
|
file size or not. Percentage will be used
|
||||||
|
if the value ends with a '%'. This is
|
||||||
|
useful for systems that behave badly when
|
||||||
|
they completely run out of space; you can
|
||||||
|
make the services pretend they're out of
|
||||||
|
space early.
|
||||||
|
nice_priority None Scheduling priority of server processes.
|
||||||
|
Niceness values range from -20 (most
|
||||||
|
favorable to the process) to 19 (least
|
||||||
|
favorable to the process). The default
|
||||||
|
does not modify priority.
|
||||||
|
ionice_class None I/O scheduling class of server processes.
|
||||||
|
I/O niceness class values are IOPRIO_CLASS_RT
|
||||||
|
(realtime), IOPRIO_CLASS_BE (best-effort),
|
||||||
|
and IOPRIO_CLASS_IDLE (idle).
|
||||||
|
The default does not modify class and
|
||||||
|
priority. Linux supports io scheduling
|
||||||
|
priorities and classes since 2.6.13 with
|
||||||
|
the CFQ io scheduler.
|
||||||
|
Work only with ionice_priority.
|
||||||
|
ionice_priority None I/O scheduling priority of server processes.
|
||||||
|
I/O niceness priority is a number which
|
||||||
|
goes from 0 to 7. The higher the value,
|
||||||
|
the lower the I/O priority of the process.
|
||||||
|
Work only with ionice_class.
|
||||||
|
Ignored if IOPRIO_CLASS_IDLE is set.
|
||||||
|
=============================== ========== =============================================
|
||||||
|
|
||||||
|
****************
|
||||||
|
[account-server]
|
||||||
|
****************
|
||||||
|
|
||||||
|
============================= ============== ==========================================
|
||||||
|
Option Default Description
|
||||||
|
----------------------------- -------------- ------------------------------------------
|
||||||
|
use Entry point for paste.deploy for the account
|
||||||
|
server. For most cases, this should be
|
||||||
|
``egg:swift#account``.
|
||||||
|
set log_name account-server Label used when logging
|
||||||
|
set log_facility LOG_LOCAL0 Syslog log facility
|
||||||
|
set log_level INFO Logging level
|
||||||
|
set log_requests True Whether or not to log each
|
||||||
|
request
|
||||||
|
set log_address /dev/log Logging directory
|
||||||
|
replication_server Configure parameter for creating
|
||||||
|
specific server. To handle all verbs,
|
||||||
|
including replication verbs, do not
|
||||||
|
specify "replication_server"
|
||||||
|
(this is the default). To only
|
||||||
|
handle replication, set to a True
|
||||||
|
value (e.g. "True" or "1").
|
||||||
|
To handle only non-replication
|
||||||
|
verbs, set to "False". Unless you
|
||||||
|
have a separate replication network, you
|
||||||
|
should not specify any value for
|
||||||
|
"replication_server".
|
||||||
|
nice_priority None Scheduling priority of server processes.
|
||||||
|
Niceness values range from -20 (most
|
||||||
|
favorable to the process) to 19 (least
|
||||||
|
favorable to the process). The default
|
||||||
|
does not modify priority.
|
||||||
|
ionice_class None I/O scheduling class of server processes.
|
||||||
|
I/O niceness class values are IOPRIO_CLASS_RT
|
||||||
|
(realtime), IOPRIO_CLASS_BE (best-effort),
|
||||||
|
and IOPRIO_CLASS_IDLE (idle).
|
||||||
|
The default does not modify class and
|
||||||
|
priority. Linux supports io scheduling
|
||||||
|
priorities and classes since 2.6.13 with
|
||||||
|
the CFQ io scheduler.
|
||||||
|
Work only with ionice_priority.
|
||||||
|
ionice_priority None I/O scheduling priority of server
|
||||||
|
processes. I/O niceness priority is
|
||||||
|
a number which goes from 0 to 7.
|
||||||
|
The higher the value, the lower the I/O
|
||||||
|
priority of the process. Work only with
|
||||||
|
ionice_class.
|
||||||
|
Ignored if IOPRIO_CLASS_IDLE is set.
|
||||||
|
============================= ============== ==========================================
|
||||||
|
|
||||||
|
********************
|
||||||
|
[account-replicator]
|
||||||
|
********************
|
||||||
|
|
||||||
|
==================== ========================= ===============================
|
||||||
|
Option Default Description
|
||||||
|
-------------------- ------------------------- -------------------------------
|
||||||
|
log_name account-replicator Label used when logging
|
||||||
|
log_facility LOG_LOCAL0 Syslog log facility
|
||||||
|
log_level INFO Logging level
|
||||||
|
log_address /dev/log Logging directory
|
||||||
|
per_diff 1000 Maximum number of database rows
|
||||||
|
that will be sync'd in a single
|
||||||
|
HTTP replication request.
|
||||||
|
Databases with less than or
|
||||||
|
equal to this number of
|
||||||
|
differing rows will always be
|
||||||
|
sync'd using an HTTP replication
|
||||||
|
request rather than using rsync.
|
||||||
|
max_diffs 100 Maximum number of HTTP
|
||||||
|
replication requests attempted
|
||||||
|
on each replication pass for any
|
||||||
|
one container. This caps how
|
||||||
|
long the replicator will spend
|
||||||
|
trying to sync a given database
|
||||||
|
per pass so the other databases
|
||||||
|
don't get starved.
|
||||||
|
concurrency 8 Number of replication workers
|
||||||
|
to spawn
|
||||||
|
interval 30 Time in seconds to wait between
|
||||||
|
replication passes
|
||||||
|
databases_per_second 50 Maximum databases to process
|
||||||
|
per second. Should be tuned
|
||||||
|
according to individual
|
||||||
|
system specs. 0 is unlimited.
|
||||||
|
node_timeout 10 Request timeout to external
|
||||||
|
services
|
||||||
|
conn_timeout 0.5 Connection timeout to external
|
||||||
|
services
|
||||||
|
reclaim_age 604800 Time elapsed in seconds before
|
||||||
|
an account can be reclaimed
|
||||||
|
rsync_module {replication_ip}::account Format of the rsync module where
|
||||||
|
the replicator will send data.
|
||||||
|
The configuration value can
|
||||||
|
include some variables that will
|
||||||
|
be extracted from the ring.
|
||||||
|
Variables must follow the format
|
||||||
|
{NAME} where NAME is one of: ip,
|
||||||
|
port, replication_ip,
|
||||||
|
replication_port, region, zone,
|
||||||
|
device, meta. See
|
||||||
|
etc/rsyncd.conf-sample for some
|
||||||
|
examples.
|
||||||
|
rsync_compress no Allow rsync to compress data
|
||||||
|
which is transmitted to
|
||||||
|
destination node during sync.
|
||||||
|
However, this is applicable only
|
||||||
|
when destination node is in a
|
||||||
|
different region than the local
|
||||||
|
one. NOTE: Objects that are
|
||||||
|
already compressed (for example:
|
||||||
|
.tar.gz, mp3) might slow down
|
||||||
|
the syncing process.
|
||||||
|
recon_cache_path /var/cache/swift Path to recon cache
|
||||||
|
nice_priority None Scheduling priority of server
|
||||||
|
processes. Niceness values
|
||||||
|
range from -20 (most favorable
|
||||||
|
to the process) to 19 (least
|
||||||
|
favorable to the process).
|
||||||
|
The default does not modify
|
||||||
|
priority.
|
||||||
|
ionice_class None I/O scheduling class of server
|
||||||
|
processes. I/O niceness class
|
||||||
|
values are IOPRIO_CLASS_RT
|
||||||
|
(realtime), IOPRIO_CLASS_BE
|
||||||
|
(best-effort), and IOPRIO_CLASS_IDLE
|
||||||
|
(idle).
|
||||||
|
The default does not modify
|
||||||
|
class and priority. Linux supports
|
||||||
|
io scheduling priorities and classes
|
||||||
|
since 2.6.13 with the CFQ io scheduler.
|
||||||
|
Work only with ionice_priority.
|
||||||
|
ionice_priority None I/O scheduling priority of server
|
||||||
|
processes. I/O niceness priority
|
||||||
|
is a number which goes from 0 to 7.
|
||||||
|
The higher the value, the lower
|
||||||
|
the I/O priority of the process.
|
||||||
|
Work only with ionice_class.
|
||||||
|
Ignored if IOPRIO_CLASS_IDLE
|
||||||
|
is set.
|
||||||
|
==================== ========================= ===============================
|
||||||
|
|
||||||
|
*****************
|
||||||
|
[account-auditor]
|
||||||
|
*****************
|
||||||
|
|
||||||
|
==================== ================ =======================================
|
||||||
|
Option Default Description
|
||||||
|
-------------------- ---------------- ---------------------------------------
|
||||||
|
log_name account-auditor Label used when logging
|
||||||
|
log_facility LOG_LOCAL0 Syslog log facility
|
||||||
|
log_level INFO Logging level
|
||||||
|
log_address /dev/log Logging directory
|
||||||
|
interval 1800 Minimum time for a pass to take
|
||||||
|
accounts_per_second 200 Maximum accounts audited per second.
|
||||||
|
Should be tuned according to individual
|
||||||
|
system specs. 0 is unlimited.
|
||||||
|
recon_cache_path /var/cache/swift Path to recon cache
|
||||||
|
nice_priority None Scheduling priority of server processes.
|
||||||
|
Niceness values range from -20 (most
|
||||||
|
favorable to the process) to 19 (least
|
||||||
|
favorable to the process). The default
|
||||||
|
does not modify priority.
|
||||||
|
ionice_class None I/O scheduling class of server processes.
|
||||||
|
I/O niceness class values are
|
||||||
|
IOPRIO_CLASS_RT (realtime),
|
||||||
|
IOPRIO_CLASS_BE (best-effort),
|
||||||
|
and IOPRIO_CLASS_IDLE (idle).
|
||||||
|
The default does not modify class and
|
||||||
|
priority. Linux supports io scheduling
|
||||||
|
priorities and classes since 2.6.13 with
|
||||||
|
the CFQ io scheduler.
|
||||||
|
Work only with ionice_priority.
|
||||||
|
ionice_priority None I/O scheduling priority of server
|
||||||
|
processes. I/O niceness priority is
|
||||||
|
a number which goes from 0 to 7.
|
||||||
|
The higher the value, the lower the I/O
|
||||||
|
priority of the process. Work only with
|
||||||
|
ionice_class.
|
||||||
|
Ignored if IOPRIO_CLASS_IDLE is set.
|
||||||
|
==================== ================ =======================================
|
||||||
|
|
||||||
|
****************
|
||||||
|
[account-reaper]
|
||||||
|
****************
|
||||||
|
|
||||||
|
================== =============== =========================================
|
||||||
|
Option Default Description
|
||||||
|
------------------ --------------- -----------------------------------------
|
||||||
|
log_name account-reaper Label used when logging
|
||||||
|
log_facility LOG_LOCAL0 Syslog log facility
|
||||||
|
log_level INFO Logging level
|
||||||
|
log_address /dev/log Logging directory
|
||||||
|
concurrency 25 Number of replication workers to spawn
|
||||||
|
interval 3600 Minimum time for a pass to take
|
||||||
|
node_timeout 10 Request timeout to external services
|
||||||
|
conn_timeout 0.5 Connection timeout to external services
|
||||||
|
delay_reaping 0 Normally, the reaper begins deleting
|
||||||
|
account information for deleted accounts
|
||||||
|
immediately; you can set this to delay
|
||||||
|
its work however. The value is in seconds,
|
||||||
|
2592000 = 30 days, for example. The sum of
|
||||||
|
this value and the container-updater
|
||||||
|
``interval`` should be less than the
|
||||||
|
account-replicator ``reclaim_age``. This
|
||||||
|
ensures that once the account-reaper has
|
||||||
|
deleted a container there is sufficient
|
||||||
|
time for the container-updater to report
|
||||||
|
to the account before the account DB is
|
||||||
|
removed.
|
||||||
|
reap_warn_after 2892000 If the account fails to be reaped due
|
||||||
|
to a persistent error, the account reaper
|
||||||
|
will log a message such as:
|
||||||
|
Account <name> has not been reaped since <date>
|
||||||
|
You can search logs for this message if
|
||||||
|
space is not being reclaimed after you
|
||||||
|
delete account(s). This is in addition to
|
||||||
|
any time requested by delay_reaping.
|
||||||
|
nice_priority None Scheduling priority of server processes.
|
||||||
|
Niceness values range from -20 (most
|
||||||
|
favorable to the process) to 19 (least
|
||||||
|
favorable to the process). The default
|
||||||
|
does not modify priority.
|
||||||
|
ionice_class None I/O scheduling class of server processes.
|
||||||
|
I/O niceness class values are IOPRIO_CLASS_RT
|
||||||
|
(realtime), IOPRIO_CLASS_BE (best-effort),
|
||||||
|
and IOPRIO_CLASS_IDLE (idle).
|
||||||
|
The default does not modify class and
|
||||||
|
priority. Linux supports io scheduling
|
||||||
|
priorities and classes since 2.6.13 with
|
||||||
|
the CFQ io scheduler.
|
||||||
|
Work only with ionice_priority.
|
||||||
|
ionice_priority None I/O scheduling priority of server
|
||||||
|
processes. I/O niceness priority is
|
||||||
|
a number which goes from 0 to 7.
|
||||||
|
The higher the value, the lower the I/O
|
||||||
|
priority of the process. Work only with
|
||||||
|
ionice_class.
|
||||||
|
Ignored if IOPRIO_CLASS_IDLE is set.
|
||||||
|
================== =============== =========================================
|
362
doc/source/config/container_server_config.rst
Normal file
362
doc/source/config/container_server_config.rst
Normal file
@ -0,0 +1,362 @@
|
|||||||
|
.. _container-server-config:
|
||||||
|
|
||||||
|
------------------------------
|
||||||
|
Container Server Configuration
|
||||||
|
------------------------------
|
||||||
|
|
||||||
|
This document describes the configuration options available for the container
|
||||||
|
server. Documentation for other swift configuration options can be found at
|
||||||
|
:doc:`index`.
|
||||||
|
|
||||||
|
An example Container Server configuration can be found at
|
||||||
|
etc/container-server.conf-sample in the source code repository.
|
||||||
|
|
||||||
|
The following configuration sections are available:
|
||||||
|
|
||||||
|
* :ref:`[DEFAULT] <container_server_default_options>`
|
||||||
|
* `[container-server]`_
|
||||||
|
* `[container-replicator]`_
|
||||||
|
* `[container-updater]`_
|
||||||
|
* `[container-auditor]`_
|
||||||
|
|
||||||
|
.. _container_server_default_options:
|
||||||
|
|
||||||
|
*********
|
||||||
|
[DEFAULT]
|
||||||
|
*********
|
||||||
|
|
||||||
|
=============================== ========== ============================================
|
||||||
|
Option Default Description
|
||||||
|
------------------------------- ---------- --------------------------------------------
|
||||||
|
swift_dir /etc/swift Swift configuration directory
|
||||||
|
devices /srv/node Parent directory of where devices are mounted
|
||||||
|
mount_check true Whether or not check if the devices are
|
||||||
|
mounted to prevent accidentally writing
|
||||||
|
to the root device
|
||||||
|
bind_ip 0.0.0.0 IP Address for server to bind to
|
||||||
|
bind_port 6201 Port for server to bind to
|
||||||
|
keep_idle 600 Value to set for socket TCP_KEEPIDLE
|
||||||
|
bind_timeout 30 Seconds to attempt bind before giving up
|
||||||
|
backlog 4096 Maximum number of allowed pending
|
||||||
|
connections
|
||||||
|
workers auto Override the number of pre-forked workers
|
||||||
|
that will accept connections. If set it
|
||||||
|
should be an integer, zero means no fork. If
|
||||||
|
unset, it will try to default to the number
|
||||||
|
of effective cpu cores and fallback to one.
|
||||||
|
Increasing the number of workers may reduce
|
||||||
|
the possibility of slow file system
|
||||||
|
operations in one request from negatively
|
||||||
|
impacting other requests. See
|
||||||
|
:ref:`general-service-tuning`.
|
||||||
|
max_clients 1024 Maximum number of clients one worker can
|
||||||
|
process simultaneously (it will actually
|
||||||
|
accept(2) N + 1). Setting this to one (1)
|
||||||
|
will only handle one request at a time,
|
||||||
|
without accepting another request
|
||||||
|
concurrently.
|
||||||
|
user swift User to run as
|
||||||
|
disable_fallocate false Disable "fast fail" fallocate checks if the
|
||||||
|
underlying filesystem does not support it.
|
||||||
|
log_name swift Label used when logging
|
||||||
|
log_facility LOG_LOCAL0 Syslog log facility
|
||||||
|
log_level INFO Logging level
|
||||||
|
log_address /dev/log Logging directory
|
||||||
|
log_max_line_length 0 Caps the length of log lines to the
|
||||||
|
value given; no limit if set to 0, the
|
||||||
|
default.
|
||||||
|
log_custom_handlers None Comma-separated list of functions to call
|
||||||
|
to setup custom log handlers.
|
||||||
|
log_udp_host Override log_address
|
||||||
|
log_udp_port 514 UDP log port
|
||||||
|
log_statsd_host None Enables StatsD logging; IPv4/IPv6
|
||||||
|
address or a hostname. If a
|
||||||
|
hostname resolves to an IPv4 and IPv6
|
||||||
|
address, the IPv4 address will be
|
||||||
|
used.
|
||||||
|
log_statsd_port 8125
|
||||||
|
log_statsd_default_sample_rate 1.0
|
||||||
|
log_statsd_sample_rate_factor 1.0
|
||||||
|
log_statsd_metric_prefix
|
||||||
|
eventlet_debug false If true, turn on debug logging for eventlet
|
||||||
|
fallocate_reserve 1% You can set fallocate_reserve to the
|
||||||
|
number of bytes or percentage of disk
|
||||||
|
space you'd like fallocate to reserve,
|
||||||
|
whether there is space for the given
|
||||||
|
file size or not. Percentage will be used
|
||||||
|
if the value ends with a '%'. This is
|
||||||
|
useful for systems that behave badly when
|
||||||
|
they completely run out of space; you can
|
||||||
|
make the services pretend they're out of
|
||||||
|
space early.
|
||||||
|
db_preallocation off If you don't mind the extra disk space usage
|
||||||
|
in overhead, you can turn this on to preallocate
|
||||||
|
disk space with SQLite databases to decrease
|
||||||
|
fragmentation.
|
||||||
|
nice_priority None Scheduling priority of server processes.
|
||||||
|
Niceness values range from -20 (most
|
||||||
|
favorable to the process) to 19 (least
|
||||||
|
favorable to the process). The default
|
||||||
|
does not modify priority.
|
||||||
|
ionice_class None I/O scheduling class of server processes.
|
||||||
|
I/O niceness class values are IOPRIO_CLASS_RT
|
||||||
|
(realtime), IOPRIO_CLASS_BE (best-effort),
|
||||||
|
and IOPRIO_CLASS_IDLE (idle).
|
||||||
|
The default does not modify class and
|
||||||
|
priority. Linux supports io scheduling
|
||||||
|
priorities and classes since 2.6.13
|
||||||
|
with the CFQ io scheduler.
|
||||||
|
Work only with ionice_priority.
|
||||||
|
ionice_priority None I/O scheduling priority of server processes.
|
||||||
|
I/O niceness priority is a number which
|
||||||
|
goes from 0 to 7. The higher the value,
|
||||||
|
the lower the I/O priority of the process.
|
||||||
|
Work only with ionice_class.
|
||||||
|
Ignored if IOPRIO_CLASS_IDLE is set.
|
||||||
|
=============================== ========== ============================================
|
||||||
|
|
||||||
|
******************
|
||||||
|
[container-server]
|
||||||
|
******************
|
||||||
|
|
||||||
|
============================== ================ ========================================
|
||||||
|
Option Default Description
|
||||||
|
------------------------------ ---------------- ----------------------------------------
|
||||||
|
use paste.deploy entry point for the
|
||||||
|
container server. For most cases, this
|
||||||
|
should be ``egg:swift#container``.
|
||||||
|
set log_name container-server Label used when logging
|
||||||
|
set log_facility LOG_LOCAL0 Syslog log facility
|
||||||
|
set log_level INFO Logging level
|
||||||
|
set log_requests True Whether or not to log each
|
||||||
|
request
|
||||||
|
set log_address /dev/log Logging directory
|
||||||
|
node_timeout 3 Request timeout to external services
|
||||||
|
conn_timeout 0.5 Connection timeout to external services
|
||||||
|
allow_versions false Enable/Disable object versioning feature
|
||||||
|
replication_server Configure parameter for creating
|
||||||
|
specific server. To handle all verbs,
|
||||||
|
including replication verbs, do not
|
||||||
|
specify "replication_server"
|
||||||
|
(this is the default). To only
|
||||||
|
handle replication, set to a True
|
||||||
|
value (e.g. "True" or "1").
|
||||||
|
To handle only non-replication
|
||||||
|
verbs, set to "False". Unless you
|
||||||
|
have a separate replication network, you
|
||||||
|
should not specify any value for
|
||||||
|
"replication_server".
|
||||||
|
nice_priority None Scheduling priority of server processes.
|
||||||
|
Niceness values range from -20 (most
|
||||||
|
favorable to the process) to 19 (least
|
||||||
|
favorable to the process). The default
|
||||||
|
does not modify priority.
|
||||||
|
ionice_class None I/O scheduling class of server processes.
|
||||||
|
I/O niceness class values are
|
||||||
|
IOPRIO_CLASS_RT (realtime),
|
||||||
|
IOPRIO_CLASS_BE (best-effort),
|
||||||
|
and IOPRIO_CLASS_IDLE (idle).
|
||||||
|
The default does not modify class and
|
||||||
|
priority. Linux supports io scheduling
|
||||||
|
priorities and classes since 2.6.13 with
|
||||||
|
the CFQ io scheduler.
|
||||||
|
Work only with ionice_priority.
|
||||||
|
ionice_priority None I/O scheduling priority of server
|
||||||
|
processes. I/O niceness priority is
|
||||||
|
a number which goes from 0 to 7.
|
||||||
|
The higher the value, the lower the I/O
|
||||||
|
priority of the process. Work only with
|
||||||
|
ionice_class.
|
||||||
|
Ignored if IOPRIO_CLASS_IDLE is set.
|
||||||
|
============================== ================ ========================================
|
||||||
|
|
||||||
|
**********************
|
||||||
|
[container-replicator]
|
||||||
|
**********************
|
||||||
|
|
||||||
|
==================== =========================== =============================
|
||||||
|
Option Default Description
|
||||||
|
-------------------- --------------------------- -----------------------------
|
||||||
|
log_name container-replicator Label used when logging
|
||||||
|
log_facility LOG_LOCAL0 Syslog log facility
|
||||||
|
log_level INFO Logging level
|
||||||
|
log_address /dev/log Logging directory
|
||||||
|
per_diff 1000 Maximum number of database
|
||||||
|
rows that will be sync'd in a
|
||||||
|
single HTTP replication
|
||||||
|
request. Databases with less
|
||||||
|
than or equal to this number
|
||||||
|
of differing rows will always
|
||||||
|
be sync'd using an HTTP
|
||||||
|
replication request rather
|
||||||
|
than using rsync.
|
||||||
|
max_diffs 100 Maximum number of HTTP
|
||||||
|
replication requests attempted
|
||||||
|
on each replication pass for
|
||||||
|
any one container. This caps
|
||||||
|
how long the replicator will
|
||||||
|
spend trying to sync a given
|
||||||
|
database per pass so the other
|
||||||
|
databases don't get starved.
|
||||||
|
concurrency 8 Number of replication workers
|
||||||
|
to spawn
|
||||||
|
interval 30 Time in seconds to wait
|
||||||
|
between replication passes
|
||||||
|
databases_per_second 50 Maximum databases to process
|
||||||
|
per second. Should be tuned
|
||||||
|
according to individual
|
||||||
|
system specs. 0 is unlimited.
|
||||||
|
node_timeout 10 Request timeout to external
|
||||||
|
services
|
||||||
|
conn_timeout 0.5 Connection timeout to external
|
||||||
|
services
|
||||||
|
reclaim_age 604800 Time elapsed in seconds before
|
||||||
|
a container can be reclaimed
|
||||||
|
rsync_module {replication_ip}::container Format of the rsync module
|
||||||
|
where the replicator will send
|
||||||
|
data. The configuration value
|
||||||
|
can include some variables
|
||||||
|
that will be extracted from
|
||||||
|
the ring. Variables must
|
||||||
|
follow the format {NAME} where
|
||||||
|
NAME is one of: ip, port,
|
||||||
|
replication_ip,
|
||||||
|
replication_port, region,
|
||||||
|
zone, device, meta. See
|
||||||
|
etc/rsyncd.conf-sample for
|
||||||
|
some examples.
|
||||||
|
rsync_compress no Allow rsync to compress data
|
||||||
|
which is transmitted to
|
||||||
|
destination node during sync.
|
||||||
|
However, this is applicable
|
||||||
|
only when destination node is
|
||||||
|
in a different region than the
|
||||||
|
local one. NOTE: Objects that
|
||||||
|
are already compressed (for
|
||||||
|
example: .tar.gz, mp3) might
|
||||||
|
slow down the syncing process.
|
||||||
|
recon_cache_path /var/cache/swift Path to recon cache
|
||||||
|
nice_priority None Scheduling priority of server
|
||||||
|
processes. Niceness values
|
||||||
|
range from -20 (most favorable
|
||||||
|
to the process) to 19 (least
|
||||||
|
favorable to the process).
|
||||||
|
The default does not modify
|
||||||
|
priority.
|
||||||
|
ionice_class None I/O scheduling class of server
|
||||||
|
processes. I/O niceness class
|
||||||
|
values are
|
||||||
|
IOPRIO_CLASS_RT (realtime),
|
||||||
|
IOPRIO_CLASS_BE (best-effort),
|
||||||
|
and IOPRIO_CLASS_IDLE (idle).
|
||||||
|
The default does not modify
|
||||||
|
class and priority. Linux
|
||||||
|
supports io scheduling
|
||||||
|
priorities and classes since
|
||||||
|
2.6.13 with the CFQ io
|
||||||
|
scheduler.
|
||||||
|
Work only with ionice_priority.
|
||||||
|
ionice_priority None I/O scheduling priority of
|
||||||
|
server processes. I/O niceness
|
||||||
|
priority is a number which goes
|
||||||
|
from 0 to 7.
|
||||||
|
The higher the value, the lower
|
||||||
|
the I/O priority of the process.
|
||||||
|
Work only with ionice_class.
|
||||||
|
Ignored if IOPRIO_CLASS_IDLE
|
||||||
|
is set.
|
||||||
|
==================== =========================== =============================
|
||||||
|
|
||||||
|
*******************
|
||||||
|
[container-updater]
|
||||||
|
*******************
|
||||||
|
|
||||||
|
======================== ================= ==================================
|
||||||
|
Option Default Description
|
||||||
|
------------------------ ----------------- ----------------------------------
|
||||||
|
log_name container-updater Label used when logging
|
||||||
|
log_facility LOG_LOCAL0 Syslog log facility
|
||||||
|
log_level INFO Logging level
|
||||||
|
log_address /dev/log Logging directory
|
||||||
|
interval 300 Minimum time for a pass to take
|
||||||
|
concurrency 4 Number of updater workers to spawn
|
||||||
|
node_timeout 3 Request timeout to external
|
||||||
|
services
|
||||||
|
conn_timeout 0.5 Connection timeout to external
|
||||||
|
services
|
||||||
|
containers_per_second 50 Maximum containers updated per second.
|
||||||
|
Should be tuned according to individual
|
||||||
|
system specs. 0 is unlimited.
|
||||||
|
|
||||||
|
slowdown 0.01 Time in seconds to wait between
|
||||||
|
containers. Deprecated in favor of
|
||||||
|
containers_per_second.
|
||||||
|
account_suppression_time 60 Seconds to suppress updating an
|
||||||
|
account that has generated an
|
||||||
|
error (timeout, not yet found,
|
||||||
|
etc.)
|
||||||
|
recon_cache_path /var/cache/swift Path to recon cache
|
||||||
|
nice_priority None Scheduling priority of server
|
||||||
|
processes. Niceness values range
|
||||||
|
from -20 (most favorable to the
|
||||||
|
process) to 19 (least favorable
|
||||||
|
to the process). The default does
|
||||||
|
not modify priority.
|
||||||
|
ionice_class None I/O scheduling class of server
|
||||||
|
processes. I/O niceness class
|
||||||
|
values are IOPRIO_CLASS_RT (realtime),
|
||||||
|
IOPRIO_CLASS_BE (best-effort),
|
||||||
|
and IOPRIO_CLASS_IDLE (idle).
|
||||||
|
The default does not modify class and
|
||||||
|
priority. Linux supports io scheduling
|
||||||
|
priorities and classes since 2.6.13 with
|
||||||
|
the CFQ io scheduler.
|
||||||
|
Work only with ionice_priority.
|
||||||
|
ionice_priority None I/O scheduling priority of server
|
||||||
|
processes. I/O niceness priority is
|
||||||
|
a number which goes from 0 to 7.
|
||||||
|
The higher the value, the lower
|
||||||
|
the I/O priority of the process.
|
||||||
|
Work only with ionice_class.
|
||||||
|
Ignored if IOPRIO_CLASS_IDLE is set.
|
||||||
|
======================== ================= ==================================
|
||||||
|
|
||||||
|
*******************
|
||||||
|
[container-auditor]
|
||||||
|
*******************
|
||||||
|
|
||||||
|
===================== ================= =======================================
|
||||||
|
Option Default Description
|
||||||
|
--------------------- ----------------- ---------------------------------------
|
||||||
|
log_name container-auditor Label used when logging
|
||||||
|
log_facility LOG_LOCAL0 Syslog log facility
|
||||||
|
log_level INFO Logging level
|
||||||
|
log_address /dev/log Logging directory
|
||||||
|
interval 1800 Minimum time for a pass to take
|
||||||
|
containers_per_second 200 Maximum containers audited per second.
|
||||||
|
Should be tuned according to individual
|
||||||
|
system specs. 0 is unlimited.
|
||||||
|
recon_cache_path /var/cache/swift Path to recon cache
|
||||||
|
nice_priority None Scheduling priority of server processes.
|
||||||
|
Niceness values range from -20 (most
|
||||||
|
favorable to the process) to 19 (least
|
||||||
|
favorable to the process). The default
|
||||||
|
does not modify priority.
|
||||||
|
ionice_class None I/O scheduling class of server processes.
|
||||||
|
I/O niceness class values are
|
||||||
|
IOPRIO_CLASS_RT (realtime),
|
||||||
|
IOPRIO_CLASS_BE (best-effort),
|
||||||
|
and IOPRIO_CLASS_IDLE (idle).
|
||||||
|
The default does not modify class and
|
||||||
|
priority. Linux supports io scheduling
|
||||||
|
priorities and classes since 2.6.13 with
|
||||||
|
the CFQ io scheduler.
|
||||||
|
Work only with ionice_priority.
|
||||||
|
ionice_priority None I/O scheduling priority of server
|
||||||
|
processes. I/O niceness priority is
|
||||||
|
a number which goes from 0 to 7.
|
||||||
|
The higher the value, the lower the I/O
|
||||||
|
priority of the process. Work only with
|
||||||
|
ionice_class.
|
||||||
|
Ignored if IOPRIO_CLASS_IDLE is set.
|
||||||
|
===================== ================= =======================================
|
17
doc/source/config/index.rst
Normal file
17
doc/source/config/index.rst
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
===========================
|
||||||
|
Configuration Documentation
|
||||||
|
===========================
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 2
|
||||||
|
|
||||||
|
swift_common_config.rst
|
||||||
|
proxy_server_config.rst
|
||||||
|
account_server_config.rst
|
||||||
|
container_server_config.rst
|
||||||
|
object_server_config.rst
|
||||||
|
|
||||||
|
Configuration options for middleware can be found at:
|
||||||
|
|
||||||
|
* :doc:`../middleware`
|
||||||
|
* :doc:`../overview_auth`
|
663
doc/source/config/object_server_config.rst
Normal file
663
doc/source/config/object_server_config.rst
Normal file
@ -0,0 +1,663 @@
|
|||||||
|
.. _object-server-config:
|
||||||
|
|
||||||
|
---------------------------
|
||||||
|
Object Server Configuration
|
||||||
|
---------------------------
|
||||||
|
|
||||||
|
This document describes the configuration options available for the object
|
||||||
|
server. Documentation for other swift configuration options can be found at
|
||||||
|
:doc:`index`.
|
||||||
|
|
||||||
|
An Example Object Server configuration can be found at
|
||||||
|
etc/object-server.conf-sample in the source code repository.
|
||||||
|
|
||||||
|
The following configuration sections are available:
|
||||||
|
|
||||||
|
* :ref:`[DEFAULT] <object-server-default-options>`
|
||||||
|
* `[object-server]`_
|
||||||
|
* `[object-replicator]`_
|
||||||
|
* `[object-reconstructor]`_
|
||||||
|
* `[object-updater]`_
|
||||||
|
* `[object-auditor]`_
|
||||||
|
* `[object-expirer]`_
|
||||||
|
|
||||||
|
.. _object-server-default-options:
|
||||||
|
|
||||||
|
*********
|
||||||
|
[DEFAULT]
|
||||||
|
*********
|
||||||
|
|
||||||
|
================================ ========== ============================================
|
||||||
|
Option Default Description
|
||||||
|
-------------------------------- ---------- --------------------------------------------
|
||||||
|
swift_dir /etc/swift Swift configuration directory
|
||||||
|
devices /srv/node Parent directory of where devices are
|
||||||
|
mounted
|
||||||
|
mount_check true Whether or not check if the devices are
|
||||||
|
mounted to prevent accidentally writing
|
||||||
|
to the root device
|
||||||
|
bind_ip 0.0.0.0 IP Address for server to bind to
|
||||||
|
bind_port 6200 Port for server to bind to
|
||||||
|
keep_idle 600 Value to set for socket TCP_KEEPIDLE
|
||||||
|
bind_timeout 30 Seconds to attempt bind before giving up
|
||||||
|
backlog 4096 Maximum number of allowed pending
|
||||||
|
connections
|
||||||
|
workers auto Override the number of pre-forked workers
|
||||||
|
that will accept connections. If set it
|
||||||
|
should be an integer, zero means no fork.
|
||||||
|
If unset, it will try to default to the
|
||||||
|
number of effective cpu cores and fallback
|
||||||
|
to one. Increasing the number of workers
|
||||||
|
helps slow filesystem operations in one
|
||||||
|
request from negatively impacting other
|
||||||
|
requests, but only the
|
||||||
|
:ref:`servers_per_port
|
||||||
|
<server-per-port-configuration>` option
|
||||||
|
provides complete I/O isolation with no
|
||||||
|
measurable overhead.
|
||||||
|
servers_per_port 0 If each disk in each storage policy ring
|
||||||
|
has unique port numbers for its "ip"
|
||||||
|
value, you can use this setting to have
|
||||||
|
each object-server worker only service
|
||||||
|
requests for the single disk matching the
|
||||||
|
port in the ring. The value of this
|
||||||
|
setting determines how many worker
|
||||||
|
processes run for each port (disk) in the
|
||||||
|
ring. If you have 24 disks per server, and
|
||||||
|
this setting is 4, then each storage node
|
||||||
|
will have 1 + (24 * 4) = 97 total
|
||||||
|
object-server processes running. This
|
||||||
|
gives complete I/O isolation, drastically
|
||||||
|
reducing the impact of slow disks on
|
||||||
|
storage node performance. The
|
||||||
|
object-replicator and object-reconstructor
|
||||||
|
need to see this setting too, so it must
|
||||||
|
be in the [DEFAULT] section.
|
||||||
|
See :ref:`server-per-port-configuration`.
|
||||||
|
max_clients 1024 Maximum number of clients one worker can
|
||||||
|
process simultaneously (it will actually
|
||||||
|
accept(2) N + 1). Setting this to one (1)
|
||||||
|
will only handle one request at a time,
|
||||||
|
without accepting another request
|
||||||
|
concurrently.
|
||||||
|
disable_fallocate false Disable "fast fail" fallocate checks if
|
||||||
|
the underlying filesystem does not support
|
||||||
|
it.
|
||||||
|
log_name swift Label used when logging
|
||||||
|
log_facility LOG_LOCAL0 Syslog log facility
|
||||||
|
log_level INFO Logging level
|
||||||
|
log_address /dev/log Logging directory
|
||||||
|
log_max_line_length 0 Caps the length of log lines to the
|
||||||
|
value given; no limit if set to 0, the
|
||||||
|
default.
|
||||||
|
log_custom_handlers None Comma-separated list of functions to call
|
||||||
|
to setup custom log handlers.
|
||||||
|
log_udp_host Override log_address
|
||||||
|
log_udp_port 514 UDP log port
|
||||||
|
log_statsd_host None Enables StatsD logging; IPv4/IPv6
|
||||||
|
address or a hostname. If a
|
||||||
|
hostname resolves to an IPv4 and IPv6
|
||||||
|
address, the IPv4 address will be
|
||||||
|
used.
|
||||||
|
log_statsd_port 8125
|
||||||
|
log_statsd_default_sample_rate 1.0
|
||||||
|
log_statsd_sample_rate_factor 1.0
|
||||||
|
log_statsd_metric_prefix
|
||||||
|
eventlet_debug false If true, turn on debug logging for
|
||||||
|
eventlet
|
||||||
|
fallocate_reserve 1% You can set fallocate_reserve to the
|
||||||
|
number of bytes or percentage of disk
|
||||||
|
space you'd like fallocate to reserve,
|
||||||
|
whether there is space for the given
|
||||||
|
file size or not. Percentage will be used
|
||||||
|
if the value ends with a '%'. This is
|
||||||
|
useful for systems that behave badly when
|
||||||
|
they completely run out of space; you can
|
||||||
|
make the services pretend they're out of
|
||||||
|
space early.
|
||||||
|
conn_timeout 0.5 Time to wait while attempting to connect
|
||||||
|
to another backend node.
|
||||||
|
node_timeout 3 Time to wait while sending each chunk of
|
||||||
|
data to another backend node.
|
||||||
|
client_timeout 60 Time to wait while receiving each chunk of
|
||||||
|
data from a client or another backend node
|
||||||
|
network_chunk_size 65536 Size of chunks to read/write over the
|
||||||
|
network
|
||||||
|
disk_chunk_size 65536 Size of chunks to read/write to disk
|
||||||
|
container_update_timeout 1 Time to wait while sending a container
|
||||||
|
update on object update.
|
||||||
|
reclaim_age 604800 Time elapsed in seconds before the tombstone
|
||||||
|
file representing a deleted object can be
|
||||||
|
reclaimed. This is the maximum window for
|
||||||
|
your consistency engine. If a node that was
|
||||||
|
disconnected from the cluster because of a
|
||||||
|
fault is reintroduced into the cluster after
|
||||||
|
this window without having its data purged
|
||||||
|
it will result in dark data. This setting
|
||||||
|
should be consistent across all object
|
||||||
|
services.
|
||||||
|
nice_priority None Scheduling priority of server processes.
|
||||||
|
Niceness values range from -20 (most
|
||||||
|
favorable to the process) to 19 (least
|
||||||
|
favorable to the process). The default
|
||||||
|
does not modify priority.
|
||||||
|
ionice_class None I/O scheduling class of server processes.
|
||||||
|
I/O niceness class values are IOPRIO_CLASS_RT
|
||||||
|
(realtime), IOPRIO_CLASS_BE (best-effort),
|
||||||
|
and IOPRIO_CLASS_IDLE (idle).
|
||||||
|
The default does not modify class and
|
||||||
|
priority. Linux supports io scheduling
|
||||||
|
priorities and classes since 2.6.13 with
|
||||||
|
the CFQ io scheduler.
|
||||||
|
Work only with ionice_priority.
|
||||||
|
ionice_priority None I/O scheduling priority of server
|
||||||
|
processes. I/O niceness priority is
|
||||||
|
a number which goes from 0 to 7.
|
||||||
|
The higher the value, the lower the I/O
|
||||||
|
priority of the process. Work only with
|
||||||
|
ionice_class.
|
||||||
|
Ignored if IOPRIO_CLASS_IDLE is set.
|
||||||
|
================================ ========== ============================================
|
||||||
|
|
||||||
|
.. _object-server-options:
|
||||||
|
|
||||||
|
***************
|
||||||
|
[object-server]
|
||||||
|
***************
|
||||||
|
|
||||||
|
================================== ====================== ===============================================
|
||||||
|
Option Default Description
|
||||||
|
---------------------------------- ---------------------- -----------------------------------------------
|
||||||
|
use paste.deploy entry point for the
|
||||||
|
object server. For most cases,
|
||||||
|
this should be
|
||||||
|
``egg:swift#object``.
|
||||||
|
set log_name object-server Label used when logging
|
||||||
|
set log_facility LOG_LOCAL0 Syslog log facility
|
||||||
|
set log_level INFO Logging level
|
||||||
|
set log_requests True Whether or not to log each
|
||||||
|
request
|
||||||
|
set log_address /dev/log Logging directory
|
||||||
|
user swift User to run as
|
||||||
|
max_upload_time 86400 Maximum time allowed to upload an
|
||||||
|
object
|
||||||
|
slow 0 If > 0, Minimum time in seconds for a PUT or
|
||||||
|
DELETE request to complete. This is only
|
||||||
|
useful to simulate slow devices during testing
|
||||||
|
and development.
|
||||||
|
mb_per_sync 512 On PUT requests, sync file every
|
||||||
|
n MB
|
||||||
|
keep_cache_size 5242880 Largest object size to keep in
|
||||||
|
buffer cache
|
||||||
|
keep_cache_private false Allow non-public objects to stay
|
||||||
|
in kernel's buffer cache
|
||||||
|
allowed_headers Content-Disposition, Comma separated list of headers
|
||||||
|
Content-Encoding, that can be set in metadata on an object.
|
||||||
|
X-Delete-At, This list is in addition to
|
||||||
|
X-Object-Manifest, X-Object-Meta-* headers and cannot include
|
||||||
|
X-Static-Large-Object Content-Type, etag, Content-Length, or deleted
|
||||||
|
Cache-Control,
|
||||||
|
Content-Language,
|
||||||
|
Expires,
|
||||||
|
X-Robots-Tag
|
||||||
|
replication_server Configure parameter for creating
|
||||||
|
specific server. To handle all verbs,
|
||||||
|
including replication verbs, do not
|
||||||
|
specify "replication_server"
|
||||||
|
(this is the default). To only
|
||||||
|
handle replication, set to a True
|
||||||
|
value (e.g. "True" or "1").
|
||||||
|
To handle only non-replication
|
||||||
|
verbs, set to "False". Unless you
|
||||||
|
have a separate replication network, you
|
||||||
|
should not specify any value for
|
||||||
|
"replication_server".
|
||||||
|
replication_concurrency 4 Set to restrict the number of
|
||||||
|
concurrent incoming SSYNC
|
||||||
|
requests; set to 0 for unlimited
|
||||||
|
replication_concurrency_per_device 1 Set to restrict the number of
|
||||||
|
concurrent incoming SSYNC
|
||||||
|
requests per device; set to 0 for
|
||||||
|
unlimited requests per devices.
|
||||||
|
This can help control I/O to each
|
||||||
|
device. This does not override
|
||||||
|
replication_concurrency described
|
||||||
|
above, so you may need to adjust
|
||||||
|
both parameters depending on your
|
||||||
|
hardware or network capacity.
|
||||||
|
replication_lock_timeout 15 Number of seconds to wait for an
|
||||||
|
existing replication device lock
|
||||||
|
before giving up.
|
||||||
|
replication_failure_threshold 100 The number of subrequest failures
|
||||||
|
before the
|
||||||
|
replication_failure_ratio is
|
||||||
|
checked
|
||||||
|
replication_failure_ratio 1.0 If the value of failures /
|
||||||
|
successes of SSYNC
|
||||||
|
subrequests exceeds this ratio,
|
||||||
|
the overall SSYNC request
|
||||||
|
will be aborted
|
||||||
|
splice no Use splice() for zero-copy object
|
||||||
|
GETs. This requires Linux kernel
|
||||||
|
version 3.0 or greater. If you set
|
||||||
|
"splice = yes" but the kernel
|
||||||
|
does not support it, error messages
|
||||||
|
will appear in the object server
|
||||||
|
logs at startup, but your object
|
||||||
|
servers should continue to function.
|
||||||
|
nice_priority None Scheduling priority of server processes.
|
||||||
|
Niceness values range from -20 (most
|
||||||
|
favorable to the process) to 19 (least
|
||||||
|
favorable to the process). The default
|
||||||
|
does not modify priority.
|
||||||
|
ionice_class None I/O scheduling class of server processes.
|
||||||
|
I/O niceness class values are IOPRIO_CLASS_RT
|
||||||
|
(realtime), IOPRIO_CLASS_BE (best-effort),
|
||||||
|
and IOPRIO_CLASS_IDLE (idle).
|
||||||
|
The default does not modify class and
|
||||||
|
priority. Linux supports io scheduling
|
||||||
|
priorities and classes since 2.6.13 with
|
||||||
|
the CFQ io scheduler.
|
||||||
|
Work only with ionice_priority.
|
||||||
|
ionice_priority None I/O scheduling priority of server
|
||||||
|
processes. I/O niceness priority is
|
||||||
|
a number which goes from 0 to 7.
|
||||||
|
The higher the value, the lower the I/O
|
||||||
|
priority of the process. Work only with
|
||||||
|
ionice_class.
|
||||||
|
Ignored if IOPRIO_CLASS_IDLE is set.
|
||||||
|
eventlet_tpool_num_threads auto The number of threads in eventlet's thread pool.
|
||||||
|
Most IO will occur in the object server's main
|
||||||
|
thread, but certain "heavy" IO operations will
|
||||||
|
occur in separate IO threads, managed by
|
||||||
|
eventlet.
|
||||||
|
The default value is auto, whose actual value
|
||||||
|
is dependent on the servers_per_port value.
|
||||||
|
If servers_per_port is zero then it uses
|
||||||
|
eventlet's default (currently 20 threads).
|
||||||
|
If the servers_per_port is nonzero then it'll
|
||||||
|
only use 1 thread per process.
|
||||||
|
This value can be overridden with an integer
|
||||||
|
value.
|
||||||
|
================================== ====================== ===============================================
|
||||||
|
|
||||||
|
*******************
|
||||||
|
[object-replicator]
|
||||||
|
*******************
|
||||||
|
|
||||||
|
=========================== ======================== ================================
|
||||||
|
Option Default Description
|
||||||
|
--------------------------- ------------------------ --------------------------------
|
||||||
|
log_name object-replicator Label used when logging
|
||||||
|
log_facility LOG_LOCAL0 Syslog log facility
|
||||||
|
log_level INFO Logging level
|
||||||
|
log_address /dev/log Logging directory
|
||||||
|
daemonize yes Whether or not to run replication
|
||||||
|
as a daemon
|
||||||
|
interval 30 Time in seconds to wait between
|
||||||
|
replication passes
|
||||||
|
concurrency 1 Number of replication jobs to
|
||||||
|
run per worker process
|
||||||
|
replicator_workers 0 Number of worker processes to use.
|
||||||
|
No matter how big this number is,
|
||||||
|
at most one worker per disk will
|
||||||
|
be used. The default value of 0
|
||||||
|
means no forking; all work is done
|
||||||
|
in the main process.
|
||||||
|
sync_method rsync The sync method to use; default
|
||||||
|
is rsync but you can use ssync to
|
||||||
|
try the EXPERIMENTAL
|
||||||
|
all-swift-code-no-rsync-callouts
|
||||||
|
method. Once ssync is verified as
|
||||||
|
or better than, rsync, we plan to
|
||||||
|
deprecate rsync so we can move on
|
||||||
|
with more features for
|
||||||
|
replication.
|
||||||
|
rsync_timeout 900 Max duration of a partition rsync
|
||||||
|
rsync_bwlimit 0 Bandwidth limit for rsync in kB/s.
|
||||||
|
0 means unlimited.
|
||||||
|
rsync_io_timeout 30 Timeout value sent to rsync
|
||||||
|
--timeout and --contimeout
|
||||||
|
options
|
||||||
|
rsync_compress no Allow rsync to compress data
|
||||||
|
which is transmitted to destination
|
||||||
|
node during sync. However, this
|
||||||
|
is applicable only when destination
|
||||||
|
node is in a different region
|
||||||
|
than the local one.
|
||||||
|
NOTE: Objects that are already
|
||||||
|
compressed (for example: .tar.gz,
|
||||||
|
.mp3) might slow down the syncing
|
||||||
|
process.
|
||||||
|
stats_interval 300 Interval in seconds between
|
||||||
|
logging replication statistics
|
||||||
|
handoffs_first false If set to True, partitions that
|
||||||
|
are not supposed to be on the
|
||||||
|
node will be replicated first.
|
||||||
|
The default setting should not be
|
||||||
|
changed, except for extreme
|
||||||
|
situations.
|
||||||
|
handoff_delete auto By default handoff partitions
|
||||||
|
will be removed when it has
|
||||||
|
successfully replicated to all
|
||||||
|
the canonical nodes. If set to an
|
||||||
|
integer n, it will remove the
|
||||||
|
partition if it is successfully
|
||||||
|
replicated to n nodes. The
|
||||||
|
default setting should not be
|
||||||
|
changed, except for extreme
|
||||||
|
situations.
|
||||||
|
node_timeout DEFAULT or 10 Request timeout to external
|
||||||
|
services. This uses what's set
|
||||||
|
here, or what's set in the
|
||||||
|
DEFAULT section, or 10 (though
|
||||||
|
other sections use 3 as the final
|
||||||
|
default).
|
||||||
|
http_timeout 60 Max duration of an http request.
|
||||||
|
This is for REPLICATE finalization
|
||||||
|
calls and so should be longer
|
||||||
|
than node_timeout.
|
||||||
|
lockup_timeout 1800 Attempts to kill all workers if
|
||||||
|
nothing replicates for
|
||||||
|
lockup_timeout seconds
|
||||||
|
rsync_module {replication_ip}::object Format of the rsync module where
|
||||||
|
the replicator will send data.
|
||||||
|
The configuration value can
|
||||||
|
include some variables that will
|
||||||
|
be extracted from the ring.
|
||||||
|
Variables must follow the format
|
||||||
|
{NAME} where NAME is one of: ip,
|
||||||
|
port, replication_ip,
|
||||||
|
replication_port, region, zone,
|
||||||
|
device, meta. See
|
||||||
|
etc/rsyncd.conf-sample for some
|
||||||
|
examples.
|
||||||
|
rsync_error_log_line_length 0 Limits how long rsync error log
|
||||||
|
lines are
|
||||||
|
ring_check_interval 15 Interval for checking new ring
|
||||||
|
file
|
||||||
|
recon_cache_path /var/cache/swift Path to recon cache
|
||||||
|
nice_priority None Scheduling priority of server
|
||||||
|
processes. Niceness values
|
||||||
|
range from -20 (most favorable
|
||||||
|
to the process) to 19 (least
|
||||||
|
favorable to the process).
|
||||||
|
The default does not modify
|
||||||
|
priority.
|
||||||
|
ionice_class None I/O scheduling class of server
|
||||||
|
processes. I/O niceness class
|
||||||
|
values are IOPRIO_CLASS_RT (realtime),
|
||||||
|
IOPRIO_CLASS_BE (best-effort),
|
||||||
|
and IOPRIO_CLASS_IDLE (idle).
|
||||||
|
The default does not modify
|
||||||
|
class and priority.
|
||||||
|
Linux supports io scheduling
|
||||||
|
priorities and classes since
|
||||||
|
2.6.13 with the CFQ io scheduler.
|
||||||
|
Work only with ionice_priority.
|
||||||
|
ionice_priority None I/O scheduling priority of server
|
||||||
|
processes. I/O niceness priority
|
||||||
|
is a number which goes from
|
||||||
|
0 to 7. The higher the value,
|
||||||
|
the lower the I/O priority of
|
||||||
|
the process.
|
||||||
|
Work only with ionice_class.
|
||||||
|
Ignored if IOPRIO_CLASS_IDLE
|
||||||
|
is set.
|
||||||
|
=========================== ======================== ================================
|
||||||
|
|
||||||
|
**********************
|
||||||
|
[object-reconstructor]
|
||||||
|
**********************
|
||||||
|
|
||||||
|
=========================== ======================== ================================
|
||||||
|
Option Default Description
|
||||||
|
--------------------------- ------------------------ --------------------------------
|
||||||
|
log_name object-reconstructor Label used when logging
|
||||||
|
log_facility LOG_LOCAL0 Syslog log facility
|
||||||
|
log_level INFO Logging level
|
||||||
|
log_address /dev/log Logging directory
|
||||||
|
daemonize yes Whether or not to run
|
||||||
|
reconstruction as a daemon
|
||||||
|
interval 30 Time in seconds to wait between
|
||||||
|
reconstruction passes
|
||||||
|
reconstructor_workers 0 Maximum number of worker processes
|
||||||
|
to spawn. Each worker will handle
|
||||||
|
a subset of devices. Devices will
|
||||||
|
be assigned evenly among the workers
|
||||||
|
so that workers cycle at similar
|
||||||
|
intervals (which can lead to fewer
|
||||||
|
workers than requested). You can not
|
||||||
|
have more workers than devices. If
|
||||||
|
you have no devices only a single
|
||||||
|
worker is spawned.
|
||||||
|
concurrency 1 Number of reconstruction threads to
|
||||||
|
spawn per reconstructor process.
|
||||||
|
stats_interval 300 Interval in seconds between
|
||||||
|
logging reconstruction statistics
|
||||||
|
handoffs_only false The handoffs_only mode option is for
|
||||||
|
special case emergency situations
|
||||||
|
during rebalance such as disk full in
|
||||||
|
the cluster. This option SHOULD NOT
|
||||||
|
BE CHANGED, except for extreme
|
||||||
|
situations. When handoffs_only mode
|
||||||
|
is enabled the reconstructor will
|
||||||
|
*only* revert fragments from handoff
|
||||||
|
nodes to primary nodes and will not
|
||||||
|
sync primary nodes with neighboring
|
||||||
|
primary nodes. This will force the
|
||||||
|
reconstructor to sync and delete
|
||||||
|
handoffs' fragments more quickly and
|
||||||
|
minimize the time of the rebalance by
|
||||||
|
limiting the number of rebuilds. The
|
||||||
|
handoffs_only option is only for
|
||||||
|
temporary use and should be disabled
|
||||||
|
as soon as the emergency situation
|
||||||
|
has been resolved.
|
||||||
|
node_timeout DEFAULT or 10 Request timeout to external
|
||||||
|
services. The value used is the value
|
||||||
|
set in this section, or the value set
|
||||||
|
in the DEFAULT section, or 10.
|
||||||
|
http_timeout 60 Max duration of an http request.
|
||||||
|
This is for REPLICATE finalization
|
||||||
|
calls and so should be longer
|
||||||
|
than node_timeout.
|
||||||
|
lockup_timeout 1800 Attempts to kill all threads if
|
||||||
|
no fragment has been reconstructed
|
||||||
|
for lockup_timeout seconds.
|
||||||
|
ring_check_interval 15 Interval for checking new ring
|
||||||
|
file
|
||||||
|
recon_cache_path /var/cache/swift Path to recon cache
|
||||||
|
nice_priority None Scheduling priority of server
|
||||||
|
processes. Niceness values
|
||||||
|
range from -20 (most favorable
|
||||||
|
to the process) to 19 (least
|
||||||
|
favorable to the process).
|
||||||
|
The default does not modify
|
||||||
|
priority.
|
||||||
|
ionice_class None I/O scheduling class of server
|
||||||
|
processes. I/O niceness class
|
||||||
|
values are IOPRIO_CLASS_RT (realtime),
|
||||||
|
IOPRIO_CLASS_BE (best-effort),
|
||||||
|
and IOPRIO_CLASS_IDLE (idle).
|
||||||
|
The default does not modify
|
||||||
|
class and priority.
|
||||||
|
Linux supports io scheduling
|
||||||
|
priorities and classes since
|
||||||
|
2.6.13 with the CFQ io scheduler.
|
||||||
|
Work only with ionice_priority.
|
||||||
|
ionice_priority None I/O scheduling priority of server
|
||||||
|
processes. I/O niceness priority
|
||||||
|
is a number which goes from
|
||||||
|
0 to 7. The higher the value,
|
||||||
|
the lower the I/O priority of
|
||||||
|
the process.
|
||||||
|
Work only with ionice_class.
|
||||||
|
Ignored if IOPRIO_CLASS_IDLE
|
||||||
|
is set.
|
||||||
|
=========================== ======================== ================================
|
||||||
|
|
||||||
|
****************
|
||||||
|
[object-updater]
|
||||||
|
****************
|
||||||
|
|
||||||
|
=================== =================== ==========================================
|
||||||
|
Option Default Description
|
||||||
|
------------------- ------------------- ------------------------------------------
|
||||||
|
log_name object-updater Label used when logging
|
||||||
|
log_facility LOG_LOCAL0 Syslog log facility
|
||||||
|
log_level INFO Logging level
|
||||||
|
log_address /dev/log Logging directory
|
||||||
|
interval 300 Minimum time for a pass to take
|
||||||
|
updater_workers 1 Number of worker processes
|
||||||
|
concurrency 8 Number of updates to run concurrently in
|
||||||
|
each worker process
|
||||||
|
node_timeout DEFAULT or 10 Request timeout to external services. This
|
||||||
|
uses what's set here, or what's set in the
|
||||||
|
DEFAULT section, or 10 (though other
|
||||||
|
sections use 3 as the final default).
|
||||||
|
objects_per_second 50 Maximum objects updated per second.
|
||||||
|
Should be tuned according to individual
|
||||||
|
system specs. 0 is unlimited.
|
||||||
|
slowdown 0.01 Time in seconds to wait between objects.
|
||||||
|
Deprecated in favor of objects_per_second.
|
||||||
|
report_interval 300 Interval in seconds between logging
|
||||||
|
statistics about the current update pass.
|
||||||
|
recon_cache_path /var/cache/swift Path to recon cache
|
||||||
|
nice_priority None Scheduling priority of server processes.
|
||||||
|
Niceness values range from -20 (most
|
||||||
|
favorable to the process) to 19 (least
|
||||||
|
favorable to the process). The default
|
||||||
|
does not modify priority.
|
||||||
|
ionice_class None I/O scheduling class of server processes.
|
||||||
|
I/O niceness class values are IOPRIO_CLASS_RT
|
||||||
|
(realtime), IOPRIO_CLASS_BE (best-effort),
|
||||||
|
and IOPRIO_CLASS_IDLE (idle).
|
||||||
|
The default does not modify class and
|
||||||
|
priority. Linux supports io scheduling
|
||||||
|
priorities and classes since 2.6.13 with
|
||||||
|
the CFQ io scheduler.
|
||||||
|
Work only with ionice_priority.
|
||||||
|
ionice_priority None I/O scheduling priority of server
|
||||||
|
processes. I/O niceness priority is
|
||||||
|
a number which goes from 0 to 7.
|
||||||
|
The higher the value, the lower the I/O
|
||||||
|
priority of the process. Work only with
|
||||||
|
ionice_class.
|
||||||
|
Ignored if IOPRIO_CLASS_IDLE is set.
|
||||||
|
=================== =================== ==========================================
|
||||||
|
|
||||||
|
****************
|
||||||
|
[object-auditor]
|
||||||
|
****************
|
||||||
|
|
||||||
|
=========================== =================== ==========================================
|
||||||
|
Option Default Description
|
||||||
|
--------------------------- ------------------- ------------------------------------------
|
||||||
|
log_name object-auditor Label used when logging
|
||||||
|
log_facility LOG_LOCAL0 Syslog log facility
|
||||||
|
log_level INFO Logging level
|
||||||
|
log_address /dev/log Logging directory
|
||||||
|
log_time 3600 Frequency of status logs in seconds.
|
||||||
|
interval 30 Time in seconds to wait between
|
||||||
|
auditor passes
|
||||||
|
disk_chunk_size 65536 Size of chunks read during auditing
|
||||||
|
files_per_second 20 Maximum files audited per second per
|
||||||
|
auditor process. Should be tuned according
|
||||||
|
to individual system specs. 0 is unlimited.
|
||||||
|
bytes_per_second 10000000 Maximum bytes audited per second per
|
||||||
|
auditor process. Should be tuned according
|
||||||
|
to individual system specs. 0 is unlimited.
|
||||||
|
concurrency 1 The number of parallel processes to use
|
||||||
|
for checksum auditing.
|
||||||
|
zero_byte_files_per_second 50
|
||||||
|
object_size_stats
|
||||||
|
recon_cache_path /var/cache/swift Path to recon cache
|
||||||
|
rsync_tempfile_timeout auto Time elapsed in seconds before rsync
|
||||||
|
tempfiles will be unlinked. Config value
|
||||||
|
of "auto" try to use object-replicator's
|
||||||
|
rsync_timeout + 900 or fallback to 86400
|
||||||
|
(1 day).
|
||||||
|
nice_priority None Scheduling priority of server processes.
|
||||||
|
Niceness values range from -20 (most
|
||||||
|
favorable to the process) to 19 (least
|
||||||
|
favorable to the process). The default
|
||||||
|
does not modify priority.
|
||||||
|
ionice_class None I/O scheduling class of server processes.
|
||||||
|
I/O niceness class values are IOPRIO_CLASS_RT
|
||||||
|
(realtime), IOPRIO_CLASS_BE (best-effort),
|
||||||
|
and IOPRIO_CLASS_IDLE (idle).
|
||||||
|
The default does not modify class and
|
||||||
|
priority. Linux supports io scheduling
|
||||||
|
priorities and classes since 2.6.13 with
|
||||||
|
the CFQ io scheduler.
|
||||||
|
Work only with ionice_priority.
|
||||||
|
ionice_priority None I/O scheduling priority of server
|
||||||
|
processes. I/O niceness priority is
|
||||||
|
a number which goes from 0 to 7.
|
||||||
|
The higher the value, the lower the I/O
|
||||||
|
priority of the process. Work only with
|
||||||
|
ionice_class.
|
||||||
|
Ignored if IOPRIO_CLASS_IDLE is set.
|
||||||
|
=========================== =================== ==========================================
|
||||||
|
|
||||||
|
****************
|
||||||
|
[object-expirer]
|
||||||
|
****************
|
||||||
|
|
||||||
|
============================= =============================== ==========================================
|
||||||
|
Option Default Description
|
||||||
|
----------------------------- ------------------------------- ------------------------------------------
|
||||||
|
log_name object-expirer Label used when logging
|
||||||
|
log_facility LOG_LOCAL0 Syslog log facility
|
||||||
|
log_level INFO Logging level
|
||||||
|
log_address /dev/log Logging directory
|
||||||
|
interval 300 Time in seconds to wait between
|
||||||
|
expirer passes
|
||||||
|
report_interval 300 Frequency of status logs in seconds.
|
||||||
|
concurrency 1 Level of concurrency to use to do the work,
|
||||||
|
this value must be set to at least 1
|
||||||
|
expiring_objects_account_name expiring_objects name for legacy expirer task queue
|
||||||
|
dequeue_from_legacy False This service will look for jobs on the legacy expirer task queue.
|
||||||
|
processes 0 How many parts to divide the legacy work into,
|
||||||
|
one part per process that will be doing the work.
|
||||||
|
When set 0 means that a single legacy
|
||||||
|
process will be doing all the work.
|
||||||
|
This can only be used in conjunction with
|
||||||
|
``dequeue_from_legacy``.
|
||||||
|
process 0 Which of the parts a particular legacy process will
|
||||||
|
work on. It is "zero based", if you want to use 3
|
||||||
|
processes, you should run processes with process
|
||||||
|
set to 0, 1, and 2.
|
||||||
|
This can only be used in conjunction with
|
||||||
|
``dequeue_from_legacy``.
|
||||||
|
reclaim_age 604800 How long an un-processable expired object
|
||||||
|
marker will be retried before it is abandoned.
|
||||||
|
It is not coupled with the tombstone reclaim age
|
||||||
|
in the consistency engine.
|
||||||
|
request_tries 3 The number of times the expirer's internal client
|
||||||
|
will attempt any given request in the event
|
||||||
|
of failure
|
||||||
|
recon_cache_path /var/cache/swift Path to recon cache
|
||||||
|
nice_priority None Scheduling priority of server processes.
|
||||||
|
Niceness values range from -20 (most
|
||||||
|
favorable to the process) to 19 (least
|
||||||
|
favorable to the process). The default
|
||||||
|
does not modify priority.
|
||||||
|
ionice_class None I/O scheduling class of server processes.
|
||||||
|
I/O niceness class values are IOPRIO_CLASS_RT
|
||||||
|
(realtime), IOPRIO_CLASS_BE (best-effort),
|
||||||
|
and IOPRIO_CLASS_IDLE (idle).
|
||||||
|
The default does not modify class and
|
||||||
|
priority. Linux supports io scheduling
|
||||||
|
priorities and classes since 2.6.13 with
|
||||||
|
the CFQ io scheduler.
|
||||||
|
Work only with ionice_priority.
|
||||||
|
ionice_priority None I/O scheduling priority of server
|
||||||
|
processes. I/O niceness priority is
|
||||||
|
a number which goes from 0 to 7.
|
||||||
|
The higher the value, the lower the I/O
|
||||||
|
priority of the process. Work only with
|
||||||
|
ionice_class.
|
||||||
|
Ignored if IOPRIO_CLASS_IDLE is set.
|
||||||
|
============================= =============================== ==========================================
|
358
doc/source/config/proxy_server_config.rst
Normal file
358
doc/source/config/proxy_server_config.rst
Normal file
@ -0,0 +1,358 @@
|
|||||||
|
.. _proxy-server-config:
|
||||||
|
|
||||||
|
--------------------------
|
||||||
|
Proxy Server Configuration
|
||||||
|
--------------------------
|
||||||
|
|
||||||
|
This document describes the configuration options available for the proxy
|
||||||
|
server. Some proxy server options may be configured on a :ref:`per-policy
|
||||||
|
<proxy_server_per_policy_config>` basis. Additional documentation for
|
||||||
|
proxy-server middleware can be found at :doc:`../middleware` and
|
||||||
|
:doc:`../overview_auth`.
|
||||||
|
|
||||||
|
Documentation for other swift configuration options can be found at
|
||||||
|
:doc:`index`.
|
||||||
|
|
||||||
|
An example Proxy Server configuration can be found at
|
||||||
|
etc/proxy-server.conf-sample in the source code repository.
|
||||||
|
|
||||||
|
The following configuration sections are available:
|
||||||
|
|
||||||
|
* :ref:`[DEFAULT] <proxy_server_default_options>`
|
||||||
|
* `[proxy-server]`_
|
||||||
|
|
||||||
|
|
||||||
|
.. _proxy_server_default_options:
|
||||||
|
|
||||||
|
*********
|
||||||
|
[DEFAULT]
|
||||||
|
*********
|
||||||
|
|
||||||
|
==================================== ======================== ========================================
|
||||||
|
Option Default Description
|
||||||
|
------------------------------------ ------------------------ ----------------------------------------
|
||||||
|
bind_ip 0.0.0.0 IP Address for server to
|
||||||
|
bind to
|
||||||
|
bind_port 80 Port for server to bind to
|
||||||
|
keep_idle 600 Value to set for socket TCP_KEEPIDLE
|
||||||
|
bind_timeout 30 Seconds to attempt bind before
|
||||||
|
giving up
|
||||||
|
backlog 4096 Maximum number of allowed pending
|
||||||
|
connections
|
||||||
|
swift_dir /etc/swift Swift configuration directory
|
||||||
|
workers auto Override the number of
|
||||||
|
pre-forked workers that will
|
||||||
|
accept connections. If set it
|
||||||
|
should be an integer, zero
|
||||||
|
means no fork. If unset, it
|
||||||
|
will try to default to the
|
||||||
|
number of effective cpu cores
|
||||||
|
and fallback to one. See
|
||||||
|
:ref:`general-service-tuning`.
|
||||||
|
max_clients 1024 Maximum number of clients one
|
||||||
|
worker can process
|
||||||
|
simultaneously (it will
|
||||||
|
actually accept(2) N +
|
||||||
|
1). Setting this to one (1)
|
||||||
|
will only handle one request at
|
||||||
|
a time, without accepting
|
||||||
|
another request
|
||||||
|
concurrently.
|
||||||
|
user swift User to run as
|
||||||
|
cert_file Path to the ssl .crt. This
|
||||||
|
should be enabled for testing
|
||||||
|
purposes only.
|
||||||
|
key_file Path to the ssl .key. This
|
||||||
|
should be enabled for testing
|
||||||
|
purposes only.
|
||||||
|
cors_allow_origin List of origin hosts that are allowed
|
||||||
|
for CORS requests in addition to what
|
||||||
|
the container has set.
|
||||||
|
strict_cors_mode True If True (default) then CORS
|
||||||
|
requests are only allowed if their
|
||||||
|
Origin header matches an allowed
|
||||||
|
origin. Otherwise, any Origin is
|
||||||
|
allowed.
|
||||||
|
cors_expose_headers This is a list of headers that
|
||||||
|
are included in the header
|
||||||
|
Access-Control-Expose-Headers
|
||||||
|
in addition to what the container
|
||||||
|
has set.
|
||||||
|
client_timeout 60
|
||||||
|
trans_id_suffix This optional suffix (default is empty)
|
||||||
|
that would be appended to the swift
|
||||||
|
transaction id allows one to easily
|
||||||
|
figure out from which cluster that
|
||||||
|
X-Trans-Id belongs to. This is very
|
||||||
|
useful when one is managing more than
|
||||||
|
one swift cluster.
|
||||||
|
log_name swift Label used when logging
|
||||||
|
log_facility LOG_LOCAL0 Syslog log facility
|
||||||
|
log_level INFO Logging level
|
||||||
|
log_headers False
|
||||||
|
log_address /dev/log Logging directory
|
||||||
|
log_max_line_length 0 Caps the length of log
|
||||||
|
lines to the value given;
|
||||||
|
no limit if set to 0, the
|
||||||
|
default.
|
||||||
|
log_custom_handlers None Comma separated list of functions
|
||||||
|
to call to setup custom log
|
||||||
|
handlers.
|
||||||
|
log_udp_host Override log_address
|
||||||
|
log_udp_port 514 UDP log port
|
||||||
|
log_statsd_host None Enables StatsD logging; IPv4/IPv6
|
||||||
|
address or a hostname. If a
|
||||||
|
hostname resolves to an IPv4 and IPv6
|
||||||
|
address, the IPv4 address will be
|
||||||
|
used.
|
||||||
|
log_statsd_port 8125
|
||||||
|
log_statsd_default_sample_rate 1.0
|
||||||
|
log_statsd_sample_rate_factor 1.0
|
||||||
|
log_statsd_metric_prefix
|
||||||
|
eventlet_debug false If true, turn on debug logging
|
||||||
|
for eventlet
|
||||||
|
|
||||||
|
expose_info true Enables exposing configuration
|
||||||
|
settings via HTTP GET /info.
|
||||||
|
admin_key Key to use for admin calls that
|
||||||
|
are HMAC signed. Default
|
||||||
|
is empty, which will
|
||||||
|
disable admin calls to
|
||||||
|
/info.
|
||||||
|
disallowed_sections swift.valid_api_versions Allows the ability to withhold
|
||||||
|
sections from showing up in the
|
||||||
|
public calls to /info. You can
|
||||||
|
withhold subsections by separating
|
||||||
|
the dict level with a ".".
|
||||||
|
expiring_objects_container_divisor 86400
|
||||||
|
expiring_objects_account_name expiring_objects
|
||||||
|
nice_priority None Scheduling priority of server
|
||||||
|
processes.
|
||||||
|
Niceness values range from -20 (most
|
||||||
|
favorable to the process) to 19 (least
|
||||||
|
favorable to the process). The default
|
||||||
|
does not modify priority.
|
||||||
|
ionice_class None I/O scheduling class of server
|
||||||
|
processes. I/O niceness class values
|
||||||
|
are IOPRIO_CLASS_RT (realtime),
|
||||||
|
IOPRIO_CLASS_BE (best-effort) and
|
||||||
|
IOPRIO_CLASS_IDLE (idle).
|
||||||
|
The default does not
|
||||||
|
modify class and priority. Linux
|
||||||
|
supports io scheduling priorities
|
||||||
|
and classes since 2.6.13 with
|
||||||
|
the CFQ io scheduler.
|
||||||
|
Work only with ionice_priority.
|
||||||
|
ionice_priority None I/O scheduling priority of server
|
||||||
|
processes. I/O niceness priority is
|
||||||
|
a number which goes from 0 to 7.
|
||||||
|
The higher the value, the lower
|
||||||
|
the I/O priority of the process.
|
||||||
|
Work only with ionice_class.
|
||||||
|
Ignored if IOPRIO_CLASS_IDLE is set.
|
||||||
|
==================================== ======================== ========================================
|
||||||
|
|
||||||
|
**************
|
||||||
|
[proxy-server]
|
||||||
|
**************
|
||||||
|
|
||||||
|
====================================== =============== =====================================
|
||||||
|
Option Default Description
|
||||||
|
-------------------------------------- --------------- -------------------------------------
|
||||||
|
use Entry point for paste.deploy for
|
||||||
|
the proxy server. For most
|
||||||
|
cases, this should be
|
||||||
|
``egg:swift#proxy``.
|
||||||
|
set log_name proxy-server Label used when logging
|
||||||
|
set log_facility LOG_LOCAL0 Syslog log facility
|
||||||
|
set log_level INFO Log level
|
||||||
|
set log_headers True If True, log headers in each
|
||||||
|
request
|
||||||
|
set log_handoffs True If True, the proxy will log
|
||||||
|
whenever it has to failover to a
|
||||||
|
handoff node
|
||||||
|
recheck_account_existence 60 Cache timeout in seconds to
|
||||||
|
send memcached for account
|
||||||
|
existence
|
||||||
|
recheck_container_existence 60 Cache timeout in seconds to
|
||||||
|
send memcached for container
|
||||||
|
existence
|
||||||
|
object_chunk_size 65536 Chunk size to read from
|
||||||
|
object servers
|
||||||
|
client_chunk_size 65536 Chunk size to read from
|
||||||
|
clients
|
||||||
|
memcache_servers 127.0.0.1:11211 Comma separated list of
|
||||||
|
memcached servers
|
||||||
|
ip:port or [ipv6addr]:port
|
||||||
|
memcache_max_connections 2 Max number of connections to
|
||||||
|
each memcached server per
|
||||||
|
worker
|
||||||
|
node_timeout 10 Request timeout to external
|
||||||
|
services
|
||||||
|
recoverable_node_timeout node_timeout Request timeout to external
|
||||||
|
services for requests that, on
|
||||||
|
failure, can be recovered
|
||||||
|
from. For example, object GET.
|
||||||
|
client_timeout 60 Timeout to read one chunk
|
||||||
|
from a client
|
||||||
|
conn_timeout 0.5 Connection timeout to
|
||||||
|
external services
|
||||||
|
error_suppression_interval 60 Time in seconds that must
|
||||||
|
elapse since the last error
|
||||||
|
for a node to be considered
|
||||||
|
no longer error limited
|
||||||
|
error_suppression_limit 10 Error count to consider a
|
||||||
|
node error limited
|
||||||
|
allow_account_management false Whether account PUTs and DELETEs
|
||||||
|
are even callable
|
||||||
|
account_autocreate false If set to 'true' authorized
|
||||||
|
accounts that do not yet exist
|
||||||
|
within the Swift cluster will
|
||||||
|
be automatically created.
|
||||||
|
max_containers_per_account 0 If set to a positive value,
|
||||||
|
trying to create a container
|
||||||
|
when the account already has at
|
||||||
|
least this maximum containers
|
||||||
|
will result in a 403 Forbidden.
|
||||||
|
Note: This is a soft limit,
|
||||||
|
meaning a user might exceed the
|
||||||
|
cap for
|
||||||
|
recheck_account_existence before
|
||||||
|
the 403s kick in.
|
||||||
|
max_containers_whitelist This is a comma separated list
|
||||||
|
of account names that ignore
|
||||||
|
the max_containers_per_account
|
||||||
|
cap.
|
||||||
|
rate_limit_after_segment 10 Rate limit the download of
|
||||||
|
large object segments after
|
||||||
|
this segment is downloaded.
|
||||||
|
rate_limit_segments_per_sec 1 Rate limit large object
|
||||||
|
downloads at this rate.
|
||||||
|
request_node_count 2 * replicas Set to the number of nodes to
|
||||||
|
contact for a normal request.
|
||||||
|
You can use '* replicas' at the
|
||||||
|
end to have it use the number
|
||||||
|
given times the number of
|
||||||
|
replicas for the ring being used
|
||||||
|
for the request.
|
||||||
|
swift_owner_headers <see the sample These are the headers whose
|
||||||
|
conf file for values will only be shown to
|
||||||
|
the list of swift_owners. The exact
|
||||||
|
default definition of a swift_owner is
|
||||||
|
headers> up to the auth system in use,
|
||||||
|
but usually indicates
|
||||||
|
administrative responsibilities.
|
||||||
|
sorting_method shuffle Storage nodes can be chosen at
|
||||||
|
random (shuffle), by using timing
|
||||||
|
measurements (timing), or by using
|
||||||
|
an explicit match (affinity).
|
||||||
|
Using timing measurements may allow
|
||||||
|
for lower overall latency, while
|
||||||
|
using affinity allows for finer
|
||||||
|
control. In both the timing and
|
||||||
|
affinity cases, equally-sorting nodes
|
||||||
|
are still randomly chosen to spread
|
||||||
|
load. This option may be overridden
|
||||||
|
in a per-policy configuration
|
||||||
|
section.
|
||||||
|
timing_expiry 300 If the "timing" sorting_method is
|
||||||
|
used, the timings will only be valid
|
||||||
|
for the number of seconds configured
|
||||||
|
by timing_expiry.
|
||||||
|
concurrent_gets off Use replica count number of
|
||||||
|
threads concurrently during a
|
||||||
|
GET/HEAD and return with the
|
||||||
|
first successful response. In
|
||||||
|
the EC case, this parameter only
|
||||||
|
affects an EC HEAD as an EC GET
|
||||||
|
behaves differently.
|
||||||
|
concurrency_timeout conn_timeout This parameter controls how long
|
||||||
|
to wait before firing off the
|
||||||
|
next concurrent_get thread. A
|
||||||
|
value of 0 would we fully concurrent,
|
||||||
|
any other number will stagger the
|
||||||
|
firing of the threads. This number
|
||||||
|
should be between 0 and node_timeout.
|
||||||
|
The default is conn_timeout (0.5).
|
||||||
|
nice_priority None Scheduling priority of server
|
||||||
|
processes.
|
||||||
|
Niceness values range from -20 (most
|
||||||
|
favorable to the process) to 19 (least
|
||||||
|
favorable to the process). The default
|
||||||
|
does not modify priority.
|
||||||
|
ionice_class None I/O scheduling class of server
|
||||||
|
processes. I/O niceness class values
|
||||||
|
are IOPRIO_CLASS_RT (realtime),
|
||||||
|
IOPRIO_CLASS_BE (best-effort),
|
||||||
|
and IOPRIO_CLASS_IDLE (idle).
|
||||||
|
The default does not modify class and
|
||||||
|
priority. Linux supports io scheduling
|
||||||
|
priorities and classes since 2.6.13
|
||||||
|
with the CFQ io scheduler.
|
||||||
|
Work only with ionice_priority.
|
||||||
|
ionice_priority None I/O scheduling priority of server
|
||||||
|
processes. I/O niceness priority is
|
||||||
|
a number which goes from 0 to 7.
|
||||||
|
The higher the value, the lower the
|
||||||
|
I/O priority of the process. Work
|
||||||
|
only with ionice_class.
|
||||||
|
Ignored if IOPRIO_CLASS_IDLE is set.
|
||||||
|
read_affinity None Specifies which backend servers to
|
||||||
|
prefer on reads; used in conjunction
|
||||||
|
with the sorting_method option being
|
||||||
|
set to 'affinity'. Format is a comma
|
||||||
|
separated list of affinity descriptors
|
||||||
|
of the form <selection>=<priority>.
|
||||||
|
The <selection> may be r<N> for
|
||||||
|
selecting nodes in region N or
|
||||||
|
r<N>z<M> for selecting nodes in
|
||||||
|
region N, zone M. The <priority>
|
||||||
|
value should be a whole number
|
||||||
|
that represents the priority to
|
||||||
|
be given to the selection; lower
|
||||||
|
numbers are higher priority.
|
||||||
|
Default is empty, meaning no
|
||||||
|
preference. This option may be
|
||||||
|
overridden in a per-policy
|
||||||
|
configuration section.
|
||||||
|
write_affinity None Specifies which backend servers to
|
||||||
|
prefer on writes. Format is a comma
|
||||||
|
separated list of affinity
|
||||||
|
descriptors of the form r<N> for
|
||||||
|
region N or r<N>z<M> for region N,
|
||||||
|
zone M. Default is empty, meaning no
|
||||||
|
preference. This option may be
|
||||||
|
overridden in a per-policy
|
||||||
|
configuration section.
|
||||||
|
write_affinity_node_count 2 * replicas The number of local (as governed by
|
||||||
|
the write_affinity setting) nodes to
|
||||||
|
attempt to contact first on writes,
|
||||||
|
before any non-local ones. The value
|
||||||
|
should be an integer number, or use
|
||||||
|
'* replicas' at the end to have it
|
||||||
|
use the number given times the number
|
||||||
|
of replicas for the ring being used
|
||||||
|
for the request. This option may be
|
||||||
|
overridden in a per-policy
|
||||||
|
configuration section.
|
||||||
|
write_affinity_handoff_delete_count auto The number of local (as governed by
|
||||||
|
the write_affinity setting) handoff
|
||||||
|
nodes to attempt to contact on
|
||||||
|
deletion, in addition to primary
|
||||||
|
nodes. Example: in geographically
|
||||||
|
distributed deployment, If replicas=3,
|
||||||
|
sometimes there may be 1 primary node
|
||||||
|
and 2 local handoff nodes in one region
|
||||||
|
holding the object after uploading but
|
||||||
|
before object replicated to the
|
||||||
|
appropriate locations in other regions.
|
||||||
|
In this case, include these handoff
|
||||||
|
nodes to send request when deleting
|
||||||
|
object could help make correct decision
|
||||||
|
for the response. The default value 'auto'
|
||||||
|
means Swift will calculate the number
|
||||||
|
automatically, the default value is
|
||||||
|
(replicas - len(local_primary_nodes)).
|
||||||
|
This option may be overridden in a
|
||||||
|
per-policy configuration section.
|
||||||
|
====================================== =============== =====================================
|
37
doc/source/config/swift_common_config.rst
Normal file
37
doc/source/config/swift_common_config.rst
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
.. _swift-common-config:
|
||||||
|
|
||||||
|
--------------------
|
||||||
|
Common configuration
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
This document describes the configuration options common to all swift servers.
|
||||||
|
Documentation for other swift configuration options can be found at
|
||||||
|
:doc:`index`.
|
||||||
|
|
||||||
|
An example of common configuration file can be found at etc/swift.conf-sample
|
||||||
|
|
||||||
|
The following configuration options are available:
|
||||||
|
|
||||||
|
========================== ========== =============================================
|
||||||
|
Option Default Description
|
||||||
|
-------------------------- ---------- ---------------------------------------------
|
||||||
|
max_header_size 8192 max_header_size is the max number of bytes in
|
||||||
|
the utf8 encoding of each header. Using 8192
|
||||||
|
as default because eventlet use 8192 as max
|
||||||
|
size of header line. This value may need to
|
||||||
|
be increased when using identity v3 API
|
||||||
|
tokens including more than 7 catalog entries.
|
||||||
|
See also include_service_catalog in
|
||||||
|
proxy-server.conf-sample (documented in
|
||||||
|
overview_auth.rst).
|
||||||
|
extra_header_count 0 By default the maximum number of allowed
|
||||||
|
headers depends on the number of max
|
||||||
|
allowed metadata settings plus a default
|
||||||
|
value of 32 for regular http headers.
|
||||||
|
If for some reason this is not enough (custom
|
||||||
|
middleware for example) it can be increased
|
||||||
|
with the extra_header_count constraint.
|
||||||
|
auto_create_account_prefix . Prefix used when automatically creating
|
||||||
|
accounts.
|
||||||
|
========================== ========== =============================================
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
@ -104,6 +104,8 @@ Administrator Documentation
|
|||||||
ops_runbook/index
|
ops_runbook/index
|
||||||
admin/index
|
admin/index
|
||||||
install/index
|
install/index
|
||||||
|
config/index
|
||||||
|
|
||||||
|
|
||||||
Object Storage v1 REST API Documentation
|
Object Storage v1 REST API Documentation
|
||||||
========================================
|
========================================
|
||||||
|
Loading…
Reference in New Issue
Block a user