赞
踩
目录
2.1.修改 pg_num 和 pgp_num 的数量为 128
2.4.推送 ceph.conf 配置文件给所有 mon 节点
3.2.推送 ceph.conf 配置文件给所有 mon 节点
接着上篇【分布式系统】ceph部署(命令+截图巨详细版)-CSDN博客
Ceph 客户端向 monitor 请求集群的状态,并向 Pool 中写入数据,数据根据 PGs 的数量,通过
CRUSH 算法将其映射到不同的 OSD 节点上,实现数据的存储。 这里我们可以把 Pool 理解为存
储 Object 数据的逻辑单元;当然,当前集群没有资源池,因此需要进行定义
- 创建一个 Pool 资源池,其名字为 mypool,PGs 数量设置为 64,设置 PGs 的同时还需要设置 PGP(通常PGs和PGP的值是相同的):
- PG (Placement Group),pg 是一个虚拟的概念,用于存放 object,PGP(Placement Group for Placement purpose),相当于是 pg 存放的一种 osd 排列组合
-
- cd /etc/ceph
- ceph osd pool create mypool 64 64
- ceph osd pool ls 或 rados lspools
- ceph osd lspools
ceph osd pool get mypool size
- ceph osd pool get mypool pg_num
- ceph osd pool get mypool pgp_num
- ceph osd pool set mypool pg_num 128
- ceph osd pool set mypool pgp_num 128
-
- ceph osd pool get mypool pg_num
- ceph osd pool get mypool pgp_num
- ceph osd pool set mypool size 2
-
- ceph osd pool get mypool size
- vim ceph.conf
- ......
- osd_pool_default_size = 2
ceph-deploy --overwrite-conf config push node01 node02 node03
- 删除存储池命令存在数据丢失的风险,Ceph 默认禁止此类操作,需要管理员先在 ceph.conf 配置文件中开启支持删除存储池的操作
- vim ceph.conf
- ......
- [mon]
- mon_allow_pool_delete = true
ceph-deploy --overwrite-conf config push node01 node02 node03
systemctl restart ceph-mon.target
ceph osd pool rm mypool mypool --yes-i-really-really-mean-it
OSD总数
小于5个,官方推荐 PG数为128
5~10个,官方推荐 PG数为512
10~50 个,官方推荐 PG数为1024
大于50个,参考公式 PG 数=( Target PGs per OSD )* (OSD # )* ( %Data ) / (Size)
举例
现有新建的Ceph集群,OSD不扩容,共60个OSD,Pool占用总空间50%,3个副本:
100x60x50%/3=1000->取最接近2的次方值 1024
- ceph osd pool create Pool 名 PG数 【PGP数】 #创建Pool
- ceph osd pool ls ceph osd lspools #查看Pool列表
- ceph osd pool get Pool 名 size | pg_num | pgp_num #查看Pool的副本数 | PG | PGP数
- ceph osd pool set Pool 名 size | pg_num | pgp_num #修改Pool的副本数 | PG | PGP数
- ceph osd pool rm Pool名 Pool名 --yes-i-really-really-mean-it #删除Pool ,需要先修改ceph配置文件,添加mon配置 mon_allow_pool_delete = true
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。