【分布式系统】Ceph应用之资源池pool管理

目录

一.资源池Pool管理

1.查看资源池信息

1.1.查看资源池副本的数量

[1.2.查看 PG 和 PGP 数量](#1.2.查看 PG 和 PGP 数量)

2.修改资源池

[2.1.修改 pg_num 和 pgp_num 的数量为 128](#2.1.修改 pg_num 和 pgp_num 的数量为 128)

[2.2.修改 Pool 副本数量为 2](#2.2.修改 Pool 副本数量为 2)

[2.3.修改默认副本数为 2](#2.3.修改默认副本数为 2)

[2.4.推送 ceph.conf 配置文件给所有 mon 节点](#2.4.推送 ceph.conf 配置文件给所有 mon 节点)

2.5.去node节点检查一下

2.6.创建一个新池测试一下

3.删除资源池

3.1.开启支持删除存储池的操作

[3.2.推送 ceph.conf 配置文件给所有 mon 节点](#3.2.推送 ceph.conf 配置文件给所有 mon 节点)

3.3.去node节点检查一下

[3.4.所有 mon 节点重启 ceph-mon 服务](#3.4.所有 mon 节点重启 ceph-mon 服务)

[3.5.执行删除 Pool 命令](#3.5.执行删除 Pool 命令)

二.总结

1.一个Pool应该包含多少PG数

2.Pool管理操作


接着上篇【分布式系统】ceph部署(命令+截图巨详细版)-CSDN博客

一.资源池Pool管理

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

1.查看资源池信息

复制代码
ceph osd pool ls    或    rados lspools
ceph osd lspools

1.1.查看资源池副本的数量

复制代码
ceph osd pool get mypool size

1.2.查看 PG 和 PGP 数量

复制代码
ceph osd pool get mypool pg_num
ceph osd pool get mypool pgp_num

2.修改资源池

2.1.修改 pg_num 和 pgp_num 的数量为 128

复制代码
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

2.2.修改 Pool 副本数量为 2

复制代码
ceph osd pool set mypool size 2

ceph osd pool get mypool size

2.3.修改默认副本数为 2

复制代码
vim ceph.conf
......
osd_pool_default_size = 2

2.4.推送 ceph.conf 配置文件给所有 mon 节点

复制代码
ceph-deploy --overwrite-conf config push node01 node02 node03

2.5.去node节点检查一下

2.6.创建一个新池测试一下

3.删除资源池

3.1.开启支持删除存储池的操作

复制代码
删除存储池命令存在数据丢失的风险,Ceph 默认禁止此类操作,需要管理员先在 ceph.conf 配置文件中开启支持删除存储池的操作
vim ceph.conf
......
[mon]
mon_allow_pool_delete = true

3.2.推送 ceph.conf 配置文件给所有 mon 节点

复制代码
ceph-deploy --overwrite-conf config push node01 node02 node03

3.3.去node节点检查一下

3.4.所有 mon 节点重启 ceph-mon 服务

复制代码
systemctl restart ceph-mon.target

3.5.执行删除 Pool 命令

复制代码
ceph osd pool rm mypool mypool --yes-i-really-really-mean-it

二.总结

1.一个Pool应该包含多少PG数

OSD总数

小于5个,官方推荐 PG数为128

5~10个,官方推荐 PG数为512

10~50 个,官方推荐 PG数为1024

大于50个,参考公式 PG 数=( Target PGs per OSD )* (OSD # )* ( %Data ) / (Size)

  • Target PGs per OSD:表示每个OSD对应的PG数(如近期不扩容OSD数量可设置为100,如近期要扩容OSD数量可设置为200)
  • OSD #:表示当前OSD总数
  • %Data:当前Pool预计会占用ceph总存储空间的百分比
  • Size:当前Pool的副本数

举例

现有新建的Ceph集群,OSD不扩容,共60个OSD,Pool占用总空间50%,3个副本:

100x60x50%/3=1000->取最接近2的次方值 1024

2.Pool管理操作

复制代码
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
相关推荐
Qdgr_1 小时前
价值实证:数字化转型标杆案例深度解析
大数据·数据库·人工智能
选择不变1 小时前
日线周线MACD指标使用图文教程,通达信指标
大数据·区块链·通达信指标公式·炒股技巧·短线指标·炒股指标
高山莫衣1 小时前
git rebase多次触发冲突
大数据·git·elasticsearch
链上Sniper2 小时前
智能合约状态快照技术:实现 EVM 状态的快速同步与回滚
java·大数据·linux·运维·web3·区块链·智能合约
wx_ywyy67982 小时前
推客系统小程序终极指南:从0到1构建自动裂变增长引擎,实现业绩10倍增长!
大数据·人工智能·短剧·短剧系统·推客系统·推客小程序·推客系统开发
蚂蚁数据AntData2 小时前
从性能优化赛到社区Committer,走进赵宇捷在Apache Fory的成长之路
大数据·开源·apache·数据库架构
谷新龙0014 小时前
大数据环境搭建指南:基于 Docker 构建 Hadoop、Hive、HBase 等服务
大数据·hadoop·docker
FF-Studio6 小时前
【硬核数学】3. AI如何应对不确定性?概率论为模型注入“灵魂”《从零构建机器学习、深度学习到LLM的数学认知》
大数据·人工智能·深度学习·机器学习·数学建模·自然语言处理·概率论
嘉讯科技HIS系统8 小时前
嘉讯科技:医疗信息化、数字化、智能化三者之间的关系和区别
大数据·数据库·人工智能·科技·智慧医疗
lifallen10 小时前
Paimon vs. HBase:全链路开销对比
java·大数据·数据结构·数据库·算法·flink·hbase