【分布式系统】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
相关推荐
lix的小鱼27 分钟前
spark和Hadoop之间的对比和联系
大数据·hadoop·spark
Lalolander32 分钟前
装备制造企业选型:什么样的项目管理系统最合适?
大数据·制造·工程项目管理·装备制造·epc项目管理·项目成本管控·业财一体化
island13141 小时前
【git#4】分支管理 -- 知识补充
大数据·git·elasticsearch
LCHub低代码社区1 小时前
钧瓷产业原始创新的许昌共识:技术破壁·产业再造·生态重构(一)
大数据·人工智能·维格云·ai智能体·ai自动化·大禹智库·钧瓷码
晴天彩虹雨2 小时前
Flink 数据清洗与字段标准化最佳实践
大数据·数据仓库·flink
一个数据大开发2 小时前
解读《数据资产质量评估实施规则》:企业数据资产认证落地的关键指南
大数据·数据库·人工智能
TTBIGDATA3 小时前
如何将 Apache Hudi 接入 Ambari?完整部署与验证指南
大数据·hadoop·ambari·hudi·bigtop·湖仓·自定义组件集成
科技在线4 小时前
科技赋能建筑新未来:中建海龙模块化建筑产品入选中国建筑首批产业化推广产品
大数据·人工智能
24k小善5 小时前
Flink TaskManager详解
java·大数据·flink·云计算
时序数据说5 小时前
时序数据库IoTDB在航空航天领域的解决方案
大数据·数据库·时序数据库·iotdb