ceph维护命令


一、集群
a.检查集群健康
ceph health
b.观察集群
ceph -w
c.集群的使用情况
ceph df
d.检查集群状态
ceph -s

二、 osd
a.检查 osd 状态
ceph osd stat
ceph osd dump
ceph osd tree
ID CLASS WEIGHT  TYPE NAME          STATUS REWEIGHT PRI-AFF 
-1       0.03049 root default                               
-2       0.00760     host consul-01                         
 0   hdd 0.00760         osd.0          up  1.00000 1.00000 
-3       0.01529     host consul-02                         
 1   hdd 0.00760         osd.1          up  1.00000 1.00000 
 4   hdd 0.00769         osd.4          up  1.00000 1.00000 
-4       0.00760     host consul-03                         
 2   hdd 0.00760         osd.2          up  1.00000 1.00000 

b. osd 停止/启动/查看状态
systemctl status ceph-osd@{{osd.ID}}
例如:systemctl status ceph-osd@0

c. 查看ceph集群被哪些客户端连接
[root@consul-02 ~]# rbd status kubernetes-dynamic-pvc-d9e4306f-c81a-11e7-a933-08002768bc4c -p my_pool
Watchers:
watcher=192.168.0.6:0/1878187450 client.114100 cookie=2


三、监视器 mon
a. 检查 mon 状态
ceph mon stat
ceph mon dump
ceph quorum_status 要检查监视器的法定人数状态

b. mon 停止/启动/查看状态
systemctl status ceph-mon@{{hostname}}
例如:systemctl status ceph-mon@consul-01

四、 mds 状态
ceph mds stat
ceph mds dump

五、用户管理
a. 列出用户
ceph auth list
b. 获取用户信息

ceph auth get client.admin

ceph auth export client.admin

c.新增用户

ceph auth add client.john mon 'allow r' osd 'allow rw pool=liverpool'
ceph auth get-or-create client.paul mon 'allow r' osd 'allow rw pool=liverpool'
ceph auth get-or-create client.george mon 'allow r' osd 'allow rw pool=liverpool' -o george.keyring
ceph auth get-or-create-key client.ringo mon 'allow r' osd 'allow rw pool=liverpool' -o ringo.key
d.修改用户权限
ceph auth get client.john
ceph auth caps client.john mon 'allow r' osd 'allow rw pool=liverpool'
ceph auth caps client.paul mon 'allow rw' osd 'allow rwx pool=liverpool'
ceph auth caps client.brian-manager mon 'allow *' osd 'allow *'
    删除权限:
ceph auth caps client.ringo mon ' ' osd ' '
d. 删除用户:
ceph auth del {TYPE}.{ID}
     其中  {TYPE}  是  client  、  osd  、  mon  或  mds  之一,  {ID}  是用户名或守护进程的 ID 。

五、查看或修改运行时配置:
启动 Ceph 存储集群时,各守护进程都从同一个配置文件(即默认的 ceph.conf )里查找它自己的配置。ceph.conf 中可配置参数很多,有时我们需要根据实际环境对某些参数进行修改。
修改的方式分为两种:直接修改 ceph.conf 配置文件中的参数值,修改完后需要重启 Ceph 进程才能生效。或在运行中动态地进行参数调整,无需重启进程。

a. 如果你想在运行时查看某一进程的配置,必须先登录对应主机,然后执行命令:
ceph daemon {daemon-name} config show | less
例如:
ceph daemon osd.0 config show | less
ceph daemon /var/run/ceph/ceph-osd.3.asok config show
ceph daemon /var/run/ceph/ceph-mon.consul-01.asok config show

b. 要在运行时激活 Ceph 的调试输出(即 dout() ),用 ceph tell 命令把参数注入运行时配置:
ceph tell {daemon-type}.{daemon id or *} injectargs --{name} {value} [--{name} {value}]
用 osd 、 mon 或 mds 替代 {daemon-type} 。还可以用星号( * )把配置应用到同类型的所有守护进程,或者指定具体守护进程的 ID 。例如,要给名为 ods.0 的 ceph-osd 守护进程提高调试级别,用下列命令:
ceph tell osd.0 injectargs --debug-osd 0/5
ceph tell 命令会通过 monitor 起作用。如果你不能绑定 monitor,仍可以登录你要改的那台主机然后用 ceph daemon 来更改。例如:
sudo ceph daemon osd.0 config set debug_osd 0/5

c、获取当前的参数
ceph daemon osd.1 config get mon_osd_full_ratio
{
"mon_osd_full_ratio": "0.98"
}
d、修改配置
ceph daemon osd.1 config set mon_osd_full_ratio 0.97
{
"success": "mon_osd_full_ratio = '0.97' "
}

六、同步配置文件到各个节点:
ceph-deploy --overwrite-conf config push consul-01 consul-02 consul-03

七、更改 pool 的副本数量:
ceph osd pool set test-pool size 3
可以随时更改,不过在生产环境下,要找负载低的时候,不然大量数据迁移影响负载。

八、存储池
1.列出存储池
    ceph osd lspools
2. 查看pool的img、snapshot 的使用量:
   rbd du -p kube
3. 查看osd的使用量:
     ceph osd df
3.创建存储池
    ceph osd pool  create  kube 128 128
4.增加磁盘
ceph-deploy osd prepare etcd-host0:sdd

查看对象正在使用的客户端:
rados -p kube listwatchers kubernetes-dynamic-pvc-d6f0802e-9dd5-11e7-a66f-1866da8c6175.rbd
watcher=192.168.1.4:0/3418766042 client.284106 cookie=75

到客户端所在主机取消内核映射:
rbd showmapped | grep ubernetes-dynamic-pvc-d6f0802e-9dd5-11e7-a66f-1866da8c6175
3  kube kubernetes-dynamic-pvc-d6f0802e-9dd5-11e7-a66f-1866da8c6175 -    /dev/rbd3

rbd unmap /dev/rbd3


ceph 不建议使用raid卡,如果带有raid卡,请设置为JBOD直通模式。

Ceph删除OSD上一个异常object
http://ceph.com/planet/ceph%E5%88%A0%E9%99%A4osd%E4%B8%8A%E4%B8%80%E4%B8%AA%E5%BC%82%E5%B8%B8object/

Ceph运维之换盘:
https://yq.aliyun.com/articles/72441
http://blog.csdn.net/signmem/article/details/49716985
注意:如果换上的磁盘曾经写过数据,先初始化磁盘:
  1. dd if=/dev/zero of=/dev/sdc bs=1M count=100  
  2. parted -s /dev/sdc mklabel GPT


故障修复例子:
1. 磁盘down例子: https://www.2cto.com/net/201704/633243.html

阵列卡控制工具:MegaCli

bugs:
参考:http://manjusri.ucsc.edu/2017/08/30/luminous-on-pulpos/
ceph -s
    pgs:     100.000% pgs unknown
             1200 unknown



  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值