【分布式系统】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
相关推荐
阿里云大数据AI技术16 小时前
StarRocks 助力数禾科技构建实时数仓:从数据孤岛到智能决策
大数据
Lx35220 小时前
Hadoop数据处理优化:减少Shuffle阶段的性能损耗
大数据·hadoop
武子康1 天前
大数据-99 Spark Streaming 数据源全面总结:原理、应用 文件流、Socket、RDD队列流
大数据·后端·spark
阿里云大数据AI技术2 天前
大数据公有云市场第一,阿里云占比47%!
大数据
Lx3522 天前
Hadoop容错机制深度解析:保障作业稳定运行
大数据·hadoop
T06205142 天前
工具变量-5G试点城市DID数据(2014-2025年
大数据
向往鹰的翱翔2 天前
BKY莱德因:5大黑科技逆转时光
大数据·人工智能·科技·生活·健康医疗
鸿乃江边鸟2 天前
向量化和列式存储
大数据·sql·向量化
IT毕设梦工厂2 天前
大数据毕业设计选题推荐-基于大数据的客户购物订单数据分析与可视化系统-Hadoop-Spark-数据可视化-BigData
大数据·hadoop·数据分析·spark·毕业设计·源码·bigdata
java水泥工2 天前
基于Echarts+HTML5可视化数据大屏展示-白茶大数据溯源平台V2
大数据·echarts·html5