【分布式系统】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
相关推荐
kuankeTech6 分钟前
从“人肉跑退税”到“一键自动退”:外贸ERP助力企业数字化突围
大数据·人工智能·经验分享·软件开发·erp
FindAI发现力量14 分钟前
高效客户开发:摆脱低效推销,低成本稳定获客
大数据·人工智能·销售管理·ai销售·ai销冠·销售智能体
DX_水位流量监测20 分钟前
德希科技在线色度传感器
大数据·网络·人工智能·水质监测·水质传感器·水质厂家·农村供水水质监测方案
snpgroupcn21 分钟前
SAP 企业管理软件全解析:ERP 云技术架构与商业 AI 落地实践
大数据·人工智能
Elastic 中国社区官方博客24 分钟前
Elasticsearch:如何在 workflow 里调用一个 agent
大数据·人工智能·elasticsearch·搜索引擎·ai·全文检索
房产中介行业研习社37 分钟前
2026年3月房产中介房源管理系统使用体验评测
大数据·人工智能
盘古信息IMS42 分钟前
2026年注塑MES系统选型新思维:从技术架构到行业适配的全方位评估框架
大数据·架构
高频交易dragon1 小时前
claude实现缠论(买卖点)
大数据·python
IDZSY04301 小时前
从工具到协作者:AI Agent发展正在催生新型社交需求
大数据·人工智能
安全测评-Sean1 小时前
资产风险安全度量四象限闭环
大数据·安全度量