1、列出集群的存储池
ceph osd lspools
或
rados lspools
2、创建存储池
创建存储池前可以先看看存储池、PG 和 CRUSH 配置参考。最好在配置文件里重置默认 PG 数量,因为默认值并不理想。
ceph osd pool create {pool-name} {pg-num} [{pgp-num}] [replicated] [crush-ruleset-name] [expected-num-objects]
例:创建 testpool存储池
ceph osd pool create testpool 1024 1024
关于PG,参考https://docs.ceph.org.cn/rados/configuration/pool-pg-config-ref/
3、设置存储池配额
存储池配额可设置最大字节数、和/或每个存储池最大对象数。
ceph osd pool set-quota {pool-name} [max_objects {obj-count}] [max_bytes {bytes}]
例:
ceph osd pool set-quota testpool max_objects 10000
要取消配额,设置为 0 即可。
4、 删除存储池
格式:ceph osd pool delete {pool-name} [{pool-name} --yes-i-really-really-mean-it]
例,删除testpool存储池:
ceph osd pool delete testpool testpool --yes-i-really-really-mean-it
5、重命名存储池
要重命名一个存储池,执行:
ceph osd pool rename {current-pool-name} {new-pool-name}
6、查看存储池统计信息
rados df
7、给存储池做快照
要给某存储池做快照,执行命令:
ceph osd pool mksnap {pool-name} {snap-name}
8、删除存储池的快照
要删除某存储池的一个快照,执行命令:
ceph osd pool rmsnap {pool-name} {snap-name}
9、获取存储池选项值
要获取一个存储池的选项值,执行命令:
ceph osd pool get {pool-name} {key}
10、批量删除某个存储池下的文件
例:批量删除testpool存储池下file开头的文件
#!/bin/bash
img_list=$(rados -p testpool ls |grep file*)
for img in ${img_list}
do
rados -p test rm $img
done
参考:https://docs.ceph.org.cn/rados/operations/pools/