账户服务器配置

本文档描述了账户服务器可用的配置选项。其他 swift 配置选项的文档可以在 配置文档 找到。

一个示例账户服务器配置可以在源代码仓库的 etc/account-server.conf-sample 中找到。

可用的配置部分如下

[DEFAULT]

选项

默认值

描述

swift_dir

/etc/swift

Swift 配置目录

devices

/srv/node

父目录或设备挂载的位置

mount_check

true

是否检查设备是否挂载,以防止意外写入根设备

bind_ip

0.0.0.0

服务器绑定的 IP 地址

bind_port

6202

服务器绑定的端口

keep_idle

600

为 socket TCP_KEEPIDLE 设置的值

bind_timeout

30

尝试绑定之前的秒数

backlog

4096

允许的最大挂起连接数

workers

auto

覆盖将接受连接的预先分叉的工作进程数。如果设置,则应为整数,零表示不分叉。如果未设置,它将尝试默认为有效的 CPU 核心数,并回退到 1。增加工作进程的数量可以减少单个请求中的慢文件系统操作对其他请求产生负面影响的可能性。请参阅 通用服务调优

max_clients

1024

单个工作进程可以同时处理的最大客户端数(它实际上会接受(2) N + 1)。将其设置为 1 将仅同时处理一个请求,而不接受另一个并发请求。

user

swift

运行用户

db_preallocation

关闭

如果您不介意额外的磁盘空间开销,可以启用此选项以预分配 SQLite 数据库的磁盘空间,以减少碎片。

disable_fallocate

false

如果底层文件系统不支持,则禁用“快速失败” fallocate 检查。

log_name

swift

用于日志记录的标签

log_facility

LOG_LOCAL0

syslog 日志设施

log_level

INFO

日志级别

log_address

/dev/log

日志目录

log_max_line_length

0

将日志行长度限制为给定的值;如果设置为 0(默认值),则没有限制。

log_custom_handlers

逗号分隔的函数列表,用于设置自定义日志处理程序。

log_udp_host

覆盖 log_address

log_udp_port

514

UDP 日志端口

log_statsd_host

启用 StatsD 日志记录;IPv4/IPv6 地址或主机名。如果主机名解析为 IPv4 和 IPv6 地址,则将使用 IPv4 地址。

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

如果为 true,则启用 eventlet 的调试日志记录

fallocate_reserve

1%

您可以将 fallocate_reserve 设置为要预留的字节数或磁盘空间的百分比,无论是否有给定文件大小的空间。如果值以“%”结尾,则使用百分比。这对于行为不佳的系统在完全耗尽空间时很有用;您可以让服务提前假装空间不足。

nice_priority

服务器进程的调度优先级。Nice 值范围从 -20(对进程最有利)到 19(对进程最不利)。默认情况下,不修改优先级。

ionice_class

服务器进程的 I/O 调度类。I/O nice 类值是 IOPRIO_CLASS_RT(实时)、IOPRIO_CLASS_BE(尽力而为)和 IOPRIO_CLASS_IDLE(空闲)。默认情况下,不修改类和优先级。Linux 从 2.6.13 开始支持 io 调度优先级和类,并使用 CFQ io 调度程序。仅与 ionice_priority 一起工作。

ionice_priority

服务器进程的 I/O 调度优先级。I/O nice 优先级是一个数字,范围从 0 到 7。值越高,进程的 I/O 优先级越低。仅与 ionice_class 一起工作。如果设置了 IOPRIO_CLASS_IDLE,则会被忽略。

[account-server]

选项

默认值

描述

use

账户服务器 paste.deploy 入口点。在大多数情况下,这应该是 egg:swift#account

set log_name

account-server

用于日志记录的标签

set log_facility

LOG_LOCAL0

syslog 日志设施

set log_level

INFO

日志级别

set log_requests

True

是否记录每个请求

set log_address

/dev/log

日志目录

replication_server

配置用于创建特定服务器的参数。要处理所有动词,包括复制动词,请不要指定“replication_server”(这是默认值)。要仅处理复制,请设置为 True 值(例如“True”或“1”)。要仅处理非复制动词,请设置为“False”。除非您有单独的复制网络,否则不应指定“replication_server”的任何值。

nice_priority

服务器进程的调度优先级。Nice 值范围从 -20(对进程最有利)到 19(对进程最不利)。默认情况下,不修改优先级。

ionice_class

服务器进程的 I/O 调度类。I/O nice 类值是 IOPRIO_CLASS_RT(实时)、IOPRIO_CLASS_BE(尽力而为)和 IOPRIO_CLASS_IDLE(空闲)。默认情况下,不修改类和优先级。Linux 从 2.6.13 开始支持 io 调度优先级和类,并使用 CFQ io 调度程序。仅与 ionice_priority 一起工作。

ionice_priority

服务器进程的 I/O 调度优先级。I/O nice 优先级是一个数字,范围从 0 到 7。值越高,进程的 I/O 优先级越低。仅与 ionice_class 一起工作。如果设置了 IOPRIO_CLASS_IDLE,则会被忽略。

[account-replicator]

选项

默认值

描述

log_name

account-replicator

用于日志记录的标签

log_facility

LOG_LOCAL0

syslog 日志设施

log_level

INFO

日志级别

log_address

/dev/log

日志目录

per_diff

1000

单个 HTTP 复制请求中将同步的最大数据库行数。数据库中少于或等于此数量的差异行将始终使用 HTTP 复制请求同步,而不是使用 rsync。

max_diffs

100

每次复制传递中针对任何一个容器尝试的最大 HTTP 复制请求数。这限制了复制器在尝试同步给定数据库上花费的时间,以便其他数据库不会被饿死。

concurrency

8

要启动的复制工作进程数

interval

30

复制传递之间等待的秒数

databases_per_second

50

每秒处理的最大数据库数。应根据单个系统规格进行调整。0 是无限制。

node_timeout

10

对外部服务的请求超时时间

conn_timeout

0.5

对外部服务的连接超时时间

reclaim_age

604800

在账户可以被回收之前经过的时间(秒)

rsync_module

{replication_ip}::account

rsync 模块的格式,复制器将向其中发送数据。配置值可以包含一些将从环中提取的变量。变量必须遵循 {NAME} 格式,其中 NAME 是以下之一:ip、port、replication_ip、replication_port、region、zone、device、meta。有关一些示例,请参阅 etc/rsyncd.conf-sample。

rsync_compress

允许 rsync 在同步期间压缩传输到目标节点的数据。但是,这仅适用于目标节点位于与本地节点不同的区域时。注意:已经压缩的对象(例如:.tar.gz、mp3)可能会减慢同步过程。

recon_cache_path

/var/cache/swift

recon 缓存路径

nice_priority

服务器进程的调度优先级。Nice 值范围从 -20(对进程最有利)到 19(对进程最不利)。默认情况下,不修改优先级。

ionice_class

服务器进程的 I/O 调度类。I/O nice 类值是 IOPRIO_CLASS_RT(实时)、IOPRIO_CLASS_BE(尽力而为)和 IOPRIO_CLASS_IDLE(空闲)。默认情况下,不修改类和优先级。Linux 从 2.6.13 开始支持 io 调度优先级和类,并使用 CFQ io 调度程序。仅与 ionice_priority 一起工作。

ionice_priority

服务器进程的 I/O 调度优先级。I/O nice 优先级是一个数字,范围从 0 到 7。值越高,进程的 I/O 优先级越低。仅与 ionice_class 一起工作。如果设置了 IOPRIO_CLASS_IDLE,则会被忽略。

handoffs_only

当启用 handoffs_only 模式时,复制器将仅从 handoff 节点复制到主节点,并且不会在主节点之间同步。

handoff_delete

auto

swift 中确保的副本数。如果数量小于副本数,account-replicator 即使所有副本未在集群中确保,也可能会删除本地 handoff。在成功复制到所有规范节点后,复制器将删除本地 handoff 帐户数据库。

[account-auditor]

选项

默认值

描述

log_name

account-auditor

用于日志记录的标签

log_facility

LOG_LOCAL0

syslog 日志设施

log_level

INFO

日志级别

log_address

/dev/log

日志目录

interval

1800

一次传递的最小时间

accounts_per_second

200

每秒审核的最大帐户数。应根据单个系统规格进行调整。0 是无限制。

recon_cache_path

/var/cache/swift

recon 缓存路径

nice_priority

服务器进程的调度优先级。Nice 值范围从 -20(对进程最有利)到 19(对进程最不利)。默认情况下,不修改优先级。

ionice_class

服务器进程的 I/O 调度类。I/O nice 类值是 IOPRIO_CLASS_RT(实时)、IOPRIO_CLASS_BE(尽力而为)和 IOPRIO_CLASS_IDLE(空闲)。默认情况下,不修改类和优先级。Linux 从 2.6.13 开始支持 io 调度优先级和类,并使用 CFQ io 调度程序。仅与 ionice_priority 一起工作。

ionice_priority

服务器进程的 I/O 调度优先级。I/O nice 优先级是一个数字,范围从 0 到 7。值越高,进程的 I/O 优先级越低。仅与 ionice_class 一起工作。如果设置了 IOPRIO_CLASS_IDLE,则会被忽略。

[account-reaper]

选项

默认值

描述

log_name

account-reaper

用于日志记录的标签

log_facility

LOG_LOCAL0

syslog 日志设施

log_level

INFO

日志级别

log_address

/dev/log

日志目录

concurrency

25

要启动的复制工作进程数

interval

3600

一次传递的最小时间

node_timeout

10

对外部服务的请求超时时间

conn_timeout

0.5

对外部服务的连接超时时间

delay_reaping

0

通常,reaper 会立即开始删除已删除帐户的帐户信息;您可以将其设置为延迟其工作。值为秒数,例如 2592000 = 30 天。此值与 container-updater interval 的总和应小于 account-replicator reclaim_age。这可确保在 account-reaper 删除容器后,account-updater 有足够的时间向帐户报告,然后再删除帐户数据库。

reap_warn_after

2892000

如果由于持久错误导致帐户无法被回收,account reaper 将记录一条消息,例如:Account <name> has not been reaped since <date> 您可以在日志中搜索此消息,如果删除帐户后空间没有被回收。这除了 delay_reaping 请求的任何时间外。

nice_priority

服务器进程的调度优先级。Nice 值范围从 -20(对进程最有利)到 19(对进程最不利)。默认情况下,不修改优先级。

ionice_class

服务器进程的 I/O 调度类。I/O nice 类值是 IOPRIO_CLASS_RT(实时)、IOPRIO_CLASS_BE(尽力而为)和 IOPRIO_CLASS_IDLE(空闲)。默认情况下,不修改类和优先级。Linux 从 2.6.13 开始支持 io 调度优先级和类,并使用 CFQ io 调度程序。仅与 ionice_priority 一起工作。

ionice_priority

服务器进程的 I/O 调度优先级。I/O nice 优先级是一个数字,范围从 0 到 7。值越高,进程的 I/O 优先级越低。仅与 ionice_class 一起工作。如果设置了 IOPRIO_CLASS_IDLE,则会被忽略。