1.3. Ceph 配置数据库

Ceph Monitor 管理 Ceph 选项的配置数据库,通过存储整个存储集群的配置选项来集中管理配置管理。通过将 Ceph 配置集中到一个数据库中,从而简化了存储集群管理。

Ceph 用于设置选项的优先级顺序是:

  • 编译的默认值
  • Ceph 集群配置数据库
  • 本地 ceph.conf 文件
  • 运行时覆盖,使用 ceph daemon DAEMON-NAME config setceph tell DAEMON-NAME injectargs 命令

仍然可在本地 Ceph 配置文件中定义一些 Ceph 选项,默认为 /etc/ceph/ceph.conf。但是,对于 Red Hat Ceph Storage 5,ceph.conf 已被弃用。

cephadm 使用基本的 ceph.conf 文件,该文件仅包含连接到 Ceph 监控器、身份验证和获取配置信息的最小选项集合。在大多数情况下,cephadm 仅使用 mon_host 选项。要避免仅将 ceph.conf 用于 mon_host 选项,请使用 DNS SRV 记录来通过 monitor 执行操作。

重要

红帽建议您使用 assimilate-conf 管理命令将有效的选项从 ceph.conf 文件移至配置数据库中。有关 similate-conf 的更多信息,请参阅管理命令。

Ceph 允许您在运行时更改守护进程的配置。通过启用或禁用 debug 设置,此功能可用于增加或减少日志输出,甚至可用于运行时优化。

注意

当配置数据库和 Ceph 配置文件中存在相同的选项时,配置数据库选项的优先级低于 Ceph 配置文件中所设置的内容。

部分和掩码

正如您可以在全局范围内、或针对每个守护进程或针对 Ceph 配置文件内的特点守护进程配置 Ceph 选项一样,您也可以根据以下部分在配置数据库中配置 Ceph 选项。

部分描述

global

对所有守护进程和客户端有效。

mon

影响所有 Ceph 监控器。

mgr

影响所有 Ceph 管理器。

osd

影响所有 Ceph OSD。

mds

影响所有 Ceph 元数据服务器。

client

影响所有 Ceph 客户端,包括挂载的文件系统、块设备和 RADOS 网关。

Ceph 配置选项可以带有关联的掩码。这些掩码可以进一步限制选项应用到的守护进程或客户端。

掩码有两种形式:

type:location

type 是 CRUSH 属性,如 rackhostlocation 是属性类型的值。例如,host:foo 将选项限制为在 foo 主机上运行的守护进程或客户端。

示例

ceph config set osd/host:magna045 debug_osd 20

class:device-class

device-class 是 CRUSH 设备类的名称,如 hddssd。例如,class:ssd 会将选项限制为仅限由固态硬盘(SSD)支持的 Ceph OSD。这个掩码对客户端的非 OSD 守护进程没有影响。

示例

ceph config set osd/class:hdd osd_max_backfills 8

管理命令

可以通过子命令 ceph config ACTION 管理 Ceph 配置数据库。以下是您可以执行的操作:

ls
列出可用的配置选项。
dump
转储存储集群选项的整个配置数据库。
get WHO
转储特定守护进程或客户端的配置。例如,WH O 可以是一个守护进程,如 mds.a
set WHO OPTION VALUE
在 Ceph 配置数据库中设置配置选项,其中 WHO 是目标守护进程,OPTION 是要设置的选项,VALUE 是所需的值。
show WHO
为一个正在运行的守护进程显示报告的运行配置。如果使用了一个本地的配置文件,或选项已被命令行或在运行时被覆盖,则这些选项可能与 Ceph Monitor 存储的不同。另外,选项值的来源会报告为输出的一部分。
assimilate-conf -i INPUT_FILE -o OUTPUT_FILE
INPUT_FILE 中模拟配置文件,并将任何有效的选项移到 Ceph monitor 的配置数据库中。任何无法被识别、无效或无法由 Ceph Monitor 返回的选项在 OUTPUT_FILE 中存储的缩写配置文件中控制。此命令对于从旧配置文件迁移到集中式配置数据库非常有用。请注意,如果您使用一个配置,而监控器或其他守护进程对于同一组选项设置了不同的配置值,则最终结果将取决于文件使用的顺序。
help OPTION -f json-pretty
使用 JSON 格式输出显示特定 OPTION 的帮助信息。

其它资源