Ceph常用命令

集群

1.启动一个ceph进程

启动mon进程
service ceph start  mon.node1
启动msd进程
service ceph start mds.node1
启动osd进程
 service ceph start osd.0

2.查看机器的监控状态

ceph health

3.查看ceph的实时运行状态

ceph -w

4.检查状态信息

ceph -s

5.查看ceph存储空间

ceph df

6.删除一个节点的所有ceph数据包

ceph-deploy purge node1
ceph-deploy purgedata node1

7.为ceph创建一个admin用户并未admin用户创建一个秘钥,把秘钥保存到/etc/ceph目录下:

ceph auth get-or-create client.admin mds 'allow' osd 'allow *' mon 'allow *' > /etc/ceph/ceph.client.admin.keyring
或
ceph auth get-or-create client.admin mds 'allow' osd 'allow *' mon 'allow *' -o /etc/ceph/ceph.client.admin.keyring

8.为osd.0创建一个用户并创建一个key

ceph auth get-or-create osd.0 mon 'allow rwx' osd 'allow *' -o /var/lib/ceph/osd/ceph-0/keyring

9.为mds.node1创建一个用户并创建一个key

ceph auth get-or-create mds.node1 mon 'allow rwx' osd 'allow *' mds 'allow *' -o /var/lib/ceph/mds/ceph-node1/keyring

10.查看ceph集群中的认证用户及相关的key

ceph auth list

11.删除急群众的一个认证用户

ceph auth del osd.0

12.查看集群的详细配置

ceph daemon mon.node1 config show | more

13.查看集群健康状态细节

ceph health detail

14.查看cephlog日志所在的目录

ceph-conf --name mon.node1 --show-config-value log_file

Monitor

1.查看monitor的状态信息

ceph mon stat

2.查看mon的选举状态

ceph quorum_status

3.查看monitor的映射信息

ceph mon dump

4.删除一个mon节点

ceph mon remove node1

5.获得一个正在运行的mon map,并保存在1.txt文件中

ceph mon getmap -o 1.txt

6.查看上面获得的map

monmaptool --print 1.txt 

7.把上面的mon map注入新加入的节点

ceph-mon -i node4 --inject-monmap 1.txt

8.查看mon的amin socket

ceph-conf --name mon.node1 --show-config-value admin_socket

9.查看mon的详细状态

ceph daemon mon.node1  mon_status 

10.删除一个mon节点

ceph mon remove os-node1

MSD

1.查看MDS的状态

ceph mds stat

2.查看msd的映射信息

ceph mds dump

3.删除一个MSD节点

ceph  mds rm 0 mds.node1

4.设置cephfs文件系统存储方式最大单个文件尺寸

ceph mds set max_file_size 1024000000000

OSD

1.查看ceph osd运行状态

ceph osd stat

2.查看osd映射信息

ceph osd dump

3.查看osd的目录树

ceph osd tree

4.down掉一个osd硬盘

 ceph osd down 0   #down掉osd.0节点

5.在集群中删除一个osd硬盘

ceph osd rm 0

6.在集群中删除一个osd 硬盘 crush map

ceph osd crush rm osd.0

7.查看最大osd的个数

ceph osd getmaxosd

8.设置最大的osd的个数(当扩大osd节点的时候必须扩大这个值)

 ceph osd setmaxosd 10

9.设置osd crush的权重为1.0

ceph osd crush set {id} {weight} [{loc1} [{loc2} ...]]
例如:
ceph osd crush set 3 3.0 host=node4
ceph osd tree
或者用下面的方式
ceph osd crush reweight osd.3 1.0
ceph osd tree

10.设置OSD的权重

ceph osd reweight 3 0.5

11.把一个osd节点逐出集群

ceph osd out osd.3

12.把逐出的osd加入集群

ceph osd in osd.3

13.暂停osd (暂停后整个集群不再接收数据)

set pauserd,pausewr 

14.再次开启osd (开启后再次接收数据)

ceph osd unpause

15.查看一个集群osd.2参数的配置

ceph --admin-daemon /var/run/ceph/ceph-osd.2.asok config show | less

PG组

1.查看PG组的映射信息

ceph pg dump

2.查看一个PG的map

ceph pg map 0.3f

3.查看PG状态

ceph pg stat

4.查询一个pg的详细信息

ceph pg  0.26 query

5.查看pg中stuck的状态

ceph pg dump_stuck unclean
ceph pg dump_stuck inactive
ceph pg dump_stuck stale

6.显示一个集群中的所有的pg统计

ceph pg dump --format plain

7.恢复一个丢失的pg

ceph pg {pg-id} mark_unfound_lost revert

8.显示非正常状态的pg

ceph pg dump_stuck inactive|unclean|stale

Pool

1.查看ceph集群中的pool数量

ceph osd lspools

2.在ceph集群中创建一个pool

ceph osd pool create jiayuan 100            #这里的100指的是PG组

3.为一个ceph pool配置配额

ceph osd pool set-quota data max_objects 10000

4.在集群中删除一个pool

ceph osd pool delete jiayuan  jiayuan  --yes-i-really-really-mean-it  #集群名字需要重复两次

5.显示集群中pool的详细信息

 rados df

6.给一个pool创建一个快照

 ceph osd pool mksnap data   date-snap 

7.删除pool的快照

 ceph osd pool rmsnap data date-snap

8.查看data池的pg数量

 ceph osd pool get data pg_num

9.设置data池的最大存储空间为100T(默认是1T)

 ceph osd pool set data target_max_bytes 100000000000000

10.设置data池的副本数是3

 ceph osd pool set data size 3

11.设置data池能接受写操作的最小副本为1

  ceph osd pool set data min_size 1

12.查看集群中所有pool的副本尺寸

ceph osd dump | grep 'replicated size'

13.设置一个pool的pg数量

 ceph osd pool set data pg_num 100

14.设置一个pool的pgp数量

 ceph osd pool set data pgp_num 100

15.设置一个池中object的大小

 ceph osd pool set-quota data max_objects 2048000              #单位为bytes

rados和rbd指令

rados命令使用方法
1.查看ceph集群中有多少个poll(只是查看pool)

rados lspools

2.查看ceph集群中有多少个pool,并且每个pool容量及利用情况

rados df 

3.创建一个pool

rados mkpool test

4.查看ceph pool中的ceph object (这里的object是以块形式存储的)

rados ls -p volumes | more

5.创建一个对象object

rados create test-object -p test

6.删除一个对象

rados rm test-object-1 -p test

rbd命令
1.查看ceph中一个pool里的所有镜像

rbd ls images

2.查看ceph pool中一个镜像的信息

rbd info -p images --image 74cb427c-cee9-47d0-b467-af217a67e60a

3.在test池中创建一个命名为zhanguo的10000M的镜像

rbd create -p test --size 10000 zhanguo
rbd -p test info zhanguo    #查看新建的镜像的信息

4.删除一个镜像

rbd rm  -p test  lizhanguo

5.调整一个镜像的尺寸

rbd resize -p test --size 20000 zhanguo
rbd -p test info zhanguo   #调整后的镜像大小

6.给一个镜像创建一个快照

rbd   snap ls  -p test zhanguo
rbd info test/zhanguo@zhanguo123

7.查看一个镜像文件的快照

rbd snap ls  -p volumes volume-7687988d-16ef-4814-8a2c-3fbd85e928e4

8.删除一个镜像文件的一个快照快照

    快照所在的池/快照所在的镜像文件           @ 快照
rbd snap rm volumes/volume-7687988d-16ef-4814-8a2c-3fbd85e928e4@snapshot-ee7862aa-825e-4004-9587-879d60430a12
info:Device or resource busy
上面不能删除显示的报错信息是此快照备写保护了,下面命令是删除写保护后再进行删除。
rbd snap unprotect volumes/volume-7687988d-16ef-4814-8a2c-3fbd85e928e4@snapshot-ee7862aa-825e-4004-9587-879d60430a12
rbd snap rm volumes/volume-7687988d-16ef-4814-8a2c-3fbd85e928e4@snapshot-ee7862aa-825e-4004-9587-879d60430a12

9.删除一个镜像文件的所有快照

rbd snap purge  -p volumes volume-7687988d-16ef-4814-8a2c-3fbd85e928e4

10.把ceph pool中的一个镜像导出

导出镜像
rbd export -p images --image 74cb427c-cee9-47d0-b467-af217a67e60a /root/aaa.img
2014-05-24 17:16:15.197695 7ffb47a9a700  0 -- :/1020493 >> 10.49.101.9:6789/0 pipe(0x1368400 sd=3 :0 s=1 pgs=0 cs=0 l=1 c=0x1368660).fault
Exporting image: 100% complete...done.
导出云硬盘
[root@node-44 ~]# rbd export -p volumes --image volume-470fee37-b950-4eef-a595-d7def334a5d6 /var/lib/glance/ceph-pool/volumes/Message-JiaoBenJi-10.40.212.24
2014-05-24 17:28:18.940402 7f14ad39f700  0 -- :/1032237 >> 10.49.101.9:6789/0 pipe(0x260a400 sd=3 :0 s=1 pgs=0 cs=0 l=1 c=0x260a660).fault
Exporting image: 100% complete...done.

11.把一个镜像导入ceph中 (但是直接导入是不能用的,因为没有经过openstack,openstack是看不到的)

rbd import /root/aaa.img -p images --image 74cb427c-cee9-47d0-b467-af217a67e60a  
Importing image: 100% complete...done.

Ceph CRUSH规则

1.把ceph的crush map导出并转换为文本格式

 #ceph osd getcrushmap -o test
 #crushtool -d test -o test1
上面两条命令的解释:先把crush map以二进制的形式导入到test文本,再用crushtool工具把test里的二进制数据转换成文本形式保存到test1文档里。

2.把重新写的ceph crush导入ceph集群

 #crushtool -c test1 -o test2    #把test1 转换成二进制形式
 #ceph osd setcrushmap -i test2  #把test2导入集群
  • 1
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值