Ceph 存储集群配置之配置 Ceph

命令

以下 CLI 命令用于配置集群:

  • ceph config dump: 将转储集群的整个配置数据库。

  • ceph config get <who>: 将转储特定守护程序或客户端的配置(例如,mds.a),存储在监视器的配置数据库中。

  • ceph config set <who> <option> <value>: 将在监视器的配置数据库中设置一个配置选项。

  • ceph config show <who>: 将显示正在运行的守护程序的报告运行配置。如果还有正在使用的本地配置文件或选项已在命令行或运行时被覆盖,则这些设置可能与监视器存储的设置不同。选项值的来源作为输出的一部分报告。

  • ceph config assimilate-conf -i <input file> -o <output file>: 将从输入文件中提取配置文件并将任何有效选项移动到监视器的配置数据库中。任何无法识别、无效或无法由监视器控制的设置都将在存储在输出文件中的简短配置文件中返回。此命令对于从旧配置文件转换到基于监视器的集中配置很有用。

帮助

您可以通过以下方式获得特定选项的帮助:

ceph config help <option>

请注意,这将使用编译到正在运行的监视器中的配置模式。如果您有一个混合版本的集群(例如,在升级期间),您可能还想从特定运行的守护进程中查询选项模式:

ceph daemon <name> config help [option]

例如:

$ ceph config help log_file
log_file - path to log file
  (std::string, basic)
  Default (non-daemon):
  Default (daemon): /var/log/ceph/$cluster-$name.log
  Can update at runtime: false
  See also: [log_to_stderr,err_to_stderr,log_to_syslog,err_to_syslog]

要么:

$ ceph config help log_file -f json-pretty
{
    "name": "log_file",
    "type": "std::string",
    "level": "basic",
    "desc": "path to log file",
    "long_desc": "",
    "default": "",
    "daemon_default": "/var/log/ceph/$cluster-$name.log",
    "tags": [],
    "services": [],
    "see_also": [
        "log_to_stderr",
        "err_to_stderr",
        "log_to_syslog",
        "err_to_syslog"
    ],
    "enum_values": [],
    "min": "",
    "max": "",
    "can_update_at_runtime": false
}

该level属性可以是basic、advanced或dev中的任何一个。dev选项供开发人员使用,通常用于测试目的,不建议运维人员使用。

运行时更改

在大多数情况下,Ceph 允许您在运行时更改守护程序的配置。此功能对于增加/减少日志输出、启用/禁用调试设置甚至运行时优化非常有用。

一般来说,可以通过ceph config set命令以通常的方式更新配置选项。例如,在特定 OSD 上启用调试日志级别:

ceph config set osd.123 debug_ms 20

请注意,如果在本地配置文件中也自定义了相同的选项,则监视器设置将被忽略(它的优先级低于本地配置文件)。

覆盖值

您还可以使用 Ceph CLI 上的tell或daemon接口临时设置选项。这些覆盖值是短暂的,因为它们仅影响正在运行的进程,并且在守护程序或进程重新启动时被丢弃/丢失。

可以通过两种方式设置覆盖值:

  1. 从任何主机,我们都可以通过网络向守护进程发送消息:
ceph tell <name> config set <option> <value>

例如:

ceph tell osd.123 config set debug_osd 20

tell命令还可以接受守护程序标识符的通配符。例如,要调整所有 OSD 守护程序的调试级别,请执行:

ceph tell osd.* config set debug_osd 20
  1. 从进程运行的主机,我们可以通过/var/run/ceph中的套接字直接连接到进程:
ceph daemon <name> config set <option> <value>

例如:

ceph daemon osd.4 config set debug_osd 20

请注意,在命令ceph config show输出中,这些临时值将显示为override.

查看运行时设置

您可以使用该ceph config show命令查看为正在运行的守护程序设置的当前选项。例如:

ceph config show osd.0

将向您显示该守护程序的(非默认)选项。您还可以通过以下方式查看特定选项:

ceph config show osd.0 debug_osd

或查看所有选项(即使是具有默认值的选项):

ceph config show-with-defaults osd.0

您还可以通过管理套接字从本地主机连接到正在运行的守护程序来观察它的设置。例如:

ceph daemon osd.0 config show

将转储所有当前设置:

ceph daemon osd.0 config diff

将仅显示非默认设置(以及值的来源:配置文件、监视器、覆盖等),并且:

ceph daemon osd.0 config get debug_osd

将报告单个选项的数值。

posted @ 2022-03-05 14:32  Varden  阅读(888)  评论(0编辑  收藏  举报