Ceph常用命令

本文详细介绍了Ceph集群的管理命令,包括查询CEPH状态、OSD操作和CEPH服务管理等。涉及命令如`ceph -s`用于查看集群状态,`ceph osd`系列命令用于OSD的下线、拉起、逐出和加入等操作,以及`systemctl`重启相关服务。还涵盖了使用`ceph-deploy`工具进行集群部署和管理。

一:CEPH集群常用命令
1、CEPH状态查询常用命令
1、查看ceph集群状态:ceph -s

2、查看mon状态:ceph mon stat

状态说明:
集群内(in)
集群外(out)
或者且在运行(up)
挂了且不再运行(down)
3、查看osd状态:ceph osd stat

4、查看osd目录树:ceph osd tree

5、查看osd池:ceph osd lspool

2、osd操作常用命令
1、下线osd:ceph osd down 0:让编号为0的osd down掉,此时该osd不接受读写请求,但仍然活着

2、拉起osd:ceph osd up 0:让编号为0的osd up,此时该osd接受读写请求

3、将osd逐出集群:ceph osd out 0:将一个编号为0的osd逐出集群,此时可以做维护

4、将osd加入集群:ceph osd in 0:将一个编号为0的osd加入集群

5、删除osd:ceph osd rm 0:在集群中删除一个 osd,可能需要先 stop 该 osd,即 stop osd.0

6、删除host节点:ceph osd crush rm node1:在集群中删除一个host节点

7、查看最大osd个数:ceph osd getmaxosd:查看最大osd的个数,默认最大是4个osd节点

8、设置最大osd个数:ceph osd setmaxosd 20:设置最大osd个数

9、暂停osd:ceph osd pause:暂停后整个集群不再接受数据

10、开启osd:ceph osd unpause:开启后再次接收数据

11、创建pool池:ceph osd pool create vms(名称) 64(64是PG)

3、CEPH服务常用命令
1、重启mon服务:systemctl restart ceph-mon.target

2、重启osd服务:sysetmctl restart ceph-osd.target

3、重启mgr服务:systemctl restart ceph-mgr.target

4、ceph-deploy工具常用命令
1、使用ceph-deploy工具给c1 c2节点安装ceph:ceph-deploy install c1 c2

2、使用ceph-deploy工具创建一个集群(ct,c1,c2三个节点):ceph-deploy new ct c1 c2,此命令需要在ceph目录中敲,一般为/etc/ceph,没有需要创建

3、使用ceph-deploy工具创建mon(在ct,c1,c2三个节点上常见mon):ceph-deploy mon create ct c1 c2

4、使用ceph-deploy工具创建osd,并将osd加入集群中:ceph-deploy osd create ct:sdb c1:sdb c2:sdb

上述是同时创建3个OSD,或者也可以用下面三条命令创建
ceph-deploy create --date /dev/sdb ct
ceph-deploy create --date /dev/sdb c1
ceph-deploy create --date /dev/sdb c2
5、在管理节点分发配置文件到各个节点上去:ceph-deploy admin ct c1 c2

6、获取秘钥key:ceph-deploy mon create-initial

7、收集秘钥(在ct节点):ceph-deploy gatherkeys ct

9、创建mgr管理服务(ct c1 c2三个节点):ceph-deploy mgr create ct c1 c2

10、生成UUID:uuidgen

11、开启ceph监控:ceph osd pool application enable vms mon
12、
查看现有pool列表,删除默认的pool
ceph osd lspools
删除默认pool rbd
rados rmpool rbd rbd --yes-i-really-really-mean-it
13、创建pool
通常在创建pool之前,需要覆盖默认的pg_num,官方推荐:

若少于5个OSD, 设置pg_num为128。

5~10个OSD,设置pg_num为512。

10~50个OSD,设置pg_num为4096。

超过50个OSD,可以参考pgcalc计算。

本文的测试环境只有10个OSD,因此设置pg_num为512。

osd pool default pg num = 512
osd pool default pgp num = 512
创建pool语法:

ceph osd pool create {pool-name} {pg-num} [{pgp-num}] [replicated] \
     [crush-ruleset-name] [expected-num-objects]
ceph osd pool create {pool-name} {pg-num}  {pgp-num}   erasure \
     [erasure-code-profile] [crush-ruleset-name] [expected_num_objects]
比如:
ceph osd pool create test-pool 512

14、设置pool配额
支持object个数配额以及容量大小配额。

设置允许最大object数量为50000:

ceph osd pool set-quota test-pool max_objects 5000000

设置允许容量限制为200GB:

ceph osd pool set-quota test-pool max_bytes $((200 * 1024 * 1024 * 1024))

取消配额限制只需要把对应值设为0即可。

15、重命名pool
ceph osd pool rename test-pool test-pool-new

16、查看pool状态信息
rados df

17、创建快照
ceph支持对整个pool创建快照(和Openstack Cinder一致性组区别?),作用于这个pool的所有对象。但注意ceph有两种pool模式:

Pool Snapshot,我们即将使用的模式。创建一个新的pool时,默认也是这种模式。

Self Managed Snapsoht,用户管理的snapshot,这个用户指的是librbd,也就是说,如果在pool创建了rbd实例就自动转化为这种模式。

这两种模式是相互排斥,只能使用其中一个。因此,如果pool中曾经创建了rbd对象(即使当前删除了所有的image实例)就不能再对这个pool做快照了。反之,如果对一个pool做了快照,就不能创建rbd image了。

ceph osd pool mksnap test-pool test-pool-snapshot

删除快照
ceph osd pool rmsnap test-pool test-pool-snapshot

设置pool
通过以下语法设置pool的元数据:

ceph osd pool set {pool-name} {key} {value}

比如设置pool的冗余副本数量为3:

ceph osd pool set test-pool size 3

其他配置项参考文档。

通过get操作能够获取pool的配置值,比如获取当前pg_num:

ceph osd pool get test-pool pg_num

获取当前副本数:

ceph osd pool get test-pool size
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值