注意
本文档适用于 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
启用
S3
API 是任何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
Ceph 对象网关缓存中的条目数。
- type:
int
- default:
25000
- 参见:
- 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_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 to0
.- 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
- 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_LENGTH
和HTTP_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_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
网关实例的领域名称。如果没有设置领域,则可以使用命令
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
一旦多站点的增量同步 mdlog 分片与其源同步,它将等待此长时间(秒)再轮询更多更改。
- type:
int
- default:
20
- 参见:
- rgw_bucket_sync_spawn_window
存储桶同步愿意并行处理的最多项目数(每个远程 bilog 分片)。
- type:
int
- default:
20
- 参见:
- rgw_data_sync_spawn_window
数据同步愿意并行处理的最多项目数(每个远程 datalog 分片)。
- type:
int
- default:
20
- 参见:
- rgw_meta_sync_spawn_window
元数据同步愿意并行处理的最多项目数(每个远程 mdlog 分片)。
- type:
int
- default:
20
- 参见:
重要
应该在同步开始后不更改rgw_data_log_num_shards
和rgw_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_token_expiration
Swift 令牌过期的秒数。
- type:
int
- default:
1 day
- rgw_swift_url
Ceph 对象网关 Swift API 的 URL。
- type:
str
- 参见:
- rgw_swift_url_prefix
Swift API 的 URL 前缀,以区别于 S3 API 端点。默认是
swift
,这使得 Swift API 在 URLhttp://host:port/swift/v1
(orhttp://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_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>
(orhttp://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_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 连接是否安全。启用此选项以信任代理发送的
Forwarded
和X-Forwarded-Proto
标头,以确定连接是否安全。这对于某些功能(例如服务器端加密)是必需的。(如果您在 radosgw 前面没有可信代理,则永远不要启用此设置,否则恶意用户将能够在任何请求中设置这些标头。)- type:
bool
- default:
false
- 参见:
rgw_crypt_require_ssl
日志设置
- rgw_log_nonexistent_bucket
启用 Ceph 对象网关记录不存在的存储桶的请求。
- type:
bool
- default:
false
- 参见:
- rgw_log_object_name
对象名称的日志格式。有关格式说明的更多详细信息,请参阅日期。
- type:
str
- default:
%Y-%m-%d-%H-%i-%n
- 参见:
- rgw_log_object_name_utc
记录的对象名称是否包括 UTC 时间。如果
false
,它使用本地时间。- type:
bool
- default:
false
- 参见:
- rgw_usage_max_shards
使用情况日志的最大分片数。
- type:
int
- default:
32
- 参见:
- rgw_usage_max_user_shards
用于单个用户使用情况日志的最大分片数。
- type:
int
- default:
1
- min:
1
- 参见:
- 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_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_ops_log_data_backlog
写入 Unix 域套接字的操作日志的最大数据积压大小。
- type:
size
- default:
5Mi
- 参见:
- rgw_usage_log_flush_threshold
使用情况日志中脏合并条目的数量,在同步时同步。
- type:
int
- default:
1024
- 参见:
- rgw_usage_log_tick_interval
每隔
n
seconds.- type:
int
- default:
30
- 参见:
- 刷新挂起的使用情况日志数据。
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_expired_token_cache_expiration
当给定有效服务令牌时,允许的过期令牌需要一个新的过期日期用于缓存。这是要添加到当前时间并设置在通过服务令牌验证的过期令牌上的秒数。
- type:
int
- default:
3600
- 参见:
服务器端加密设置
- 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
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 Vault
vault
).- 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 读取。
- rgw_crypt_sse_s3_vault_addr
Vault 服务器的基本地址,例如
http://vaultserver:8200
.
- rgw_crypt_sse_s3_vault_prefix
Vault 秘密 URL 前缀,可用于限制对秘密空间特定子集的访问,例如
/v1/secret/data
.
- rgw_crypt_sse_s3_vault_namespace
如果设置,Vault 命名空间为同一 Vault 企业实例上的团队和个人提供租户隔离,例如
acme/tenant1
- 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_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
,metadata
或data
.- type:
str
- default:
throttler
- rgw_dmclock_auth_res
对象数据请求的 mclock 保留。
- type:
float
- default:
200.0
- 参见:
- 对象数据请求的 mclock 权重。
mclock weight for object data requests
- type:
float
- default:
100.0
- 参见:
- 对象数据请求的 mclock 限制。
mclock limit for object data requests
- type:
float
- default:
0.0
- 参见:
- admin 请求的 mclock 保留。
admin 请求的 mclock 权重。
- type:
float
- default:
100.0
- 参见:
- rgw_dmclock_admin_wgt
mclock weight for admin requests
- type:
float
- default:
100.0
- 参见:
- admin 请求的 mclock 限制。
mclock limit for admin requests
- type:
float
- default:
0.0
- 参见:
- 对象数据请求的 mclock 保留。
对象数据请求的 mclock 保留。
- type:
float
- default:
500.0
- 参见:
- 对象数据请求的 mclock 权重。
mclock weight for object data requests
- type:
float
- default:
500.0
- 参见:
- 对象数据请求的 mclock 限制。
mclock limit for object data requests
- type:
float
- default:
0.0
- 参见:
- 元数据请求的 mclock 保留。
mclock reservation for metadata requests
- type:
float
- default:
500.0
- 参见:
- 元数据请求的 mclock 权重。
mclock weight for metadata requests
- type:
float
- default:
500.0
- 参见:
- 元数据请求的 mclock 限制。
mclock limit for metadata requests
- type:
float
- default:
0.0
- 参见:
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_d4n_libaio_aio_num
SSD 缓存后端在初始化期间使用此选项来设置最多可同时排队处理的 I/O 请求数量。它不适用于 Redis 缓存后端。
- type:
int
- default:
64
- 参见:
- 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. 如果您想支持这一点和我们的其他工作,请考虑加入现在加入.