【分布式系统】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
相关推荐
行走的山峰9 小时前
ceph之osd扩容和缩容
ceph
hejingdong1239 小时前
ceph iscsi网关配置过程遇到的问题和解决办法
ceph·ceph iscsi·iscsi 网关
行走的山峰9 小时前
ceph简介
ceph
Lill_bin10 小时前
深入理解ElasticSearch集群:架构、高可用性与数据一致性
大数据·分布式·elasticsearch·搜索引擎·zookeeper·架构·全文检索
涛思数据(TDengine)11 小时前
TDengine 与 SCADA 强强联合:提升工业数据管理的效率与精准
大数据·时序数据库·tdengine
isNotNullX12 小时前
如何用SQL Server和Oracle进行数据同步?
大数据·数据库·sql·oracle
RwTo12 小时前
Elasticsearch 聚合搜索
大数据·elasticsearch·搜索引擎·全文检索
isNotNullX13 小时前
HBase在大数据实时处理中的角色
大数据·数据库·hbase
白总Server13 小时前
MySQL在大数据场景应用
大数据·开发语言·数据库·后端·mysql·golang·php
求学小火龙13 小时前
ElasticSearch介绍+使用
java·大数据·elasticsearch