注:以下命令在root下运行没有问题,如果ceph集群用非root用户部署,请加sudo
1、创建pool操作:
ceph osd create pool ${poolname} ${pg_num} ${pgp_num}
这里强制选择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的数量
pg_num通用计算方法
(OSDs * 100)
Total PGs = ------------
pool size
2、在任意节点上查看集群pools:
1)ceph osd lspools
2)rados lspools
3)ceph osd dump | grep -i pool
3、在任意node上删除池
ceph osd pool delete ${poolname} ${poolname} --yes-i-really-really-mean-it
注:这里防止误删,需要输入两次池名,必须使用参数--yes-i-really-really-mean-it
4、修改pool的pg_num,pgp_num
ceph osd pool set ${poolname} pg_num ${pg_num}
ceph osd pool set ${poolname} pgp_num ${pgp_num}
注:pg_num=pgp_num,当且仅当修改完pgp_num之后,pool中pg才会有remap,backfill等操作
5、查看pool中所有对象
rados -p ${poolname} ls
注:查看对象所在osd可用命令 : ceph osd map ${poolname} ${objname}
6、重命名pool
ceph osd pool rename ${poololdname} ${newpoolname}
7、设置pool副本数
ceph osd pool set {poolname} size {num}
8、设置degrade最小副本数
ceph osd pool set {poolname} min_size {num}