查看ceph健康状态

1
2
[root@ceph1 ceph]# ceph health
HEALTH_OK

查看ceph集群quorum状态

1
[root@ceph1 ceph]# ceph quorum_status --format json-pretty

查看OSD状态

1
2
3
4
5
[root@ceph1 ceph]# ceph osd tree
ID CLASS WEIGHT TYPE NAME STATUS REWEIGHT PRI-AFF
-1 0.01949 root default
-3 0.01949 host ceph1
0 hdd 0.01949 osd.0 up 1.00000 1.00000

创建pool存储池

1
[root@ceph1 ceph]# ceph osd pool create data 64

这里强制选择pg_num和pgp_num,因为ceph集群不能自动计算pg数量。下面有一些官方建议的pg使用数量:

小于5个osd设置pg_num为128

5到10个osd设置pg_num为512

10到50个osd设置pg_num为1024

如果超过50个osd你需要自己明白权衡点,并且能自行计算pg_num的数量

初始化存储池

1
[root@ceph1 ceph]# rdb pool init {pool-name}

删除pool存储池

1
2
[root@ceph1 ceph]# ceph osd pool rm {pool-name} {pool-name} --yes-i-really-really-mean-it
# 注意注意注意!!!:要删除的pool-name必须写两次

解决删除pool报错

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# 其实执行代码:
ceph osd pool delete ecpool ecpool –yes-i-really-really-mean-it
# 就可以完成删除,但是此时有时候会报错:
Error EPERM: pool deletion is disabled; you must first set the mon_allow_pool_delete config option to true before you can destroy a pool
# 这是由于没有配置mon节点的 mon_allow_pool_delete 字段所致,解决办法就是到mon节点进行相应的设置。

# 解决方案:
注:1-3步的操作必须在mon节点上执行
// 打开mon节点的配置文件:
[root@node1 ceph]# vi /etc/ceph/ceph.conf
// 在配置文件中添加如下内容:
[mon]
mon allow pool delete = true
// 重启ceph-mon服务:
[root@node1 ceph]# systemctl restart ceph-mon.target
// 执行删除pool命令:
[root@node3 ~]# ceph osd pool delete ecpool ecpool –yes-i-really-really-mean-it
pool ‘ecpool’ removed

设置存储池配额

1
2
[root@ceph1 ceph]# ceph osd pool set-quota {pool-name} max_objects 10
# 文件数量限制到10

取消存储池配额

1
[root@ceph1 ceph]# ceph osd pool set-quota {pool-name} max_objects 0

查看存储池配额

1
2
3
4
[root@ceph1 ceph]# ceph osd pool get-quota data
quotas for pool 'data':
max objects: N/A
max bytes : N/A

查看当前现有的存储池

1
2
[root@ceph1 ceph]# ceph osd lspools
1 data,

查看存储池使用情况

1
2
3
4
5
6
7
8
[root@ceph1 ceph]# rados df
POOL_NAME USED OBJECTS CLONES COPIES MISSING_ON_PRIMARY UNFOUND DEGRADED RD_OPS RD WR_OPS WR
data 0B 0 0 0 0 0 0 0 0B 0 0B

total_objects 0
total_used 1.00GiB
total_avail 19.0GiB
total_space 20.0GiB

上传文件到存储池

1
[root@ceph1 ceph]# rados put obj-1 chrony.conf -p {pool-name}

查看存储池中的数据

1
[root@ceph1 ceph]# rados ls -p data 

重命名pool

1
[root@ceph1 ceph]# ceph osd pool rename {oldpoolname} {newpoolname}

生成存储池快照

1
[root@ceph1 ceph]# ceph osd pool mksnap {pool-name} {snap-name}

删除存储池快照

1
[root@ceph1 ceph]# ceph osd pool rmsnap {pool-name} {snap-name}

查看Ceph Mon节点

1
2
3
4
5
6
7
8
9
[root@host-node2 ceph]# ceph mon dump
dumped monmap epoch 1
epoch 1
fsid 5a28f45d-b1f1-4f75-a735-80d5021763f0
last_changed 2021-01-17 16:27:23.152888
created 2021-01-17 16:27:23.152888
0: 172.16.1.12:6789/0 mon.host-node2
1: 172.16.1.13:6789/0 mon.host-node3
2: 172.16.1.18:6789/0 mon.host-node8