ceph map相关
crush map 操作
ceph osd getcrushmap -o crushmap_compiled_filecrushtool -d crushmap_compiled_file -o crushmap_decompiled_filecat crushmap_decompiled_file * 看起来crush map 和osd map 不是完全一样root@node1:~# ceph osd getcrushmap -o crushmap_compiled_filegot crush map from osdmap epoch 73root@node1:~# ceph osd getmap -o osdmapgot osdmap epoch 73
mon map 操作
rbd相关
ceph 配置文件的调整
##这个关于mon的配置是 在6.0升级到6.1后需要修改的,否则可能造成 ceph -s 输出卡住。mon pg warn max per osd = 10240mon sync max payload size = 4096mon pg warn max object skew = 0
ceph debug
debug 设置完 需要记得关闭,否则日志很大
- 打开osd debug,
run time debug 调整
配置文件 debug 设置,保障重启后仍然有效
配置文件调整中有个格式
debug mon = 0/10debug paxos = 0/10- 格式说明:内存日志级别/文件日志级别
osd启动前运行脚本
通过pre start command 参数指定 脚本
[osd.8]host = 10.46.200.13public addr = 10.46.200.13cluster addr = 10.46.200.13filestore max sync interval = 3osd journal = /dev/disk/by-partlabel/85-osd-3-journalosd uuid = 08119283-4b03-469d-a72f-5877303f6306pre start command = /usr/local/bin/loop_osd_pre_start.sh 8 || true ##加上true 表示如果脚本执行失败,也会继续启动
ceph runtime参数调整
运行时参数调整 和 配置文件参数调整,参数的写法不太一样,运行时需要 下划线
runtime 写法如下 "osd_op_thread_timeout": "15", "osd_recovery_thread_timeout": "30", "osd_command_thread_timeout": "600", "filestore_op_thread_timeout": "60", "filestore_op_thread_suicide_timeout": "180",ceph.conf写法如下osd op thread_timeout = 150osd recovery thread timeout = 300osd command thread timeout = 6000filestore op thread timeout = 600filestore op thread suicide timeout = 1800
ceph osd set
ceph osd set noout# 集群停止恢复, 503 ceph osd set norecover 504 ceph osd set nobackfillceph osd unset noout
ceph 参数记录
控制jounal写入底层data的interval
有时候,底层磁盘的性能不足。
root@Storage-03:/var/log/ceph# ceph daemon osd.8 config show |grep interval |grep sync "filestore_max_sync_interval": "10",