修改集群配置
1. 查看运行时配置
如果你的 Ceph 存储集群在运行,而你想看一个在运行进程的配置,用下面的命令:
ceph daemon {daemon-type}.{id} config show | less
如果你现在位于 osd.0 所在的主机,命令将是:
ceph daemon osd.0 config show | less
2. 修改配置文件
Ceph 配置文件可用于配置存储集群内的所有守护进程、或者某一类型的所有守护进程。要配置一系列守护进程,这些配置必须位于能收到配置的段落之下,比如:
[global] 描述: [global] 下的配置影响 Ceph 集群里的所有守护进程。 实例: auth supported = cephx
[osd] 描述: [osd] 下的配置影响存储集群里的所有 ceph-osd 进程,并且会覆盖 [global] 下的同一选项。 实例: osd journal size = 1000
[mon] 描述: [mon] 下的配置影响集群里的所有 ceph-mon 进程,并且会覆盖 [global] 下的同一选项。 实例: mon addr = 10.0.0.101:6789
[mds] 描述: [mds] 下的配置影响集群里的所有 ceph-mds 进程,并且会覆盖 [global] 下的同一选项。 实例: host = myserver01
[client] 描述: [client] 下的配置影响所有客户端(如挂载的 Ceph 文件系统、挂载的块设备等等)。 实例: log file = /var/log/ceph/radosgw.log
全局设置影响集群内所有守护进程的例程,所以 [global] 可用于设置适用所有守护进程的选项。但可以用这些覆盖 [global] 设置:
在 [osd] 、 [mon] 、 [mds] 下更改某一类进程的配置。 更改特定进程的设置,如 [osd.1] 。 覆盖全局设置会影响所有子进程,明确剔除的例外。
3. 运行中动态调整
3.1 tell方式
3.1.1 调整mon的参数
#ceph tell mon.* injectargs '--{tunable value_to_be_set}'
$ ceph daemon mon.ceph-rbdbench-osd01 config get mon_osd_report_timeout
{
"mon_osd_report_timeout": "900"
}
ceph tell mon.* injectargs '--mon_osd_report_timeout 800'
$ ceph daemon mon.ceph-rbdbench-osd01 config get mon_osd_report_timeout
{
"mon_osd_report_timeout": "800"
}
3.1.2 调整osd的参数
#ceph tell osd.* injectargs '--{tunable value_to_be_set}'
3.1.3 调整mds的参数
#ceph tell mds.* injectargs '--{tunable value_to_be_set}'
3.2 daemon方式
3.2.1 获取当前的参数
# ceph daemon osd.1 config get mon_osd_full_ratio
{
"mon_osd_full_ratio": "0.98"
}
3.2.2 修改配置
# ceph daemon osd.1 config set mon_osd_full_ratio 0.97
{
"success": "mon_osd_full_ratio = '0.97' "
}
3.2.3 检查配置
# ceph daemon osd.1 config get mon_osd_full_ratio
{
"mon_osd_full_ratio": "0.97"
}
4. 两种设置的使用场景
Ceph 可以在运行时更改 ceph-osd 、 ceph-mon 、 ceph-mds 守护进程的配置,此功能在增加/降低日志输出、启用/禁用调试设置、甚至是运行时优化的时候非常有用。Ceph 集群提供两种方式的调整,使用 tell 的方式和 daemon 设置的方式。
4.1 tell方式
适合对整个集群进行设置,使用*号进行匹配,就可以对整个集群的角色进行设置,而出现节点异常无法设置时候,只会在命令行当中进行报错,不太便于查找
4.2 daemon方式
使用daemon进行设置的方式就是一个个的去设置,这样可以比较好的反馈,这个设置是需要在设置的角色所在的主机上进行设置,daemon的方式还提供通过asok去获取到进行的其他的信息,可以使用 ceph daemon osd.1 help去查询相关的可以使用的命令
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- XSS 攻击详解,为什么建议 Cookie 加上 HttpOnly 属性?
- 个性化调整坐标轴的颜色和位置
- matplotlib实现一页多图
- 用matplotlib实现画中画
- 为matplotlib设置不同的主题
- 模式利器 | MEIC污染源清单向WRF-Chem模式网格插值分配工具——meic2wrf
- Windows给力!可以扔掉Linux虚拟机了!
- 好慌,Redis这么多集群方案,要用哪种?
- 你真的了解MySQL 8.0 数据字典吗?
- 《调教命令行09》磁盘很廉价,放小电影最合适了
- 既保护隐私又快速训练,Facebook开源Opacus库,利用差分隐私训练PyTorch模型
- 为什么Java中1000==1000为false而100==100为true?
- Java自动化测试 (元素定位 23)
- Java自动化测试(webdriver常用API 24)
- Java自动化测试(特殊元素处理 25)