跳到内容跳到页面导航:上一页 [access key p]/下一页 [access key n]
documentation.suse.com / SUSE Enterprise Storage 7.1 文档 / 管理和操作指南 / 配置集群 / Ceph 集群配置
适用范围 SUSE Enterprise Storage 7.1

28 Ceph 集群配置

本章介绍如何通过配置选项配置 Ceph 集群。

28.1 配置 ceph.conf 文件

cephadm 使用基本 ceph.conf 文件,该文件中仅包含用于连接到 MON、身份验证和提取配置信息的最小选项集。在大多数情况下,这仅限于 mon_host 选项(虽然可以通过使用 DNS SRV 记录来避免该限制)。

重要
重要

ceph.conf 文件不再充当存储集群配置的中心位置,而是支持配置数据库(参见第 28.2 节 “配置数据库”)。

如果您仍然需要通过 ceph.conf 文件更改集群配置(例如,由于您使用的客户端不支持从配置数据库读取选项),则需要运行以下命令,并负责在整个集群维护和分发 ceph.conf 文件:

cephuser@adm > ceph config set mgr mgr/cephadm/manage_etc_ceph_ceph_conf false

28.1.1 访问容器映像内部的 ceph.conf

虽然 Ceph 守护进程在容器内运行,您仍然可以访问其 ceph.conf 配置文件。它作为主机系统上的以下文件绑定挂载

/var/lib/ceph/CLUSTER_FSID/DAEMON_NAME/config

CLUSTER_FSID 替换为 ceph fsid 命令返回的运行中集群的唯一 FSID,并将 DAEMON_NAME 替换为 ceph orch ps 命令列出的特定守护进程的名称。例如:

/var/lib/ceph/b4b30c6e-9681-11ea-ac39-525400d7702d/osd.2/config

要修改某个守护进程的配置,请编辑其 config 文件并重启动该守护进程:

# systemctl restart ceph-CLUSTER_FSID-DAEMON_NAME

例如:

# systemctl restart ceph-b4b30c6e-9681-11ea-ac39-525400d7702d-osd.2
重要
重要

cephadm 重新部署守护进程后,所有自定义设置都将丢失。

28.2 配置数据库

Ceph Monitor 负责管理影响整个集群行为的配置选项的中央数据库。

28.2.1 配置部分和掩码

MON 存储的配置选项可以位于全局部分、守护进程类型部分或特定守护进程部分中。此外,选项还可以具有与其关联的掩码,以进一步限制选项所适用的守护进程或客户端范围。掩码具有以下两种格式:

  • TYPE:LOCATION,其中 TYPErackhost 等 CRUSH 属性,而 LOCATION 为该属性的值。

    例如,host:example_host 会将该选项仅限用于在某个特定主机上运行的守护进程或客户端。

  • CLASS:DEVICE_CLASS,其中 DEVICE_CLASShddssd 等 CRUSH 设备类型的名称。例如,class:ssd 会将该选项仅限用于由 SSD 支持的 OSD。此掩码对非 OSD 守护进程或客户端无效。

28.2.2 设置和读取配置选项

使用以下命令可设置或读取集群配置选项。WHO 参数可以是部分名称、掩码或两者的组合,用斜杠 (/) 字符分隔。例如,osd/rack:foo 表示机架中名为 foo 的所有 OSD 守护进程。

ceph config dump

转储整个集群的整个配置数据库。

ceph config get WHO

转储存储在配置数据库中的特定守护进程或客户端(例如,mds.a)的配置。

ceph config set WHO OPTION VALUE

将配置选项设置为配置数据库中的指定值。

ceph config show WHO

显示某个运行中守护进程的已报告运行中配置。如果还使用了本地配置文件,或者在命令行上或运行时覆盖了选项,则这些设置可能与 Monitor 所存储的设置有所不同。选项值的来源会作为输出的一部分进行报告。

ceph config assimilate-conf -i INPUT_FILE -o OUTPUT_FILE

导入指定为 INPUT_FILE 的配置文件,并将任何有效选项存储到配置数据库中。任何无法识别、无效或 Monitor 无法控制的设置都将在存储为 OUTPUT_FILE 的缩写文件中返回。此命令对于从旧配置文件转换为基于 Monitor 的集中式配置非常有用。

28.2.3 在运行时配置守护进程

在大多数情况下,Ceph 允许您在运行时更改守护进程的配置。例如,当您需要增加或减少日志记录输出量时,或者在执行运行时集群优化时,这非常有用。

您可以使用以下命令更新配置选项的值:

cephuser@adm > ceph config set DAEMON OPTION VALUE

例如,要调整某个特定 OSD 上的调试日志级别,请运行:

cephuser@adm > ceph config set osd.123 debug_ms 20
注意
注意

如果在本地配置文件中还自定义了相同的选项,则将忽略 Monitor 设置,因为它的优先级低于配置文件。

28.2.3.1 覆盖值

您可以使用 telldaemon 子命令暂时修改选项值。此类修改只影响运行中进程,并会在守护进程或进程重启动后被丢弃。

有两种方法可以覆盖值:

  • 使用 tell 子命令从任何集群节点向某个特定守护进程发送消息:

    cephuser@adm > ceph tell DAEMON config set OPTION VALUE

    例如:

    cephuser@adm > ceph tell osd.123 config set debug_osd 20
    提示
    提示

    tell 子命令接受使用通配符作为守护进程标识符。例如,要调整所有 OSD 守护进程上的调试级别,请运行:

    cephuser@adm > ceph tell osd.* config set debug_osd 20
  • 使用 daemon 子命令通过 /var/run/ceph 中的套接字从运行进程的节点连接到某个特定守护进程:

    cephuser@adm > cephadm enter --name osd.ID -- ceph daemon DAEMON config set OPTION VALUE

    例如:

    cephuser@adm > cephadm enter --name osd.4 -- ceph daemon osd.4 config set debug_osd 20
提示
提示

使用 ceph config show 命令查看运行时设置(参见第 28.2.3.2 节 “查看运行时设置”)时,显示的暂时覆盖值将带有来源 override

28.2.3.2 查看运行时设置

查看某个守护进程的所有选项设置:

cephuser@adm > ceph config show-with-defaults osd.0

查看某个守护进程的的所有非默认选项设置:

cephuser@adm > ceph config show osd.0

检查某个特定选项:

cephuser@adm > ceph config show osd.0 debug_osd

您还可以从运行其进程的节点连接到某个运行中守护进程,并查看其配置:

cephuser@adm > cephadm enter --name osd.0 -- ceph daemon osd.0 config show

仅查看非默认设置:

cephuser@adm > cephadm enter --name osd.0 -- ceph daemon osd.0 config diff

检查某个特定选项:

cephuser@adm > cephadm enter --name osd.0 -- ceph daemon osd.0 config get debug_osd

28.3 config-key 储存

config-key 是 Ceph Monitor 提供的一项通用服务。它通过永久存储键值对简化了配置键的管理。config-key 主要由 Ceph 工具和守护进程使用。

提示
提示

添加新键或修改现有键后,重启动受影响的服务,以便使更改生效。有关操作 Ceph 服务的更多详细信息,请参见第 14 章 “Ceph 服务的操作

使用 命令可操作 config-keyconfig-key 存储。config-key 命令使用以下子命令:

ceph config-key rm KEY

删除指定键。

ceph config-key exists KEY

检查指定键是否存在。

ceph config-key get KEY

检索指定键的值。

ceph config-key ls

列出所有键。

ceph config-key dump

转储所有键及其值。

ceph config-key set KEY VALUE

存储具有给定值的指定键。

28.3.1 iSCSI 网关

iSCSI 网关使用 config-key 存储来保存或读取其配置选项。所有与 iSCSI 网关相关的键都以 iscsi 字符串作为前缀,例如:

iscsi/trusted_ip_list
iscsi/api_port
iscsi/api_user
iscsi/api_password
iscsi/api_secure

例如,如果需要两组配置选项,请使用另一个描述性关键字(例如 datacenterAdatacenterB)扩展前缀:

iscsi/datacenterA/trusted_ip_list
iscsi/datacenterA/api_port
[...]
iscsi/datacenterB/trusted_ip_list
iscsi/datacenterB/api_port
[...]

28.4 Ceph OSD 和 BlueStore

28.4.1 配置自动缓存大小调整

如果 tc_malloc 配置为内存分配器并且启用了 bluestore_cache_autotune 设置,可将 BlueStore 配置为自动调整其缓存大小。当前,此选项默认处于启用状态。BlueStore 会尝试将 OSD 堆内存使用率维持在 osd_memory_target 配置选项指定的目标大小之下。这是一种最优算法,而且缓存不会缩小到小于 osd_memory_cache_min 指定的大小。系统将根据优先级的层次选择缓存率。如果无法获取优先级信息,将使用 bluestore_cache_meta_ratiobluestore_cache_kv_ratio 选项作为备选。

bluestore_cache_autotune

在遵循最小值的要求下,自动调整为不同 BlueStore 缓存指定的比率。默认值是 true

osd_memory_target

如果启用了 tc_mallocbluestore_cache_autotune,该选项将尝试在内存中映射此数量的字节。

注意
注意

此数量可能与进程的 RSS 内存使用率并不完全匹配。虽然进程映射的堆内存总量一般应该保持为接近此目标的数量,但并不能保证内核会真正回收已取消映射的内存。

osd_memory_cache_min

如果启用了 tc_mallocbluestore_cache_autotune,该选项可设置用于缓存的最小内存量。

注意
注意

将此值设置得过小可能会导致严重的缓存抖动。

28.5 Ceph 对象网关

您可以通过多个选项来影响对象网关行为。如果未指定选项,将使用默认值。完整的对象网关选项列表如下:

28.5.1 一般设置

rgw_frontends

配置 HTTP 前端。请以逗号分隔的列表指定多个前端。每个前端配置可能包含一组以空格分隔的选项,每个选项的格式均为“键=值”或“键”。默认值为 beast port=7480

rgw_data

为对象网关设置数据文件的位置。默认值为 /var/lib/ceph/radosgw/CLUSTER_ID

rgw_enable_apis

启用指定的 API。默认值为“s3, swift, swift_auth, admin All APIs”。

rgw_cache_enabled

启用或禁用对象网关缓存。默认值是 true

rgw_cache_lru_size

对象网关缓存中的条目数。默认值为 10000。

rgw_socket_path

域套接字的套接字路径。FastCgiExternalServer 使用此套接字。如果您未指定套接字路径,对象网关将不会作为外部服务器运行。您在此处指定的路径须与 rgw.conf 文件中指定的路径相同。

rgw_fcgi_socket_backlog

fcgi 的套接字积压数据。默认值为 1024。

rgw_host

对象网关实例的主机,可以是 IP 地址或主机名。默认值为 0.0.0.0

rgw_port

实例用于侦听请求的端口号。如果未指定,对象网关将运行外部 FastCGI。

rgw_dns_name

所处理的域的 DNS 名称。

rgw_script_uri

如果请求中未设置 SCRIPT_URI,则作为其备选值。

rgw_request_uri

如果请求中未设置 REQUEST_URI,则作为其备选值。

rgw_print_continue

启用 100-continue(如果可正常工作)。默认值是 true

rgw_remote_addr_param

远程地址参数。例如,包含远程地址的 HTTP 字段或 X-Forwarded-For 地址(如果反向代理可正常工作)。默认值为 REMOTE_ADDR

rgw_op_thread_timeout

活动线程的超时(以秒为单位)。默认值为 600。

rgw_op_thread_suicide_timeout

对象网关进程停止前超时的时间(以秒为单位)。如果设置为 0(默认值),则表示禁用。

rgw_thread_pool_size

Beast 服务器的线程数。如果需要处理更多请求,请设置更高的值。默认为 100 个线程。

rgw_num_rados_handles

对象网关的 RADOS 集群句柄数。现在,每个对象网关工作线程都可以选择一个 RADOS 句柄并在其有效期内予以保留。未来版本中可能会弃用并移除此选项。默认值为 1。

rgw_num_control_oids

不同对象网关实例之间用于缓存同步的通知对象数量。默认值为 8。

rgw_init_timeout

对象网关放弃初始化前经过的秒数。默认值为 30。

rgw_mime_types_file

MIME 类型的路径和位置。用于对象类型的 Swift 自动检测。默认值为 /etc/mime.types

rgw_gc_max_objs

垃圾回收在一个垃圾回收处理周期内可处理的最大对象数量。默认值为 32。

rgw_gc_obj_min_wait

垃圾回收处理可删除和处理对象前需等待的最短时间。默认值为 2*3600。

rgw_gc_processor_max_time

两次连续的垃圾回收处理周期开始时所间隔的最长时间。默认值为 3600。

rgw_gc_processor_period

垃圾回收处理的周期时间。默认值为 3600。

rgw_s3_success_create_obj_status

create-obj 的备选成功状态响应。默认值为 0。

rgw_resolve_cname

对象网关是否应使用请求主机名字段的 DNS CNAME 记录(如果主机名与对象网关 DNS 名称不同)。默认为 false

rgw_obj_stripe_size

对象网关对象的对象条带大小。默认值为 4 << 20

rgw_extended_http_attrs

添加可对实体(例如,用户、存储桶或对象)设置的一组新属性。使用 POST 方法放置或修改实体时,可通过 HTTP 报头字段设置这些额外的属性。如果设置了这些属性,当针对实体请求 GET/HEAD 时,它们将作为 HTTP 字段返回。默认值为 content_foo, content_bar, x-foo-bar

rgw_exit_timeout_secs

无条件退出前等待进程的秒数。默认值为 120。

rgw_get_obj_window_size

单个对象请求的窗口大小(以字节为单位)。默认值为 16 << 20

rgw_get_obj_max_req_size

发送到 Ceph 存储集群的单次 GET 操作的请求大小上限。默认值为 4 << 20

rgw_relaxed_s3_bucket_names

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

rgw_list_buckets_max_chunk

列出用户存储桶时,在一次操作中检索的存储桶数量上限。默认值为 1000。

rgw_override_bucket_index_max_shards

表示存储桶索引对象的分片数量。设为 0(默认值)表示没有分片。不建议将此值设置得太大(例如 1000),因为这样会增加列出存储桶的成本。应在客户端或全局段落设置此变量,以便将其自动应用到 radosgw-admin 命令。

rgw_curl_wait_timeout_ms

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

rgw_copy_obj_progress

启用在费时较长的复制操作期间输出对象进度的功能。默认值是 true

rgw_copy_obj_progress_every_bytes

两次复制进度输出相隔的最小字节数。默认值为 1024*1024。

rgw_admin_entry

管理请求 URL 的入口点。默认值为 admin

rgw_content_length_compat

为设置了 CONTENT_LENGTH 和 HTTP_CONTENT_LENGTH 的 FCGI 请求启用兼容性处理。默认为 false

rgw_bucket_quota_ttl

已缓存配额信息的可信时长(以秒为单位)。经过此超时时间后,将从集群重新提取配额信息。默认值为 600。

rgw_user_quota_bucket_sync_interval

同步到集群前,存储桶配额信息的累计时长(以秒为单位)。在此期间,其他对象网关实例将不会看到与此实例上的操作相关的存储桶配额统计数据发生的更改。默认值为 180。

rgw_user_quota_sync_interval

同步到集群前,用户配额信息的累计时长(以秒为单位)。在此期间,其他对象网关实例将不会看到与此实例上的操作相关的用户配额统计数据发生的更改。默认值为 180。

rgw_bucket_default_quota_max_objects

每个存储桶的默认对象数量上限。如果未指定其他配额,此上限将对新用户设置,对现有用户无效。应在客户端或全局段落设置此变量,以便将其自动应用到 radosgw-admin 命令。默认值为 -1。

rgw_bucket_default_quota_max_size

每个存储桶的默认容量上限(以字节为单位)。如果未指定其他配额,此上限将对新用户设置,对现有用户无效。默认值为 -1。

rgw_user_default_quota_max_objects

用户的默认对象数量上限。这个数量包括该用户拥有的所有存储桶中的全部对象。如果未指定其他配额,此上限将对新用户设置,对现有用户无效。默认值为 -1。

rgw_user_default_quota_max_size

如果未指定其他配额,用户配额大小上限值(以字节为单位)将对新用户设置,对现有用户无效。默认值为 -1。

rgw_verify_ssl

发出请求时验证 SSL 证书。默认值是 true

rgw_max_chunk_size

将在单个操作中读取的数据块的最大大小。将值增至 4MB (4194304) 可以在处理大型对象时提高性能。默认值为 128kB (131072)。

多站点设置
rgw_zone

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

rgw_zonegroup

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

rgw_realm

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

rgw_run_sync_thread

如果领域中有其他要依据其同步的区域,则生成线程来处理数据和元数据的同步。默认值是 true

rgw_data_log_window

数据日志条目时段(以秒为单位)。默认值为 30。

rgw_data_log_changes_size

要为数据更改日志保存的内存内条目数。默认值为 1000。

rgw_data_log_obj_prefix

数据日志的对象名称前缀。默认值为“data_log”。

rgw_data_log_num_shards

保存数据更改日志的分片(对象)的数量。默认值为 128。

rgw_md_log_max_shards

元数据日志的最大分片数量。默认值为 64。

Swift 设置
rgw_enforce_swift_acls

强制实施 Swift 访问控制列表 (ACL) 设置。默认值是 true

rgw_swift_token_expiration

Swift 令牌过期时间(以秒为单位)。默认值为 24*3600。

rgw_swift_url

Ceph Object Gateway Swift API 的 URL。

rgw_swift_url_prefix

Swift StorageURL 中位于“/v1”部分前的 URL 前缀。此设置允许在同一主机上运行多个网关实例。出于兼容性考虑,请将此配置变量设为空,以便使用默认值“/swift”。使用显式前缀“/”会在根目录启动 StorageURL。

警告
警告

如果启用了 S3 API,将此选项设为“/”将不起作用。请注意,如果禁用 S3,将无法在多站点配置中部署对象网关。

rgw_swift_auth_url

未使用内部 Swift 身份验证时,用于验证 v1 身份验证令牌的默认 URL。

rgw_swift_auth_entry

Swift 身份验证 URL 的入口点。默认值为 auth

rgw_swift_versioning_enabled

启用 OpenStack Object Storage API 的对象版本控制。此选项可让客户端对应进行版本控制的容器设置 X-Versions-Location 属性。该属性指定存储已存档版本的容器的名称。出于访问控制验证(ACL 不在考虑范围之内)的原因,该属性必须由受版本控制的容器所属的同一用户所有。这些容器无法通过 S3 对象版本控制机制进行版本控制。默认为 false

日志记录设置
rgw_log_nonexistent_bucket

允许对象网关记录针对不存在的存储桶的请求。默认为 false

rgw_log_object_name

对象名称的日志记录格式。有关格式说明符的详细信息,请参见 man 1 date 手册页。默认值为 %Y-%m-%d-%H-%i-%n

rgw_log_object_name_utc

记录的对象名称是否包含 UTC 时间。如果设置为 false(默认值),则会使用本地时间。

rgw_usage_max_shards

用于使用率日志记录的最大分片数量。默认值为 32。

rgw_usage_max_user_shards

用于单个用户的使用率日志记录的最大分片数量。默认值为 1。

rgw_enable_ops_log

启用记录每个成功的对象网关操作的功能。默认为 false

rgw_enable_usage_log

启用使用率日志。默认为 false

rgw_ops_log_rados

是否应将操作日志写入 Ceph 存储集群后端。默认值是 true

rgw_ops_log_socket_path

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

rgw_ops_log_data_backlog

写入 Unix 域套接字的操作日志的数据积压大小上限。默认值为 5 << 20。

rgw_usage_log_flush_threshold

同步刷新前使用率日志中已合并的脏条目数量。默认值为 1024。

rgw_usage_log_tick_interval

每隔“n”秒刷新待处理使用率日志数据。默认值为 30。

rgw_log_http_headers

要包含在日志条目中的 HTTP 报头的逗号分隔列表。报头名称不区分大小写,使用完整报头名称格式,各单词间以下划线分隔。例如“http_x_forwarded_for”、“http_x_special_k”。

rgw_intent_log_object_name

要记录的日志对象名称的日志记录格式。有关格式说明符的详细信息,请参见 man 1 date 手册页。默认值为“%Y-%m-%d-%i-%n”。

rgw_intent_log_object_name_utc

要记录的日志对象名称是否包含 UTC 时间。如果设置为 false(默认值),则会使用本地时间。

Keystone 设置
rgw_keystone_url

Keystone 服务器的 URL。

rgw_keystone_api_version

应用于与 Keystone 服务器通讯的 OpenStack Identity API 的版本(2 或 3)。默认值为 2。

rgw_keystone_admin_domain

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

rgw_keystone_admin_project

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

rgw_keystone_admin_token

Keystone 管理员令牌(共享密钥)。在对象网关中,使用管理员令牌的身份验证的优先级高于使用管理员身份凭证的身份验证(选项 rgw keystone admin userrgw keystone admin passwordrgw keystone admin tenantrgw keystone admin projectrgw keystone admin domain)。管理员令牌功能被视为已弃用。

rgw_keystone_admin_tenant

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

rgw_keystone_admin_user

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

rgw_keystone_admin_password

使用 OpenStack Identity API v2 时 OpenStack 管理员用户的密码。

rgw_keystone_accepted_roles

处理请求需要具有的角色。默认值为“Member, admin”。

rgw_keystone_token_cache_size

每个 Keystone 令牌缓存中的条目数上限。默认值为 10000。

rgw_keystone_revocation_interval

令牌撤消检查间隔的时间(以秒为单位)。默认值为 15*60。

rgw_keystone_verify_ssl

向 Keystone 发出令牌请求时,验证 SSL 证书。默认值是 true

28.5.1.1 补充说明

rgw_dns_name

允许客户端使用 vhost 样式的存储桶。

vhost 样式访问表示使用 bucketname.s3-endpoint/object-path。与之相对,path 样式访问使用:s3-endpoint/bucket/object

如果设置了 rgw dns name,请确认 S3 客户端是否配置为将请求定向到 rgw dns name 指定的端点。

28.5.2 配置 HTTP 前端

28.5.2.1 Beast

port、ssl_port

IPv4 和 IPv6 侦听端口号。您可以指定多个端口号:

port=80 port=8000 ssl_port=8080

默认值为 80。

endpoint、ssl_endpoint

侦听地址采用“地址[:端口]”格式,其中,地址为采用点分隔十进制数字格式的 IPv4 地址字符串,或是采用以方括号括住的十六进制表示格式的 IPv6 地址。指定将仅侦听 IPv6 的 IPv6 端点。endpointssl_endpoint 的可选端口号分别默认为 80 和 443。您可以指定多个地址:

endpoint=[::1] endpoint=192.168.0.100:8000 ssl_endpoint=192.168.0.100:8080
ssl_private_key

此为可选设置,指定用于启用了 SSL 的端点的私用密钥文件路径。如果未指定,将使用 ssl_certificate 文件充当私用密钥。

tcp_nodelay

如果指定该选项,套接字选项将针对连接禁用 Nagle 的算法。这表示将会尽快发送数据包,而不会等到发生全缓冲或超时才发送。

“1”会对所有套接字禁用 Nagle 的算法。

“0”会使 Nagle 的算法保持启用状态(默认值)。

例 28.1︰ Beast 配置示例
cephuser@adm > ceph config set rgw.myrealm.myzone.ses-min1.kwwazo \
 rgw_frontends beast port=8000 ssl_port=443 \
 ssl_certificate=/etc/ssl/ssl.crt \
 error_log_file=/var/log/radosgw/beast.error.log

28.5.2.2 CivetWeb

port

侦听端口号。对启用了 SSL 的端口添加“s”后缀(例如,“443s”)。要绑定特定 IPv4 或 IPv6 地址,请使用“地址:端口”格式。您可以通过使用“+”联接多个端点或通过提供多个选项,来指定多个端点:

port=127.0.0.1:8000+443s
port=8000 port=443s

默认值为 7480。

num_threads

Civetweb 所生成以处理传入 HTTP 连接的线程数。此设置可有效限制前端可处理的并发连接数。

默认为 rgw_thread_pool_size 选项所指定的值。

request_timeout_ms

Civetweb 在放弃前需等待更多传入数据的时长(以毫秒为单位)。

默认值为 30000 毫秒。

access_log_file

访问日志文件的路径。您可以指定完整路径,或当前工作目录的相对路径。如果未指定(默认设置),将不会记录访问。

error_log_ file

错误日志文件的路径。您可以指定完整路径,或当前工作目录的相对路径。如果未指定(默认设置),将不会记录错误。

例 28.2︰ /etc/ceph/ceph.conf 中的示例 Civetweb 配置
cephuser@adm > ceph config set rgw.myrealm.myzone.ses-min2.ingabw \
 rgw_frontends civetweb port=8000+443s request_timeout_ms=30000 \
 error_log_file=/var/log/radosgw/civetweb.error.log

28.5.2.3 通用选项

ssl_certificate

用于启用了 SSL 的端点的 SSL 证书文件路径。

prefix

要插入到所有请求的 URI 中的前缀字符串。例如,仅支持 Swift 的前端可能会提供一个 /swift 的 URI 前缀。