注意

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

Ceph 对象网关配置参考

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

[client.radosgw.{instance-name}]部分设置的配置变量不会应用于 rgw 或 radosgw-admin 命令,除非在命令中指定了实例名称。因此,打算应用于所有 RGW 实例或所有 radosgw-admin 选项的变量可以放入[global][client]部分以避免指定instance-name.

rgw_frontends

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

type:

str

default:

beast port=7480

rgw_data

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

type:

str

default:

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

rgw_enable_apis

启用指定的 API。

Note

启用S3API 是任何radosgw实例参与多站点configuration.

type:

str

default:

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

rgw_cache_enabled

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

type:

bool

default:

true

参见:

rgw_cache_lru_size

rgw_cache_lru_size

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

type:

int

default:

25000

参见:

rgw_cache_enabled

rgw_dns_name

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

type:

str

rgw_script_uri

的替代值。SCRIPT_URI,则此为

type:

str

rgw_request_uri

的替代值。REQUEST_URI,则此为

type:

str

rgw_print_continue

启用100-continue如果它处于运行状态。

type:

bool

default:

true

rgw_remote_addr_param

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

type:

str

default:

REMOTE_ADDR

参见:

rgw_enable_ops_log

rgw_op_thread_timeout

打开线程的秒数超时。

type:

int

default:

10 minutes

rgw_op_thread_suicide_timeout

在 Ceph 对象网关进程死亡前的秒数。如果设置为timeout in seconds before a Ceph Object Gateway process dies. Disabled if set to 0.

type:

int

default:

0

,则禁用。

线程池的大小。

type:

int

default:

512

rgw_num_control_oids

用于在不同rgw实例都可用。

type:

int

default:

8

参见:

rgw_cache_enabled, rgw_max_control_aio

之间同步缓存的通知对象的数量。

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

type:

int

default:

5 minutes

rgw_mime_types_file

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

type:

str

default:

/etc/mime.types

rgw_s3_success_create_obj_status

create-obj.

type:

int

default:

0

的替代成功状态响应。

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

type:

bool

default:

false

)。

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

type:

size

default:

4Mi

rgw_extended_http_attrs

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

type:

str

示例:

content_foo, content_bar, x-foo-bar

rgw_exit_timeout_secs

等待进程的秒数,然后无条件退出。

type:

int

default:

2 minutes

rgw_get_obj_window_size

单个对象读取请求的字节窗口大小。

type:

size

default:

16Mi

rgw_get_obj_max_req_size

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

type:

size

default:

4Mi

rgw_multipart_min_part_size

在执行多部分上传时,每个部分(除最后一个部分)必须至少为此大小。

type:

size

default:

5Mi

rgw_relaxed_s3_bucket_names

为 US 区域存储桶启用宽松的 S3 存储桶名称规则。

type:

bool

default:

false

rgw_list_buckets_max_chunk

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

type:

int

default:

1000

rgw_override_bucket_index_max_shards

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

type:

uint

default:

0

rgw_curl_wait_timeout_ms

某些curl调用中存储在“虚拟”挂载中的路径。

type:

int

default:

1000

的毫秒超时。

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

type:

bool

default:

true

rgw_copy_obj_progress_every_bytes

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

type:

size

default:

1Mi

rgw_max_copy_obj_concurrent_io

执行 copy_obj 时同时处理的 refcount 操作数量。

type:

int

default:

10

rgw_admin_entry

管理员请求 URL 的入口点。

type:

str

default:

admin

rgw_content_length_compat

启用与 FCGI 请求的兼容性处理。CONTENT_LENGTHHTTP_CONTENT_LENGTH的池的权重。

type:

bool

default:

false

rgw_bucket_quota_ttl

缓存的配额信息被信任的秒数。在此超时后,配额信息将从集群中重新获取。

type:

int

default:

10 minutes

rgw_user_quota_bucket_sync_interval

存储桶配额信息在同步到集群之前积累的秒数。在此期间,其他 RGW 实例将不会看到此实例上操作产生的存储桶配额统计信息的变化。

type:

int

default:

3 minutes

rgw_user_quota_sync_interval

用户配额信息在同步到集群之前积累的秒数。在此期间,其他 RGW 实例将不会看到此实例上操作产生的用户配额统计信息的变化。

type:

int

default:

1 day

rgw_bucket_default_quota_max_objects

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

type:

int

default:

-1

rgw_bucket_default_quota_max_size

每个存储桶的默认最大容量,以字节为单位。在创建新用户时设置,如果没有指定其他配额,则无效。对现有用户没有影响。

type:

int

default:

-1

rgw_keystone_admin_password_path

每个用户的默认最大对象数。这包括用户拥有的所有存储桶中的所有对象。在创建新用户时设置,如果没有指定其他配额,则无效。对现有用户没有影响。

type:

int

default:

-1

rgw_user_default_quota_max_size

在创建新用户时设置的每个用户最大大小配额的值。对现有用户没有影响。

type:

int

default:

-1

rgw_account_default_quota_max_objects

每个账户的默认最大对象数。这包括账户拥有的所有存储桶中的所有对象。在创建新账户时设置,如果没有指定其他配额,则无效。对现有账户没有影响。

type:

int

default:

-1

rgw_account_default_quota_max_size

在创建新账户时设置的每个账户最大大小配额的值。对现有账户没有影响。

type:

int

default:

-1

rgw_verify_ssl

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

type:

bool

default:

true

参见:

rgw_keystone_verify_ssl

rgw_max_chunk_size

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

type:

size

default:

4Mi

生命周期设置

存储桶生命周期配置可用于管理您的对象,以便它们在其整个生命周期中有效存储。在过去发布中,生命周期处理由单线程处理速率限制。在 Nautilus 发布中,这个问题已经得到解决,Ceph 对象网关现在允许并行处理跨多个 Ceph 对象网关实例的存储桶生命周期,并使用随机排序序列替换按顺序索引分片枚举。

在考虑增加生命周期处理侵略性的两种特定选项:

rgw_lc_max_worker

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

type:

int

default:

3

rgw_lc_max_wp_worker

此选项指定每个生命周期工作线程工作池中的线程数。此选项可以帮助加速每个存储桶的处理。

type:

int

default:

3

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

Note

在调整这些特定值时,请在增加之前验证当前集群性能和 Ceph 对象网关利用率。

垃圾回收设置

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

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

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

radosgw-admin gc list

Note

指定--include-all以列出所有条目,包括未过期的

垃圾回收是一个后台活动,它可能连续执行或在高负载时段执行,具体取决于管理员如何配置 Ceph 对象网关。默认情况下,Ceph 对象网关连续执行 GC 操作。由于 GC 操作是 Ceph 对象网关操作的正常部分,尤其是在对象删除操作中,符合条件的垃圾回收对象大部分时间都存在。

一些工作负载可能会暂时或永久地超过垃圾回收活动的速率。这尤其适用于删除密集型工作负载,其中许多对象存储时间很短,然后被删除。对于这些类型的工作负载,管理员可以通过以下配置参数相对于其他操作增加垃圾回收操作的优先级。

rgw_gc_max_objs

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

type:

int

default:

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

删除对象在可以被垃圾回收处理清除和处理的最低等待时间。

type:

int

default:

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

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

type:

int

default:

1 hour

参见:

rgw_gc_max_objs, rgw_gc_obj_min_wait, rgw_gc_processor_period, rgw_gc_max_concurrent_io

rgw_gc_processor_period

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

type:

int

default:

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 操作数。

type:

int

default:

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

Note

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

一旦这些值从默认值增加,请监控集群在垃圾回收期间的性能,以验证由于值的增加而没有任何不利性能问题。

多站点设置

Jewel 版本中的新增功能。

您可以在您的 Ceph 配置文件中的每个[client.radosgw.{instance-name}] instance.

rgw_zone

下包含以下设置。网关实例的区域名称。如果没有设置区域,则可以使用命令radosgw- admin zone default.

type:

str

参见:

rgw_zonegroup, rgw_realm

rgw_zonegroup

配置集群范围的默认值。radosgw-admin zonegroup default.

type:

str

参见:

rgw_zone, rgw_realm

rgw_realm

网关实例的领域名称。如果没有设置领域,则可以使用命令radosgw- admin realm default.

type:

str

配置集群范围的默认值。

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

type:

bool

default:

true

rgw_data_log_window

数据日志条目窗口(秒)。

type:

int

default:

30

rgw_data_log_changes_size

如果挂起的条目数量达到此数字,RGW 将触发数据日志的更新。

type:

int

default:

1000

rgw_data_log_num_shards

要保留数据更改日志的分片(对象)数量。

type:

int

default:

128

rgw_md_log_max_shards

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

type:

int

default:

64

rgw_data_sync_poll_interval

一旦多站点的增量同步 datalog 分片与其源同步,它将等待此长时间(秒)再轮询更多更改。

type:

int

default:

20

参见:

rgw_meta_sync_poll_interval

rgw_meta_sync_poll_interval

一旦多站点的增量同步 mdlog 分片与其源同步,它将等待此长时间(秒)再轮询更多更改。

type:

int

default:

20

参见:

rgw_data_sync_poll_interval

rgw_bucket_sync_spawn_window

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

type:

int

default:

20

参见:

rgw_data_sync_spawn_window, rgw_meta_sync_spawn_window

rgw_data_sync_spawn_window

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

type:

int

default:

20

参见:

rgw_bucket_sync_spawn_window, rgw_meta_sync_spawn_window

rgw_meta_sync_spawn_window

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

type:

int

default:

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。

type:

bool

default:

false

Swift 设置

rgw_enforce_swift_acls

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

type:

bool

default:

true

rgw_swift_tenant_name

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

type:

str

参见:

rgw_swift_account_in_url

rgw_swift_token_expiration

Swift 令牌过期的秒数。

type:

int

default:

1 day

rgw_swift_url

Ceph 对象网关 Swift API 的 URL。

type:

str

参见:

rgw_swift_auth_entry

rgw_swift_url_prefix

Swift API 的 URL 前缀,以区别于 S3 API 端点。默认是swift,这使得 Swift API 在 URLhttp://host:port/swift/v1 (or http://host:port/swift/v1/AUTH_%(tenant_id)s如果rgw swift account in url处可用(如果启用)。

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

警告

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

type:

str

default:

swift

示例:

/swift-testing

rgw_swift_auth_url

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

type:

str

rgw_swift_auth_entry

Swift 身份验证 URL 的入口点。

type:

str

default:

auth

参见:

rgw_swift_url

rgw_swift_account_in_url

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

type:

bool

default:

false

参见:

rgw_swift_tenant_name

rgw_swift_versioning_enabled

启用 OpenStack 对象存储 API 的对象版本控制。这允许客户端将X-Versions-Location属性放置在应进行版本控制的容器上。该属性指定存储存档版本的容器名称。由于访问控制验证 - ACLs 不予考虑,因此该容器必须由与版本化容器相同的用户所有。

一个稍微不同的属性,X-History-Location,它也被OpenStack Swift用于处理DELETE操作,目前不支持。

type:

bool

default:

false

rgw_trust_forwarded_https

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

type:

bool

default:

false

参见:

rgw_crypt_require_ssl

日志设置

rgw_log_nonexistent_bucket

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

type:

bool

default:

false

参见:

rgw_enable_ops_log

rgw_log_object_name

对象名称的日志格式。有关格式说明的更多详细信息,请参阅日期

type:

str

default:

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

参见:

rgw_enable_ops_log

rgw_log_object_name_utc

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

type:

bool

default:

false

参见:

rgw_enable_ops_log, rgw_log_object_name

rgw_usage_max_shards

使用情况日志的最大分片数。

type:

int

default:

32

参见:

rgw_enable_usage_log

rgw_usage_max_user_shards

用于单个用户使用情况日志的最大分片数。

type:

int

default:

1

min:

1

参见:

rgw_enable_usage_log

rgw_enable_ops_log

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

type:

bool

default:

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

启用使用情况日志

type:

bool

default:

false

参见:

rgw_usage_max_shards

rgw_ops_log_rados

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

type:

bool

default:

false

参见:

rgw_enable_ops_log, rgw_log_object_name_utc, rgw_log_object_name

rgw_ops_log_socket_path

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

type:

str

参见:

rgw_enable_ops_log, rgw_ops_log_data_backlog

rgw_ops_log_data_backlog

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

type:

size

default:

5Mi

参见:

rgw_enable_ops_log, rgw_ops_log_socket_path

rgw_usage_log_flush_threshold

使用情况日志中脏合并条目的数量,在同步时同步。

type:

int

default:

1024

参见:

rgw_enable_usage_log, rgw_usage_log_tick_interval

rgw_usage_log_tick_interval

每隔n seconds.

type:

int

default:

30

参见:

rgw_enable_usage_log, rgw_usage_log_flush_threshold

刷新挂起的使用情况日志数据。

ops 日志条目中包含的逗号分隔的 HTTP 标头列表。

type:

str

示例:

http_x_forwarded_for, http_x_special_k

Keystone 设置

rgw_keystone_url

Keystone 服务器的 URL。

type:

str

rgw_keystone_admin_domain

使用 OpenStack 身份 API v3 时具有管理员特权的 OpenStack 域的名称。

type:

str

rgw_keystone_admin_project

使用 OpenStack 身份 API v3 时具有管理员特权的 OpenStack 项目的名称。如果未指定,则值为rgw keystone admin tenant将被使用。

type:

str

rgw_keystone_admin_token

Keystone 管理员令牌(共享密钥)。在 Ceph RGW 身份验证中,使用管理员令牌优先于使用管理员凭据 (rgw_keystone_admin_user, rgw_keystone_admin_password, rgw_keystone_admin_tenant, rgw_keystone_admin_project, rgw_keystone_admin_domain)。Keystone 管理员令牌已弃用,但可用于与旧环境集成。更推荐配置rgw_keystone_admin_token_path以避免暴露令牌。

type:

str

rgw_keystone_admin_token_path

包含 Keystone 管理员令牌(共享密钥)的文件路径。rgw_keystone_admin_user, rgw_keystone_admin_password, rgw_keystone_admin_tenant, rgw_keystone_admin_project, rgw_keystone_admin_domain。Keystone 管理员令牌已弃用,但可用于与旧环境集成。

type:

str

rgw_keystone_admin_tenant

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

type:

str

rgw_keystone_admin_user

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

type:

str

rgw_keystone_admin_password

使用 OpenStack 身份 API v2 时 OpenStack 管理员用户的密码。rgw_keystone_admin_password_path以避免暴露令牌。

type:

str

rgw_keystone_admin_password_path

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

type:

str

rgw_keystone_accepted_roles

服务请求所需的角色。

type:

str

default:

Member, admin

rgw_keystone_token_cache_size

每个 Keystone 令牌缓存中的条目数上限。

type:

int

default:

10000

rgw_keystone_verify_ssl

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

type:

bool

default:

true

rgw_keystone_service_token_enabled

服务令牌支持允许传入请求包含一个

type:

bool

default:

false

参见:

rgw_keystone_service_token_accepted_roles, rgw_keystone_expired_token_cache_expiration

rgw_keystone_service_token_accepted_roles

创建服务令牌的用户必须具有这些角色之一才能被视为有效服务用户。

type:

str

default:

admin

参见:

rgw_keystone_service_token_enabled

rgw_keystone_expired_token_cache_expiration

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

type:

int

default:

3600

参见:

rgw_keystone_service_token_enabled

服务器端加密设置

rgw_crypt_s3_kms_backend

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

type:

str

default:

barbican

valid choices:
  • barbican

  • vault

  • testing

  • kmip

Barbican 设置

rgw_barbican_url

Barbican 服务器的 URL。

type:

str

rgw_keystone_barbican_user

具有访问Barbican用于Encryption.

type:

str

秘密的 OpenStack 用户名称

Barbican用户。

type:

str

关联的

使用 OpenStack 身份 API v2 时与Barbican用户关联的 OpenStack 租户名称

type:

str

rgw_keystone_barbican_project

使用 OpenStack 身份 API v3 时与Barbican用户关联的 OpenStack 域名称

type:

str

rgw_keystone_barbican_domain

使用 OpenStack 身份 API v3 时与Barbican用户关联的 OpenStack 域名称

type:

str

HashiCorp Vault 设置

rgw_crypt_vault_auth

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

type:

str

default:

token

valid choices:
  • token

  • agent

参见:

rgw_crypt_s3_kms_backend, rgw_crypt_vault_addr, rgw_crypt_vault_token_file

rgw_crypt_vault_token_file

如果身份验证方法是“token”,请提供令牌文件路径,出于安全原因,该文件只能由 Rados Gateway 读取。

type:

str

参见:

rgw_crypt_s3_kms_backend, rgw_crypt_vault_auth, rgw_crypt_vault_addr

rgw_crypt_vault_addr

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

type:

str

参见:

rgw_crypt_s3_kms_backend, rgw_crypt_vault_auth, rgw_crypt_vault_prefix

rgw_crypt_vault_prefix

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

type:

str

参见:

rgw_crypt_s3_kms_backend, rgw_crypt_vault_addr, rgw_crypt_vault_auth

rgw_crypt_vault_secret_engine

用于检索加密密钥的 Vault 秘密引擎:在 kv-v2 和 transit 之间选择。

type:

str

default:

transit

参见:

rgw_crypt_s3_kms_backend, rgw_crypt_vault_auth, rgw_crypt_vault_addr

rgw_crypt_vault_namespace

如果设置,Vault 命名空间为同一 Vault 企业实例上的团队和个人提供租户隔离,例如acme/tenant1

type:

str

参见:

rgw_crypt_s3_kms_backend, rgw_crypt_vault_auth, rgw_crypt_vault_addr

SSE-S3 设置

rgw_crypt_sse_s3_backend

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

type:

str

default:

vault

valid choices:
  • vault

rgw_crypt_sse_s3_vault_secret_engine

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

type:

str

default:

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,则当存储桶被删除时,相关的存储桶密钥将自动删除。

type:

str

default:

%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.

type:

str

default:

token

valid choices:
  • 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 读取。

type:

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.

type:

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.

type:

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 命名空间为同一 Vault 企业实例上的团队和个人提供租户隔离,例如acme/tenant1

type:

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 证书。

type:

bool

default:

true

rgw_crypt_sse_s3_vault_ssl_cacert

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

type:

str

rgw_crypt_sse_s3_vault_ssl_clientcert

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

type:

str

rgw_crypt_sse_s3_vault_ssl_clientkey

访问 vault 服务器客户端证书所需的私钥路径。

type:

str

QoS 设置

Nautilus 版本中的新功能。

更旧且现在非默认的``civetweb``前端使用一个线程模型,每个连接使用一个线程,因此在接受连接时自动受到rgw_thread_pool_size的限制。更新的默认前端在接收新连接方面不受线程池大小限制,因此在 Nautilus 发布中引入了调度器抽象以支持调度请求的其他方法。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.

目前调度器默认为限制器,限制活动连接到配置限制。基于 mClock 的 QoS 速率限制目前处于实验阶段,不推荐用于生产。RGW 的当前实现将 RGW ops 分为 admin、auth (swift auth, sts) metadata 和 data 请求。 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

Beast 前端将处理的并发 HTTP 请求的最大数量。调整此设置可以帮助在重负载下限制内存使用。

type:

int

default:

1024

参见:

rgw_frontends

rgw_scheduler_type

要使用的 RGW 调度器。有效值是throttler` and ``dmclock。目前默认为throttler,它限制 Beast 前端请求。dmclock` is *experimental* and requires the ``dmclock要包含在experimental_feature_enabled configuration option.

以下选项调整实验性 dmclock 调度器。有关 dmclock 的更多信息,请参阅基于 mClock 的 QoS. op_class对于以下标志,标志是admin, auth, metadatadata.

type:

str

default:

throttler

rgw_dmclock_auth_res

对象数据请求的 mclock 保留。

type:

float

default:

200.0

参见:

rgw_dmclock_auth_wgt, rgw_dmclock_auth_lim

对象数据请求的 mclock 权重。

mclock weight for object data requests

type:

float

default:

100.0

参见:

rgw_dmclock_auth_res, rgw_dmclock_auth_lim

对象数据请求的 mclock 限制。

mclock limit for object data requests

type:

float

default:

0.0

参见:

rgw_dmclock_auth_res, rgw_dmclock_auth_wgt

admin 请求的 mclock 保留。

admin 请求的 mclock 权重。

type:

float

default:

100.0

参见:

rgw_dmclock_admin_wgt, rgw_dmclock_admin_lim

rgw_dmclock_admin_wgt

mclock weight for admin requests

type:

float

default:

100.0

参见:

rgw_dmclock_admin_res, rgw_dmclock_admin_lim

admin 请求的 mclock 限制。

mclock limit for admin requests

type:

float

default:

0.0

参见:

rgw_dmclock_admin_res, rgw_dmclock_admin_wgt

对象数据请求的 mclock 保留。

对象数据请求的 mclock 保留。

type:

float

default:

500.0

参见:

rgw_dmclock_data_wgt, rgw_dmclock_data_lim

对象数据请求的 mclock 权重。

mclock weight for object data requests

type:

float

default:

500.0

参见:

rgw_dmclock_data_res, rgw_dmclock_data_lim

对象数据请求的 mclock 限制。

mclock limit for object data requests

type:

float

default:

0.0

参见:

rgw_dmclock_data_res, rgw_dmclock_data_wgt

元数据请求的 mclock 保留。

mclock reservation for metadata requests

type:

float

default:

500.0

参见:

rgw_dmclock_metadata_wgt, rgw_dmclock_metadata_lim

元数据请求的 mclock 权重。

mclock weight for metadata requests

type:

float

default:

500.0

参见:

rgw_dmclock_metadata_res, rgw_dmclock_metadata_lim

元数据请求的 mclock 限制。

mclock limit for metadata requests

type:

float

default:

0.0

参见:

rgw_dmclock_metadata_res, rgw_dmclock_metadata_wgt

D4N 设置

D4N 是一种缓存架构,它利用 Redis 来通过在 Ceph 对象网关 (RGW) 守护进程之间建立共享数据库来加快 S3 对象存储操作。

D4N 架构一次只能在一个 Redis 实例上运行。地址是可配置的,可以通过访问以下参数进行更改。

rgw_d4n_address

当前 D4N 实现支持一个 Redis 节点,D4N 目录、策略和整体过滤器与之通信。此默认值也是没有额外配置的 Redis 服务器将使用的地址。

type:

str

default:

127.0.0.1:6379

rgw_d4n_l1_datacache_persistent_path

D4N 的一个缓存后端选项是本地 SSD,它使用此路径来写入和读取对象数据。这是 D4N 过滤器选择的默认缓存后端。只有 SSD 缓存后端使用此路径来存储对象数据,因为 RedisDriver 使用 Redis 服务器,目前没有其他缓存后端实现可用。

type:

str

default:

/tmp/rgw_d4n_datacache/

rgw_d4n_l1_datacache_size

本地 SSD 缓存使用此选项来配置其大小(字节)。此选项不用于 Redis 缓存后端。

type:

size

default:

1Gi

rgw_d4n_l1_evict_cache_on_start

本地 SSD 缓存使用此选项来清除由

type:

bool

default:

true

rgw_d4n_l1_fadvise

例如,要绕过页面缓存 - POSIX_FADV_DONTNEED=4

type:

int

default:

4

rgw_d4n_libaio_aio_threads

SSD 缓存后端在初始化期间使用此选项来设置最多可用的 worker threads libaio 可能使用的数量。它不适用于 Redis 缓存后端。

type:

int

default:

20

参见:

rgw_thread_pool_size

rgw_d4n_libaio_aio_num

SSD 缓存后端在初始化期间使用此选项来设置最多可同时排队处理的 I/O 请求数量。它不适用于 Redis 缓存后端。

type:

int

default:

64

参见:

rgw_thread_pool_size

rgw_lfuda_sync_frequency

默认情况下,D4N 缓存使用最少使用动态老化 (LFUDA) 缓存替换策略。此类全局存储由策略算法使用的值。然而,这些值的一致性不是必要的,并且支持它们会添加额外的开销。因此,线程定期检索这些全局值并在满足特定条件时发布更新。此 Redis 线程在一个称为间隔的循环中完成此逻辑,该间隔由此选项设置。

type:

int

default:

60

rgw_d4n_l1_datacache_address

此地址用于配置 Redis 缓存后端连接。默认值与没有额外配置的 Redis 服务器使用的地址相同。SSD 缓存不使用此选项。

type:

str

default:

127.0.0.1:6379

Topic persistency settings

主题持久性将重复推送通知,直到它们成功。有关更多信息,请参阅Bucket Notifications.

默认行为是无限期地尽可能频繁地推送。使用这些设置,您可以控制重试失败通知的时间长度和/或重试的最大次数。

所有这些选项默认为0,这意味着持久性保留是无限的,并且通知会尽可能频繁地重试。

rgw_topic_persistency_time_to_live

持久性主题的保留时间(秒)

type:

uint

default:

0

rgw_topic_persistency_max_retries

发送持久性通知时尝试的最大次数。注意,一个值意味着没有重试,而零值意味着无限重试。

type:

uint

default:

0

rgw_topic_persistency_sleep_duration

两次尝试相同持久性通知之间的最小时间(秒)。注意,实际尝试之间的时间可能更长。

type:

uint

default:

0

由 Ceph 基金会带给您

Ceph 文档是一个社区资源,由非盈利的 Ceph 基金会资助和托管Ceph Foundation. 如果您想支持这一点和我们的其他工作,请考虑加入现在加入.