一、集群
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
注意:如果换上的磁盘曾经写过数据,先初始化磁盘:
- dd if=/dev/zero of=/dev/sdc bs=1M count=100
- 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