Ceph的设置
Posted lifei02
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ceph的设置相关的知识,希望对你有一定的参考价值。
Ceph的设置
一个Ceph集群至少运行两类进程:
- Ceph Monitor(ceph-mon)
- Ceph OSD Daemon(ceph-osd)
如果需要支持Ceph Filesystem则至少要运行一个Ceph Metadata Server(ceph-mds). 支持Ceph对象存储的集群需要运行Ceph Gateway进程(radosgw)
所有的守护进程都有一系列的默认值, 这部分是在ceph/src/common/config_opts.h中定义的, 可以通过配置文件来覆盖这些设置值
每个进程启动时, 默认从ceph.conf获取集群配置的设置. 以下是ceph.conf中涉及的配置:
Cluster Identity
Authentication settings
Cluster membership
Host names
Host addresses
Paths to keyrings
Paths to journals
Paths to data
Other runtime options
1. 读取顺序
Ceph相关进程在读取配置时, 遵循以下的查找顺序
- $CEPH_CONF环境变量所指定的配置
- -c path/path 参数所指定的配置
- /etc/ceph/ceph.conf
- ~/.ceph/config (HOME目录下.ceph目录的config文件)
- ./ceph.conf (当前目录下的ceph.conf)
2. 语法格式
Ceph配置文件使用INI语法, 使用#或;来注释, 例如
# 这是注释.
; 这也是注释
# 注释以#或;开始
# 注释所在每行的结尾也是注释的结束
# 建议在配置文件中加入相关的注释
3. 配置段
[global]
说明: 全局配置, 影响集群中的所有Ceph进程
样例: auth supported = cephx
[osd]
说明: osd相关配置, 对所有OSD生效, 会覆盖global相关的配置
样例: osd journal size = 1000
[mon]
说明: mon相关配置, 对所有MON生效, 会覆盖global相关的配置
样例: mon addr = 10.0.0.101:6789
[mds]
说明: mds相关配置, 对所有mds生效, 会覆盖global相关的配置
样例: host = myserver01
[client]
说明: ceph client相关配置 (例如, 挂载 Ceph Filesystems, 挂载 Ceph Block Devices, 等等.).
样例: log file = /var/log/ceph/radosgw.log
3.1 global设置
Global设置会影响集群中的所有Ceph实例. 全局化的配置建议放在Global配置段中, 对所有daemon生效, 同时你还可以在[osd],[mon],[mds]等配置段中覆盖对应的设置, 或在特定daemon的配置段如[osd.1]中来覆盖对应的配置. 在[osd],[mon],[mds]中覆盖对应的global设置, 将影响相关类型的所有Ceph daemon, 如果你只需要对某个daemon生效, 需要在特定daemon的配置段中设置
一个典型的全局设置如打开身份验证:
[global]
#在集群中的host之前打开认证
#v 0.54 或更早的版本
auth supported = cephx
#v 0.55 和 0.55之后的版本
auth cluster required = cephx
auth service required = cephx
auth client required = cephx
3.2 各类型daemon的设置
[osd]
# 针对所有osd的设置
[mon]
#针对所有mon的设置
[mds]
#针对所有mds的设置
3.3 指定daemon的设置
[osd.1]
# 针对osd.1实例的设置
[mon.a]
# 针对mon.a实例的设置
[mds.b]
# 针对mds.b实例的设置
如果你需要对Ceph Gateway某个client进行设置, 需要指定daemon类型和实例名, 使用.号分隔, 如下:
[client.radosgw.instance-name]
# 针对 radosgw某个实例的配置
元变量
使用元变量可以简化Ceph集群配置文件, Ceph会对应替换对应的变量值, Ceph元变量有点类似bash的变量, 以下是Ceph支持的变量名
变量名 | 说明 | 用法例子 | 默认值 |
---|---|---|---|
$cluster |
Ceph集群名,在同个硬件集群中运行多个Ceph集群时比较有用 | /etc/ceph/$cluster.keyring |
ceph |
$type |
实例的类型(如mon,mds,osd) | /var/lib/ceph/$type |
|
$id |
实例的标记符, 如osd.0则为0, mds.a则为a | /var/lib/ceph/$type/$cluster-$id |
|
$host |
实例所在的host的hostname | ||
$name |
等于type.id | /var/run/ceph/$cluster-$name.asok |
以上是关于Ceph的设置的主要内容,如果未能解决你的问题,请参考以下文章