1.4. Ceph 配置文件


Ceph 配置文件在启动时配置 Ceph 守护进程,这将覆盖其默认值。

提示

每个 Ceph 守护进程都有一系列默认值,由 ceph/src/common/config_opts.h 文件设置。

Ceph 默认配置文件的位置为 /etc/ceph/ceph.conf。您可以通过设置不同的路径来更改该位置:

  • 设置 $CEPH_CONF 环境变量中的路径。
  • 指定 -c 命令行参数,例如 -c path/ceph.conf

Ceph 配置文件采用一种 格式 的语法。您可以在前面的注释中用井号 (#) 或分号 (;) 添加注释。

示例

# <--A pound sign (#) sign precedes a comment.
# Comments always follow a semi-colon (;) or a pound (#) on each line.
# The end of the line terminates a comment.
# We recommend that you provide comments in your configuration file(s).
; A comment may be anything.

配置文件可以在 Ceph 存储集群中配置所有 Ceph 守护进程,或者在启动时配置特定类型的所有 Ceph 守护进程。要配置一系列守护进程,必须在接收配置的进程中包含设置,如下所示:

[global]
描述
[global] 下的设置会影响 Ceph Storage 集群中的所有守护进程。
示例
auth supported = cephx
[osd]
描述
[osd] 下的设置会影响 Ceph 存储集群中的所有 ceph-osd 守护进程,并覆盖 [global] 中的相同设置。
[mon]
描述
[mon] 下的设置会影响 Ceph 存储集群中的所有 ceph-mon 守护进程,并覆盖 [global] 中的相同设置。
示例
    [mon.host01]
     `host = host01`
     `mon_addr = 10.0.0.101`
    [mon.host02]
     `host = host02`
     `mon_addr = 10.0.0.102`
[client]
描述
[client] 下的设置会影响所有 Ceph 客户端。例如,挂载的 Ceph 块设备、Ceph 对象网关等。
示例
log file = /var/log/ceph/radosgw.log

全局设置会影响 Ceph 存储集群中所有守护进程的所有实例。将 [global] 标题用于 Ceph 存储集群中所有守护进程通用的值。您可以通过以下方式覆盖每个 [global] 选项:

  • 更改特定进程类型的选项:

    示例

    [OSD][mon]

或者

  • 更改特定进程的选项:

    示例

    [osd.1]

覆盖全局设置会影响所有子进程,除了您在特定守护进程中特别覆盖的子进程。

典型的全局设置涉及激活身份验证。

示例

[global]
#Enable authentication between hosts within the cluster.
auth_cluster_required = cephx
auth_service_required = cephx
auth_client_required = cephx

您可以指定适用于特定类型的守护进程的设置。当您指定 [osd][mon] 下的设置而不指定特定实例,则设置将分别应用于所有 OSD 或监控守护进程。全守护进程设置的示例是 osd 内存目标。

示例

[osd]
osd_memory_target = 5368709120

您可以为守护进程的特定实例指定设置。您可以通过输入类型,以句点 (.) 分隔来指定一个实例,或通过实例 ID 来指定实例。Ceph OSD 守护进程的实例 ID 始终是数字,但 Ceph 监视器可能会是字母数字。

示例

[osd.1]
# settings affect osd.1 only.

[mon.a]
# settings affect mon.a only.

典型的 Ceph 配置文件至少具有以下设置:

[global]
fsid = UNIQUE_CLUSTER_ID
mon_initial_members = NODE_NAME[, NODE_NAME]
mon_host = IP_ADDRESS[, IP_ADDRESS]

#All clusters have a front-side public network.
#If you have two NICs, you can configure a back side cluster
#network for OSD object replication, heart beats, backfilling,
#recovery, and so on
public_network = PUBLIC_NET[, PUBLIC_NET]
#cluster_network = PRIVATE_NET[, PRIVATE_NET]

#Clusters require authentication by default.
auth_cluster_required = cephx
auth_service_required = cephx
auth_client_required = cephx

#Choose reasonable numbers for your number of replicas
#and placement groups.
osd_pool_default_size = NUM  # Write an object n times.
osd_pool_default_min_size = NUM # Allow writing n copy in a degraded state.
osd_pool_default_pg_num = NUM
osd_pool_default_pgp_num = NUM

#Choose a reasonable crush leaf type.
#0 for a 1-node cluster.
#1 for a multi node cluster in a single rack
#2 for a multi node, multi chassis cluster with multiple hosts in a chassis
#3 for a multi node cluster with hosts across racks, and so on
osd_crush_chooseleaf_type = NUM

示例

[global]
cluster network = 10.74.250.101/21
fsid = 3e07d43f-688e-4284-bfb7-3e6ed5d3b77b
mon host = [v2:10.0.0.101:3300/0,v1:10.0.0.101:6789/0] [v2:10.0.0.102:3300/0,v1:10.0.0.102:6789/0] [v2:10.0.0.103:3300/0,v1:10.0.0.103:6789/0]
mon initial members = host01, host02, host03
osd pool default crush rule = -1
public network = 10.74.250.101/21

[osd]
osd memory target = 4294967296

[mon]
    [mon.host01]
     host = host01
     mon_addr = 10.0.0.101
    [mon.host02]
     host = host02
     mon_addr = 10.0.0.102

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.