注意

本文档适用于 Ceph 的开发版本。

Ceph 对象网关配置参考

以下设置可以添加到 Ceph 配置文件(即通常为 ceph.conf)中的 [client.radosgw.{instance-name}] 部分下。这些设置可能包含默认值。如果您未在 Ceph 配置文件中指定每个设置,将自动设置默认值。

[client.radosgw.{instance-name}] 部分下设置的配置变量将不适用于未在命令中指定 instance-name 的 rgw 或 radosgw-admin 命令。因此,旨在应用于所有 RGW 实例或所有 radosgw-admin 选项的变量可以放入 [global][client] 部分,以避免指定 instance-name

rgw_frontends

配置 HTTP 前端。多个前端的配置可以以逗号分隔列表的形式提供。每个前端配置可能包含一个以空格分隔的选项列表,其中每个选项的形式为“key=value”或“key”。有关支持的选项的更多信息,请参阅 HTTP 前端

类型:

str

默认值:

beast port=7480

rgw_data

设置 Ceph RADOS 网关数据文件的位置。

类型:

str

默认值:

/var/lib/ceph/radosgw/$cluster-$id

rgw_enable_apis

启用指定的 API。

注意

启用 S3 API 是任何旨在参与 多站点 配置的 radosgw 实例的要求。

类型:

str

默认值:

s3, s3website, swift, swift_auth, admin, sts, iam, notifications

rgw_cache_enabled

Ceph 对象网关缓存是否启用。

类型:

bool

默认值:

true

另请参阅:

rgw_cache_lru_size

rgw_cache_lru_size

Ceph 对象网关缓存中的条目数。

类型:

int

默认值:

25000

另请参阅:

rgw_cache_enabled

rgw_dns_name

所服务域的 DNS 名称。另请参阅区域组中的 hostnames 设置。

类型:

str

rgw_script_uri

如果请求中未设置 SCRIPT_URI,则使用替代值。

类型:

str

rgw_request_uri

如果请求中未设置 REQUEST_URI,则使用替代值。

类型:

str

rgw_print_continue

如果 100-continue 正在运行,则启用它。

类型:

bool

默认值:

true

rgw_remote_addr_param

远程地址参数。例如,包含远程地址的 HTTP 字段,如果反向代理正在运行,则为 X-Forwarded-For 地址。

类型:

str

默认值:

REMOTE_ADDR

另请参阅:

rgw_enable_ops_log

rgw_op_thread_timeout

开放线程的超时时间(以秒为单位)。

类型:

int

默认值:

10 minutes

rgw_op_thread_suicide_timeout

Ceph 对象网关进程终止之前的超时时间(以秒为单位)。如果设置为 0,则禁用。

类型:

int

默认值:

0

rgw_thread_pool_size

线程池的大小。

类型:

int

默认值:

512

rgw_num_control_oids

用于不同 rgw 实例之间缓存同步的通知对象数。

类型:

int

默认值:

8

另请参阅:

rgw_cache_enabled, rgw_max_control_aio

rgw_init_timeout

Ceph 对象网关放弃初始化前的秒数。

类型:

int

默认值:

5 minutes

rgw_mime_types_file

MIME 类型文件的路径和位置。用于 Swift 自动检测对象类型。

类型:

str

默认值:

/etc/mime.types

rgw_s3_success_create_obj_status

create-obj 的替代成功状态响应。

类型:

int

默认值:

0

rgw_resolve_cname

如果请求主机名字段(如果主机名不等于 rgw dns name)的 DNS CNAME 记录,rgw 是否应使用该记录。

类型:

bool

默认值:

false

rgw_obj_stripe_size

Ceph 对象网关对象的对象条带大小。有关条带化的详细信息,请参阅 架构

类型:

大小

默认值:

4Mi

rgw_extended_http_attrs

添加一组新的属性,可以设置在实体(用户、存储桶或对象)上。当放置实体或使用 POST 方法修改实体时,可以通过 HTTP 标头字段设置这些额外属性。如果设置,这些属性将在对实体执行 GET/HEAD 时作为 HTTP 字段返回。

类型:

str

example:

content_foo, content_bar, x-foo-bar

rgw_exit_timeout_secs

在无条件退出之前等待进程的秒数。

类型:

int

默认值:

2 minutes

rgw_get_obj_window_size

单个对象读取请求的窗口大小(以字节为单位)

类型:

大小

默认值:

16Mi

rgw_get_obj_max_req_size

发送到 Ceph 存储集群的单个获取操作的最大请求大小。

类型:

大小

默认值:

4Mi

rgw_multipart_min_part_size

进行分段上传时,每个部分(最后一个部分除外)必须至少有此大小。

类型:

大小

默认值:

5Mi

rgw_relaxed_s3_bucket_names

为美国地区存储桶启用宽松的 S3 存储桶名称规则。

类型:

bool

默认值:

false

rgw_list_buckets_max_chunk

列出用户存储桶时,单个操作中检索的最大存储桶数。

类型:

int

默认值:

1000

rgw_override_bucket_index_max_shards

表示存储桶索引对象的碎片数,值为零表示没有碎片化。不建议设置过大的值(例如一千),因为它会增加存储桶列表的成本。此变量应在客户端或全局部分中设置,以便自动应用于 radosgw-admin 命令。

类型:

uint

默认值:

0

rgw_curl_wait_timeout_ms

某些 curl 调用的超时时间(以毫秒为单位)。

类型:

int

默认值:

1000

rgw_copy_obj_progress

在长时间复制操作期间启用对象进度输出。

类型:

bool

默认值:

true

rgw_copy_obj_progress_every_bytes

复制进度输出之间的最小字节数。

类型:

大小

默认值:

1Mi

rgw_max_copy_obj_concurrent_io

执行 copy_obj 时并发处理的引用计数操作数。

类型:

int

默认值:

10

rgw_admin_entry

管理员请求 URL 的入口点。

类型:

str

默认值:

admin

rgw_content_length_compat

启用同时设置了 CONTENT_LENGTHHTTP_CONTENT_LENGTH 的 FCGI 请求的兼容性处理。

类型:

bool

默认值:

false

rgw_bucket_quota_ttl

缓存配额信息被信任的时间(以秒为单位)。在此超时后,将从集群重新获取配额信息。

类型:

int

默认值:

10 minutes

rgw_user_quota_bucket_sync_interval

存储桶配额信息在同步到集群之前累积的时间(以秒为单位)。在此期间,其他 RGW 实例将看不到此实例上操作导致的存储桶配额统计信息更改。

类型:

int

默认值:

3 minutes

rgw_user_quota_sync_interval

用户配额信息在同步到集群之前累积的时间(以秒为单位)。在此期间,其他 RGW 实例将看不到此实例上操作导致的用户配额统计信息更改。

类型:

int

默认值:

1 day

rgw_bucket_default_quota_max_objects

每个存储桶的默认最大对象数。在没有指定其他配额的情况下,为新用户设置。对现有用户没有影响。此变量应在客户端或全局部分中设置,以便自动应用于 radosgw-admin 命令。

类型:

int

默认值:

-1

rgw_bucket_default_quota_max_size

每个存储桶的默认最大容量(以字节为单位)。在没有指定其他配额的情况下,为新用户设置。对现有用户没有影响。

类型:

int

默认值:

-1

rgw_user_default_quota_max_objects

用户的默认最大对象数。这包括用户拥有的所有存储桶中的所有对象。在没有指定其他配额的情况下,为新用户设置。对现有用户没有影响。

类型:

int

默认值:

-1

rgw_user_default_quota_max_size

在没有指定其他配额的情况下,为新用户设置的用户最大大小配额值(以字节为单位)。对现有用户没有影响。

类型:

int

默认值:

-1

rgw_account_default_quota_max_objects

帐户的默认最大对象数。这包括帐户拥有的所有存储桶中的所有对象。在没有指定其他配额的情况下,为新帐户设置。对现有帐户没有影响。

类型:

int

默认值:

-1

rgw_account_default_quota_max_size

在没有指定其他配额的情况下,为新帐户设置的帐户最大大小配额值(以字节为单位)。对现有帐户没有影响。

类型:

int

默认值:

-1

rgw_verify_ssl

在发出请求时验证 SSL 证书。

类型:

bool

默认值:

true

另请参阅:

rgw_keystone_verify_ssl

rgw_max_chunk_size

块大小是 RGW 在访问 RADOS 对象时发送给 OSD 的请求大小。RGW 读取和写入操作在单个请求中永远不会请求超过此数量的数据。这也定义了 RGW HEAD 对象大小,因为 HEAD 操作需要是原子的,任何大于此大小的操作都需要不止一个操作。当 RGW 对象写入默认存储类时,最多此数量的有效载荷数据将与元数据一起存储在 HEAD 对象中。请注意,当将 RGW 对象写入非默认存储类时,HEAD RADOS 对象始终存储在默认存储类池中,但不执行有效载荷数据的内联。

类型:

大小

默认值:

4Mi

生命周期设置

存储桶生命周期 (LC) 配置可用于管理对象,使其在整个生命周期内得到有效存储。在过去的版本中,生命周期处理受到单线程处理的速率限制。从 Nautilus 版本开始,Ceph 对象网关允许跨额外的 Ceph 对象网关实例进行存储桶生命周期的并行线程处理,并用随机有序序列替换按顺序的索引碎片枚举。

有两个选项特别与调整生命周期处理的侵入性有关

rgw_lc_max_worker

此选项指定并行运行的生命周期工作线程数,从而同时处理存储桶和索引碎片。

类型:

int

默认值:

3

rgw_lc_max_wp_worker

此选项指定每个生命周期工作池中的协程数。此选项有助于加快处理每个存储桶的速度。

类型:

int

默认值:

128

可以根据您的特定工作负载调整这些值,以进一步增加生命周期处理的侵入性。对于具有大量存储桶(数千个)的工作负载,通过将 rgw_lc_max_worker 从默认值 3 增加来增加工作线程数。但是对于每个存储桶具有更多对象(数十万个)的工作负载,通过将 rgw_lc_max_wp_worker 从默认值 3 增加来增加并行线程数。

注意

在增加这些值中的任何一个之前,请验证当前的集群性能和 Ceph 对象网关利用率。

生命周期维护线程也必须在每个区域的至少一个 RGW 守护程序上启用。

rgw_enable_lc_threads

生命周期维护线程负责与生命周期相关的维护工作。线程本身可以禁用,但为了使生命周期正常工作,每个区域中至少一个 RGW 需要运行此线程。在同一区域内的多个 RGW 进程上启用此线程可以将一些维护工作分散到它们之间。

类型:

bool

默认值:

true

另请参阅:

rgw_enable_gc_threads, rgw_enable_quota_threads, rgw_enable_restore_threads

垃圾回收设置

Ceph 对象网关立即为新对象分配存储空间。

Ceph 对象网关在将对象从存储桶索引中删除后的一段时间内,会清除 Ceph 存储集群中用于已删除和已覆盖对象的存储空间。从 Ceph 存储集群中清除已删除对象数据的过程称为垃圾回收 (GC)。

要查看等待垃圾回收的对象队列,请执行以下操作

radosgw-admin gc list

注意

指定 --include-all 以列出所有条目,包括未过期的垃圾回收对象。

垃圾回收是一种后台活动,可以持续执行或在负载较低时执行,具体取决于管理员如何配置 Ceph 对象网关。默认情况下,Ceph 对象网关持续执行 GC 操作。由于 GC 操作是 Ceph 对象网关操作的正常部分,特别是对象删除操作,因此符合垃圾回收条件的对象大部分时间都存在。

某些工作负载可能会暂时或永久地超过垃圾回收活动的速度。对于删除繁重的工作负载尤其如此,其中许多对象存储时间很短,然后被删除。对于这些类型的工作负载,管理员可以使用以下配置参数来提高垃圾回收操作相对于其他操作的优先级。

rgw_gc_max_objs

在一次垃圾回收处理周期中可以由垃圾回收处理的最大对象数。首次部署后请不要更改此值。

类型:

int

默认值:

32

另请参阅:

rgw_gc_obj_min_wait, rgw_gc_processor_max_time, rgw_gc_processor_period, rgw_gc_max_concurrent_io

rgw_gc_obj_min_wait

在删除的对象可以被移除和由垃圾回收处理之前的最短等待时间。

类型:

int

默认值:

2 hours

另请参阅:

rgw_gc_max_objs, rgw_gc_processor_max_time, rgw_gc_processor_period, rgw_gc_max_concurrent_io

rgw_gc_processor_max_time

两个连续垃圾回收处理周期开始之间的最长时间。

类型:

int

默认值:

1 hour

另请参阅:

rgw_gc_max_objs, rgw_gc_obj_min_wait, rgw_gc_processor_period, rgw_gc_max_concurrent_io

rgw_gc_processor_period

垃圾回收处理的周期时间。

类型:

int

默认值:

1 hour

另请参阅:

rgw_gc_max_objs, rgw_gc_obj_min_wait, rgw_gc_processor_max_time, rgw_gc_max_concurrent_io, rgw_gc_max_trim_chunk

rgw_gc_max_concurrent_io

RGW 垃圾回收线程在清除旧数据时将使用的最大并发 IO 操作数。

类型:

int

默认值:

10

另请参阅:

rgw_gc_max_objs, rgw_gc_obj_min_wait, rgw_gc_processor_max_time, rgw_gc_max_trim_chunk

针对删除繁重工作负载调整垃圾回收:

作为调整 Ceph 垃圾回收以更具侵入性的第一步,建议将以下选项从其默认配置值增加

rgw_gc_max_concurrent_io = 20
rgw_gc_max_trim_chunk = 64

注意

修改这些值需要重启 RGW 服务。

将这些值增加到默认值以上后,请监控垃圾回收期间集群的性能,以验证没有因值增加而导致不利的性能问题。

每个区域中至少一个 RGW 必须运行垃圾回收维护线程

rgw_enable_gc_threads

垃圾回收维护线程负责垃圾收集器维护工作。线程本身可以禁用,但为了使垃圾回收正常工作,每个区域中至少一个 RGW 需要运行此线程。在同一区域内的多个 RGW 进程上启用此线程可以将一些维护工作分散到它们之间。

类型:

bool

默认值:

true

另请参阅:

rgw_enable_quota_threads, rgw_enable_lc_threads, rgw_enable_restore_threads

多站点设置

版本 Jewel 新增。

您可以将以下设置包含在每个 [client.radosgw.{instance-name}] 实例下的 Ceph 配置文件中。

rgw_zone

网关实例的区域名称。如果未设置区域,可以使用命令 radosgw- admin zone default 配置集群范围的默认值。

类型:

str

另请参阅:

rgw_zonegroup, rgw_realm

rgw_zonegroup

网关实例的区域组名称。如果未设置区域组,可以使用命令 radosgw-admin zonegroup default 配置集群范围的默认值。

类型:

str

另请参阅:

rgw_zone, rgw_realm

rgw_realm

网关实例的领域名称。如果未设置领域,可以使用命令 radosgw- admin realm default 配置集群范围的默认值。

类型:

str

rgw_run_sync_thread

如果领域中有其他区域可供同步,则派生线程来处理数据和元数据的同步。

类型:

bool

默认值:

true

rgw_data_log_window

数据日志条目窗口(以秒为单位)。

类型:

int

默认值:

30

rgw_data_log_changes_size

数据更改日志中保留在内存中的条目数。

类型:

int

默认值:

1000

rgw_data_log_num_shards

保持数据更改日志的碎片(对象)数。

类型:

int

默认值:

128

rgw_md_log_max_shards

元数据日志的最大碎片数。

类型:

int

默认值:

64

rgw_data_sync_poll_interval

一旦多站点的数据日志碎片的增量同步赶上了其源,它将等待这么长时间(以秒为单位)才会轮询更多更改。

类型:

int

默认值:

20

另请参阅:

rgw_meta_sync_poll_interval

rgw_meta_sync_poll_interval

一旦多站点的元数据日志碎片的增量同步赶上了其源,它将等待这么长时间(以秒为单位)才会轮询更多更改。

类型:

int

默认值:

20

另请参阅:

rgw_data_sync_poll_interval

rgw_bucket_sync_spawn_window

存储桶同步愿意并行处理的最大项目数(每个远程 bilog 碎片)。

类型:

int

默认值:

20

另请参阅:

rgw_data_sync_spawn_window, rgw_meta_sync_spawn_window

rgw_data_sync_spawn_window

数据同步愿意并行处理的最大项目数(每个远程 datalog 碎片)。

类型:

int

默认值:

20

另请参阅:

rgw_bucket_sync_spawn_window, rgw_meta_sync_spawn_window

rgw_meta_sync_spawn_window

元数据同步愿意并行处理的最大项目数(每个远程 mdlog 碎片)。

类型:

int

默认值:

20

另请参阅:

rgw_bucket_sync_spawn_window, rgw_data_sync_spawn_window

重要

rgw_data_log_num_shardsrgw_md_log_max_shards 的值在同步开始后不应更改。

S3 设置

rgw_s3_auth_use_ldap

S3 身份验证是否使用 LDAP。

类型:

bool

默认值:

false

Swift 设置

rgw_enforce_swift_acls

强制执行 Swift 访问控制列表 (ACL) 设置。

类型:

bool

默认值:

true

rgw_swift_tenant_name

构建 swift 路径时使用的租户名称。

类型:

str

另请参阅:

rgw_swift_account_in_url

rgw_swift_token_expiration

Swift 令牌过期的时间(以秒为单位)。

类型:

int

默认值:

1 day

rgw_swift_url

Ceph 对象网关 Swift API 的 URL。

类型:

str

另请参阅:

rgw_swift_auth_entry

rgw_swift_url_prefix

Swift API 的 URL 前缀,用于将其与 S3 API 端点区分开来。默认值为 swift,这使得 Swift API 可通过 URL http://host:port/swift/v1 访问(如果启用了 rgw swift account in url,则为 http://host:port/swift/v1/AUTH_%(tenant_id)s)。

为了兼容性,将此配置变量设置为空字符串会导致使用默认的 swift;如果您确实想要一个空前缀,请将此选项设置为 /

警告

如果您将此选项设置为 /,则必须通过修改 rgw enable apis 以排除 s3 来禁用 S3 API。在 rgw swift url prefix = / 的情况下同时支持 S3 和 Swift API 是不可能的。如果您确实需要支持没有前缀的两个 API,请部署多个 radosgw 实例以侦听不同的主机(或端口),并为其中一些启用 S3,为另一些启用 Swift。

类型:

str

默认值:

swift

example:

/swift-testing

rgw_swift_auth_url

RGW 连接并验证 v1 身份验证令牌的默认 URL(如果不使用内部 swift 身份验证)。

类型:

str

rgw_swift_auth_entry

Swift 身份验证 URL 的入口点。

类型:

str

默认值:

auth(认证)

另请参阅:

rgw_swift_url

rgw_swift_account_in_url

Swift API URL 中是否应包含 Swift 帐户名称。如果设置为 false(默认值),则 Swift API 将侦听形式为 http://host:port/<rgw_swift_url_prefix>/v1 的 URL,并且帐户名称(如果 radosgw 配置了 Keystone 集成,通常为 Keystone 项目 UUID)将从请求标头推断。如果设置为 true,则 Swift API URL 将为 http://host:port/<rgw_swift_url_prefix>/v1/AUTH_<account_name>(或 http://host:port/<rgw_swift_url_prefix>/v1/AUTH_<keystone_project_id >),并且 Keystone object-store 端点必须相应地配置为包含 AUTH_%(tenant_id)s 后缀。如果您希望 radosgw 支持可公开读取的容器和 临时 URL,则必须将此选项设置为 true(并更新 Keystone 服务目录)。

类型:

bool

默认值:

false

另请参阅:

rgw_swift_tenant_name

rgw_swift_versioning_enabled

启用 OpenStack 对象存储 API 的对象版本控制。这允许客户端在应进行版本控制的容器上放置 X-Versions-Location 属性。该属性指定存储存档版本的容器名称。由于访问控制验证,它必须由与版本控制容器相同的用户拥有 - 不考虑 ACL。这些容器不能通过 S3 对象版本控制机制进行版本控制。

目前不支持 X-History-Location 属性,OpenStack Swift 也理解该属性 用于处理 DELETE 操作。

类型:

bool

默认值:

false

rgw_trust_forwarded_https

当 radosgw 前面的代理用于 ssl 终止时,radosgw 不知道传入的 http 连接是否安全。启用此选项以信任代理发送的 ForwardedX-Forwarded-Proto 标头来确定连接是否安全。这对于某些功能(例如服务器端加密)是必需的。(如果您前面没有受信任的代理,切勿启用此设置,否则恶意用户将能够在任何请求中设置这些标头。)

类型:

bool

默认值:

false

另请参阅:

rgw_crypt_require_ssl

日志设置

rgw_log_nonexistent_bucket

启用 Ceph 对象网关记录对不存在存储桶的请求。

类型:

bool

默认值:

false

另请参阅:

rgw_enable_ops_log

rgw_log_object_name

对象名称的日志格式。有关格式说明符的详细信息,请参阅 man 手册页 date

类型:

str

默认值:

%Y-%m-%d-%H-%i-%n

另请参阅:

rgw_enable_ops_log

rgw_log_object_name_utc

记录的对象名称是否包含 UTC 时间。如果为 false,则使用本地时间。

类型:

bool

默认值:

false

另请参阅:

rgw_enable_ops_log, rgw_log_object_name

rgw_usage_max_shards

使用量日志的最大碎片数。

类型:

int

默认值:

32

另请参阅:

rgw_enable_usage_log

rgw_usage_max_user_shards

用于单个用户使用量日志的最大碎片数。

类型:

int

默认值:

1

min:

1

另请参阅:

rgw_enable_usage_log

rgw_enable_ops_log

为每个成功的 Ceph 对象网关操作启用日志记录。

类型:

bool

默认值:

false

另请参阅:

rgw_log_nonexistent_bucket, rgw_log_object_name, rgw_ops_log_rados, rgw_ops_log_socket_path, rgw_ops_log_file_path

rgw_enable_usage_log

启用使用量日志

类型:

bool

默认值:

false

另请参阅:

rgw_usage_max_shards

rgw_ops_log_rados

操作日志是否应写入 Ceph 存储集群后端。

类型:

bool

默认值:

false

另请参阅:

rgw_enable_ops_log, rgw_log_object_name_utc, rgw_log_object_name

rgw_ops_log_socket_path

用于写入操作日志的 Unix 域套接字。

类型:

str

另请参阅:

rgw_enable_ops_log, rgw_ops_log_data_backlog

rgw_ops_log_data_backlog

写入 Unix 域套接字的操作日志的最大数据积压大小。

类型:

大小

默认值:

5Mi

另请参阅:

rgw_enable_ops_log, rgw_ops_log_socket_path

rgw_usage_log_flush_threshold

在同步刷新之前,使用量日志中脏合并条目的数量。

类型:

int

默认值:

1024

另请参阅:

rgw_enable_usage_log, rgw_usage_log_tick_interval

rgw_usage_log_tick_interval

每隔 n 秒刷新一次待处理的使用量日志数据。

类型:

int

默认值:

30

另请参阅:

rgw_enable_usage_log, rgw_usage_log_flush_threshold

rgw_log_http_headers

逗号分隔的 HTTP 标头列表,包含在操作日志条目中。标头名称不区分大小写,使用完整的标头名称,单词之间用下划线分隔。

类型:

str

example:

http_x_forwarded_for, http_x_special_k

Keystone 设置

rgw_keystone_url

Keystone 服务器的 URL。

类型:

str

rgw_keystone_admin_domain

使用 OpenStack Identity API v3 时具有管理员权限的 OpenStack 域名称。

类型:

str

rgw_keystone_admin_project

使用 OpenStack Identity API v3 时具有管理员权限的 OpenStack 项目名称。如果未指定,将使用 rgw keystone admin tenant 的值代替。

类型:

str

rgw_keystone_admin_token

Keystone 管理员令牌(共享密钥)。在 Ceph RGW 中,使用管理员令牌进行身份验证的优先级高于使用管理员凭据(rgw_keystone_admin_userrgw_keystone_admin_passwordrgw_keystone_admin_tenantrgw_keystone_admin_projectrgw_keystone_admin_domain)进行身份验证。Keystone 管理员令牌已被弃用,但可用于与旧环境集成。建议改为配置 rgw_keystone_admin_token_path 以避免暴露令牌。

类型:

str

rgw_keystone_admin_token_path

包含 Keystone 管理员令牌(共享密钥)的文件的路径。在 Ceph RadosGW 中,使用管理员令牌进行身份验证的优先级高于使用管理员凭据(rgw_keystone_admin_userrgw_keystone_admin_passwordrgw_keystone_admin_tenantrgw_keystone_admin_projectrgw_keystone_admin_domain)进行身份验证。Keystone 管理员令牌已被弃用,但可用于与旧环境集成。

类型:

str

rgw_keystone_admin_tenant

使用 OpenStack Identity API v2 时具有管理员权限的 OpenStack 租户名称(服务租户)。

类型:

str

rgw_keystone_admin_user

使用 OpenStack Identity API v2 时用于 Keystone 身份验证的具有管理员权限的 OpenStack 用户名称(服务用户)。

类型:

str

rgw_keystone_admin_password

使用 OpenStack Identity API v2 时 OpenStack 管理员用户的密码。建议改为配置 rgw_keystone_admin_password_path 以避免暴露令牌。

类型:

str

rgw_keystone_admin_password_path

包含 OpenStack Identity API v2 时 OpenStack 管理员用户密码的文件的路径。

类型:

str

rgw_keystone_accepted_roles

服务请求所需的角色。

类型:

str

默认值:

Member, admin

rgw_keystone_token_cache_size

每个 Keystone 令牌缓存中的最大条目数。

类型:

int

默认值:

10000

rgw_keystone_verify_ssl

在向 keystone 发出令牌请求时验证 SSL 证书。

类型:

bool

默认值:

true

rgw_keystone_service_token_enabled

服务令牌支持允许传入请求包含一个 X-Service-Token 标头,其中包含一个 Keystone 令牌,如果它具有可接受的角色,则允许在 X-Auth-Token 标头中使用过期的令牌。

类型:

bool

默认值:

false

另请参阅:

rgw_keystone_service_token_accepted_roles, rgw_keystone_expired_token_cache_expiration

rgw_keystone_service_token_accepted_roles

给定的服务令牌的创建者必须具有其中一个角色才能被视为有效的服务用户。

类型:

str

默认值:

admin

另请参阅:

rgw_keystone_service_token_enabled

rgw_keystone_expired_token_cache_expiration

当给定有效的服务令牌时,允许的过期令牌需要一个新的过期日期进行缓存。这是添加到当前时间,然后设置在已通过服务令牌验证的过期令牌上的秒数。

类型:

int

默认值:

3600

另请参阅:

rgw_keystone_service_token_enabled

服务器端加密设置

rgw_crypt_s3_kms_backend

存储 SSE-KMS 加密密钥的位置。支持的 KMS 系统是 OpenStack Barbican(barbican,默认值)和 HashiCorp Vault(vault)。

类型:

str

默认值:

barbican

有效选项:
  • barbican

  • vault

  • testing

  • kmip

Barbican 设置

rgw_barbican_url

Barbican 服务器的 URL。

类型:

str

rgw_keystone_barbican_user

具有访问用于 加密Barbican 密钥的 OpenStack 用户名称。

类型:

str

rgw_keystone_barbican_password

Barbican 用户关联的密码。

类型:

str

rgw_keystone_barbican_tenant

使用 OpenStack Identity API v2 时与 Barbican 用户关联的 OpenStack 租户名称。

类型:

str

rgw_keystone_barbican_project

使用 OpenStack Identity API v3 时与 Barbican 用户关联的 OpenStack 项目名称。

类型:

str

rgw_keystone_barbican_domain

使用 OpenStack Identity API v3 时与 Barbican 用户关联的 OpenStack 域名称。

类型:

str

HashiCorp Vault 设置

rgw_crypt_vault_auth

要使用的身份验证方法类型。目前唯一支持的方法是 token

类型:

str

默认值:

token

有效选项:
  • token

  • agent

另请参阅:

rgw_crypt_s3_kms_backend, rgw_crypt_vault_addr, rgw_crypt_vault_token_file

rgw_crypt_vault_token_file

如果身份验证方法是 'token',则提供令牌文件的路径,出于安全原因,该文件应仅可由 Rados Gateway 读取。

类型:

str

另请参阅:

rgw_crypt_s3_kms_backend, rgw_crypt_vault_auth, rgw_crypt_vault_addr

rgw_crypt_vault_addr

Vault 服务器基本地址,例如 http://vaultserver:8200

类型:

str

另请参阅:

rgw_crypt_s3_kms_backend, rgw_crypt_vault_auth, rgw_crypt_vault_prefix

rgw_crypt_vault_prefix

Vault 密钥 URL 前缀,可用于将访问限制到密钥空间的特定子集,例如 /v1/secret/data

类型:

str

另请参阅:

rgw_crypt_s3_kms_backend, rgw_crypt_vault_addr, rgw_crypt_vault_auth

rgw_crypt_vault_secret_engine

用于检索加密密钥的 Vault Secret Engine:在 kv-v2、transit 之间选择。

类型:

str

默认值:

transit

另请参阅:

rgw_crypt_s3_kms_backend, rgw_crypt_vault_auth, rgw_crypt_vault_addr

rgw_crypt_vault_namespace

如果设置,Vault Namespace 为同一 Vault Enterprise 实例上的团队和个人提供租户隔离,例如 acme/tenant1

类型:

str

另请参阅:

rgw_crypt_s3_kms_backend, rgw_crypt_vault_auth, rgw_crypt_vault_addr

SSE-S3 设置

rgw_crypt_sse_s3_backend

存储 SSE-S3 加密密钥的位置。唯一有效的选择是 HashiCorp Vault(vault)。

类型:

str

默认值:

vault

有效选项:
  • vault

rgw_crypt_sse_s3_vault_secret_engine

用于检索加密密钥的 Vault Secret Engine。这里唯一有效的选择是 transit。

类型:

str

默认值:

transit

另请参阅:

rgw_crypt_sse_s3_backend, rgw_crypt_sse_s3_vault_auth, rgw_crypt_sse_s3_vault_addr

rgw_crypt_sse_s3_key_template

这是每个存储桶 sse-s3 密钥的模板。此字符串可能包含 %bucket_id,它将扩展为存储桶标记,即分配给该存储桶的唯一 uuid。它可能包含 %owner_id,它将扩展为所有者的 ID。任何其他使用 % 的方式都是保留的,不应使用。如果模板包含 %bucket_id,当存储桶被移除时,关联的存储桶密钥将自动移除。

类型:

str

默认值:

%bucket_id

另请参阅:

rgw_crypt_sse_s3_backend, rgw_crypt_sse_s3_vault_auth, rgw_crypt_sse_s3_vault_addr

rgw_crypt_sse_s3_vault_auth

要使用的身份验证方法类型。目前唯一支持的方法是 token

类型:

str

默认值:

token

有效选项:
  • token

  • agent

另请参阅:

rgw_crypt_sse_s3_backend, rgw_crypt_sse_s3_vault_addr, rgw_crypt_sse_s3_vault_token_file

rgw_crypt_sse_s3_vault_token_file

如果身份验证方法是 'token',则提供令牌文件的路径,出于安全原因,该文件应仅可由 Rados Gateway 读取。

类型:

str

另请参阅:

rgw_crypt_sse_s3_backend, rgw_crypt_sse_s3_vault_auth, rgw_crypt_sse_s3_vault_addr

rgw_crypt_sse_s3_vault_addr

Vault 服务器基本地址,例如 http://vaultserver:8200

类型:

str

另请参阅:

rgw_crypt_sse_s3_backend, rgw_crypt_sse_s3_vault_auth, rgw_crypt_sse_s3_vault_prefix

rgw_crypt_sse_s3_vault_prefix

Vault 密钥 URL 前缀,可用于将访问限制到密钥空间的特定子集,例如 /v1/secret/data

类型:

str

另请参阅:

rgw_crypt_sse_s3_backend, rgw_crypt_sse_s3_vault_addr, rgw_crypt_sse_s3_vault_auth

rgw_crypt_sse_s3_vault_namespace

如果设置,Vault Namespace 为同一 Vault Enterprise 实例上的团队和个人提供租户隔离,例如 acme/tenant1

类型:

str

另请参阅:

rgw_crypt_sse_s3_backend, rgw_crypt_sse_s3_vault_auth, rgw_crypt_sse_s3_vault_addr

rgw_crypt_sse_s3_vault_verify_ssl

RGW 是否应验证 vault 服务器 SSL 证书。

类型:

bool

默认值:

true

rgw_crypt_sse_s3_vault_ssl_cacert

用于访问 vault 服务器的自定义 ca 证书路径。

类型:

str

rgw_crypt_sse_s3_vault_ssl_clientcert

用于访问 vault 服务器的自定义客户端证书路径。

类型:

str

rgw_crypt_sse_s3_vault_ssl_clientkey

客户端证书所需的私钥路径。

类型:

str

QoS Settings

版本 Nautilus 新增。

The older and now non-default civetweb frontend has a threading model that uses a thread per connection and hence is automatically throttled by rgw_thread_pool_size when accepting connections. The newer and default beast frontend is not limited by the thread pool size when it comes to accepting new connections, so a scheduler abstraction was introduced in the Nautilus release to support additional methods of scheduling requests.

Currently the scheduler defaults to a throttler that limits active connections to a configured limit. QoS rate limiting based on mClock is currently experimental phase and not recommended for production. The current implementation of the dmclock_client op queue divides RGW ops into admin, auth (swift auth, sts) metadata, and data requests.

rgw_max_concurrent_requests

Maximum number of concurrent HTTP requests that the beast frontend will process. Tuning this can help to limit memory usage under heavy load.

类型:

int

默认值:

1024

另请参阅:

rgw_frontends

rgw_scheduler_type

The RGW scheduler to use. Valid values are throttler and dmclock. Currently defaults to throttler which throttles Beast frontend requests. dmclock is experimental and requires dmclock to be included in the experimental_feature_enabled configuration option.

The options below tune the experimental dmclock scheduler. For additional reading on dmclock, see QoS Based on mClock. op_class for the flags below is one of admin, auth, metadata, or data.

类型:

str

默认值:

throttler

rgw_dmclock_auth_res

mclock reservation for object data requests

类型:

float

默认值:

200.0

另请参阅:

rgw_dmclock_auth_wgt, rgw_dmclock_auth_lim

rgw_dmclock_auth_wgt

mclock weight for object data requests

类型:

float

默认值:

100.0

另请参阅:

rgw_dmclock_auth_res, rgw_dmclock_auth_lim

rgw_dmclock_auth_lim

mclock limit for object data requests

类型:

float

默认值:

0.0

另请参阅:

rgw_dmclock_auth_res, rgw_dmclock_auth_wgt

rgw_dmclock_admin_res

mclock reservation for admin requests

类型:

float

默认值:

100.0

另请参阅:

rgw_dmclock_admin_wgt, rgw_dmclock_admin_lim

rgw_dmclock_admin_wgt

mclock weight for admin requests

类型:

float

默认值:

100.0

另请参阅:

rgw_dmclock_admin_res, rgw_dmclock_admin_lim

rgw_dmclock_admin_lim

mclock limit for admin requests

类型:

float

默认值:

0.0

另请参阅:

rgw_dmclock_admin_res, rgw_dmclock_admin_wgt

rgw_dmclock_data_res

mclock reservation for object data requests

类型:

float

默认值:

500.0

另请参阅:

rgw_dmclock_data_wgt, rgw_dmclock_data_lim

rgw_dmclock_data_wgt

mclock weight for object data requests

类型:

float

默认值:

500.0

另请参阅:

rgw_dmclock_data_res, rgw_dmclock_data_lim

rgw_dmclock_data_lim

mclock limit for object data requests

类型:

float

默认值:

0.0

另请参阅:

rgw_dmclock_data_res, rgw_dmclock_data_wgt

rgw_dmclock_metadata_res

mclock reservation for metadata requests

类型:

float

默认值:

500.0

另请参阅:

rgw_dmclock_metadata_wgt, rgw_dmclock_metadata_lim

rgw_dmclock_metadata_wgt

mclock weight for metadata requests

类型:

float

默认值:

500.0

另请参阅:

rgw_dmclock_metadata_res, rgw_dmclock_metadata_lim

rgw_dmclock_metadata_lim

mclock limit for metadata requests

类型:

float

默认值:

0.0

另请参阅:

rgw_dmclock_metadata_res, rgw_dmclock_metadata_wgt

D4N Settings

D4N is a caching architecture that utilizes Redis to speed up S3 object storage operations by establishing shared databases among Ceph Object Gateway (RGW) daemons.

The D4N architecture can only function on one Redis instance at a time. The address is configurable and can be changed by accessing the parameters below.

rgw_d4n_address

The current D4N implementation supports one Redis node which the D4N directory, policy, and overall filter communicate with. This default value is also the address that a Redis server with no additional configuration will use.

类型:

str

默认值:

127.0.0.1:6379

rgw_d4n_l1_datacache_persistent_path

One cache backend option for D4N is the local SSD, which uses this path to write and read object data. This is the default cache backend chosen by the D4N filter. Only the SSD cache backend uses this path for object data storage since the RedisDriver uses a Redis server instead and there are no additional cache backend implementations available at the moment.

类型:

str

默认值:

/tmp/rgw_d4n_datacache/

rgw_d4n_l1_datacache_disk_reserve

The local SSD cache uses this option to determine how much disk space to reserve. The cache can grow until disk usage reaches (total disk space - reserved space).

类型:

大小

默认值:

1Gi

rgw_d4n_l1_evict_cache_on_start

The local SSD cache uses this option to clear the contents of the path supplied by the rgw_d4n_l1_datacache_persistent_path config option on start. If false, the path’s contents will be retained.

类型:

bool

默认值:

true

rgw_d4n_l1_fadvise

For example, to bypass the page-cache - POSIX_FADV_DONTNEED=4

类型:

int

默认值:

4

rgw_d4n_libaio_aio_threads

This option is used by the SSD cache backend during initialization to set the maximum number of worker threads libaio may use. It does not apply to the Redis cache backend.

类型:

int

默认值:

20

另请参阅:

rgw_thread_pool_size

rgw_d4n_libaio_aio_num

This option is used by the SSD cache backend during initialization to set the maximum number of simultaneous I/O requests that libaio can expect to enqueue. It does not apply to the Redis cache backend.

类型:

int

默认值:

64

另请参阅:

rgw_thread_pool_size

rgw_lfuda_sync_frequency

By default, the D4N cache uses the Least Frequently Used with Dynamic Aging (LFUDA) cache replacement policy. This class globally stores values that are used by the policy’s algorithm. However, strong consistency for these values is not necessary and adds additional overhead to support. As a result, a thread periodically retrieves these global values and posts updates when certain conditions are satisfied. This Redis thread completes this logic in a loop that is called once every interval, with the interval being set by this option.

类型:

int

默认值:

60

rgw_d4n_l1_datacache_address

This is the address used to configure the Redis cache backend connection. The default value is the same address used by Redis without any additional configuration. The SSD cache does not use this option.

类型:

str

默认值:

127.0.0.1:6379

Topic Persistency Settings

Topic persistency will repeatedly push notifications until they succeed. For more information, see Bucket Notifications.

The default behavior is to push indefinitely and as frequently as possible. With these settings you can control how long and how often to retry an unsuccessful notification by configuring the maximum retention time and/or or maximum number of retries. The interval between push retries can be configured via the sleep duration parameter.

All of these options default to the value 0, which means that persistent retention is indefinite, and notifications are retried as frequently as possible.

rgw_topic_persistency_time_to_live

The rgw retention of persistent topics by time (seconds)

类型:

uint

默认值:

0

rgw_topic_persistency_max_retries

The maximum number sending a persistent notification would be tried. Note that the value of one would mean no retries, and the value of zero would mean that the notification would be tried indefinitely

类型:

uint

默认值:

0

rgw_topic_persistency_sleep_duration

The minimum time (in seconds) between two tries of the same persistent notification. note that the actual time between the tries may be longer

类型:

uint

默认值:

0

Cloud Restore Settings

Cloud Restore feature currently enables the restoration of objects transitioned to S3-compatible cloud services into Ceph Object Gateway (RGW). The restore requests are asynchronously processed by Restore worker thread in the background.

rgw_restore_max_objs

Number of RADOS objects to use for storing restore entries which are in progress. This affects concurrency of restore maintenance, as shards can be processed in parallel.

类型:

int

默认值:

32

rgw_restore_lock_max_time
类型:

int

默认值:

90

rgw_restore_processor_period

The cycle time for restore state processing.

类型:

int

默认值:

15 minutes

These values can be tuned based upon your specific workload to further increase the aggressiveness of restore processing.

由 Ceph 基金会为您呈现

Ceph 文档是由非营利性 Ceph 基金会 资助和托管的社区资源。如果您希望支持这项工作和我们的其他努力,请考虑 立即加入