ceph 常用命令记录(完善中...)

ceph map相关

crush map 操作

ceph osd getcrushmap -o crushmap_compiled_file
crushtool -d crushmap_compiled_file -o crushmap_decompiled_file
cat crushmap_decompiled_file 

* 看起来crush map 和osd map 不是完全一样
root@node1:~# ceph osd getcrushmap -o crushmap_compiled_file
got crush map from osdmap epoch 73

root@node1:~# ceph osd getmap -o osdmap
got osdmap epoch 73

mon map 操作

rbd相关

ceph 配置文件的调整

##这个关于mon的配置是 在6.0升级到6.1后需要修改的,否则可能造成 ceph -s 输出卡住。
mon pg warn max per osd = 10240
mon sync max payload size = 4096
mon pg warn max object skew = 0

ceph debug

debug 设置完 需要记得关闭,否则日志很大

  • 打开osd debug,

run time debug 调整

配置文件 debug 设置,保障重启后仍然有效

配置文件调整中有个格式
debug mon = 0/10
debug paxos = 0/10

  • 格式说明:内存日志级别/文件日志级别

osd启动前运行脚本

通过pre start command 参数指定 脚本

[osd.8]
host = 10.46.200.13
public addr = 10.46.200.13
cluster addr = 10.46.200.13
filestore max sync interval = 3
osd journal = /dev/disk/by-partlabel/85-osd-3-journal
osd uuid = 08119283-4b03-469d-a72f-5877303f6306
pre 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 = 150
osd recovery thread timeout = 300
osd command thread timeout = 6000
filestore op thread timeout = 600
filestore op thread suicide timeout = 1800

ceph osd set

ceph osd set noout

# 集群停止恢复,
  503  ceph osd set norecover
  504  ceph osd set nobackfill

ceph 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",
    原文作者:shengguo
    原文地址: https://segmentfault.com/a/1190000008443846
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞