Ceph分布式存储集群Pool资源池简介及使用小结

 更新时间:2022年06月01日 10:47:47   作者:Jiangxl~  
这篇文章主要介绍了Ceph分布式存储集群Pool资源池的概念以及使用,Pool资源池是Ceph存储数据的逻辑分区,起到Namespace命名空间的作用,本文给大家介绍的非常详细,需要的朋友参考下吧

1.Pool资源池的概念

Pool资源池的官方文档:https://docs.ceph.com/en/pacific/rados/operations/pools/#create-a-pool

Pool资源池是Ceph存储数据的逻辑分区,起到Namespace命名空间的作用,不同的客户端可以去使用不同的Pool资源池存储数据,Pool除了可以隔离数据之外,还可以针对不同的Pool资源池设置不同的优化策略,比如副本数、数据清洗次数、数据块及对象大小等等。

在Pool资源池中会包含一定数量的PG,PG里的对象会被存储在不同的OSD中,Pool资源上也是分布到整个集群的

一个文件将数据写入到Pool资源池的过程:

首先客户端会从Cluster Map中读取到集群各节点的信息,要写入存储的文件会被拆分成多个Object对象,这些Object对象都会被写入到Pool资源池中,PG是建立在Pool资源池中的,一个Pool资源池中会有多个PG载体,Object对象文件最终会被存放在Pool资源池的PG目录中,最后再通过CRUSH Rule算法将数据文件写入到不同的OSD中。

Pool资源池与PG载体的关系:

在前面说到过Object对象文件都是存储在OSD中的PG目录中,主要是为了故障迁移时,直接迁移目录会非常方便。

在这里提到了Pool资源池的概念,客户端想要将数据写入到Ceph存储中,首先Ceph需要准备一个Pool资源池,为不同的客户端提供不同的资源池,不同的资源池也可以设置不同的策略。

Pool资源池是建立在OSD之上的逻辑分区,PG载体是建立在Pool资源池中的,一个Pool资源池中有几十个甚至几百个PG载体,还有PGP。

客户端写入的文件被拆分成多个Object对象后,首先会存储在PG载体中,而PG载体是在Pool资源池中,最后通过CRUSH算法写入到OSD中。

File—>Objec—>PG—>Pool—>OSD

Pool资源池中PG与PGP的关系:

PG是用来存放Object对象的,PGP相当于是PG存放在OSD的一种排列组合。

例如集群中有三个OSD,分别是OSD-1、OSD-2、OSD-3,如果Pool的副本数为2,PGP的数量为1,那么所有的PG存放在OSD组合就只有一种情况,例如[OSD-1,OSD-2],此时所有的PG主从副本都会分别存放在OSD-1和OSD-2中,如果PGP的数量为2,那么PG存放在OSD中的组合就会有两种情况,例如[OSD-1,OSD-2]和[OSD-1,OSD-3]。

PG的数量要和PGP的数量保持一致。

2.Pool资源池的基本操作

2.1.创建一个Pool资源池

命令格式:ceph osd create pool ${pool-name} ${pg_num} ${pgp_num}

[root@ceph-node-1 ~]# ceph osd pool create ceph-pool-1 64 64
pool 'ceph-pool-1' created

在创建Pool资源池的时候一定要指定pg_num和pgp_num参数,因为Ceph集群不能自动计算PG的数量。

官方建议的PG使用数量:

  • 集群中小于5个OSD,则设置PG的数量为128。
  • 集群有5-10个OSD时,设置PG的数量为512。
  • 集群中有10-50个OSD时,设置PG的数量为1024.

当集群中超过50个OSD时,需要权衡PG的数量,有一种公式:

​ (osd_number * 100)

pg_num = ------------------------------

​ pool size

例如集群有90个OSD,Pool设置的副本数为3:(90*100)÷3=3000

PGP的数量要和PG的数量保持一致。

注意这个PG数量是集群所能承担的总PG数量,每个资源池分配多个PG,还需要通过总的PG数乘以资源池占整个集群数据比例,最终拿到一个资源池应该分配多少个PG的数量。

2.2.为资源池设置应用模式

其实就是为资源池设置一个分类,有rbd、rgw、cephfs三种。

命令格式:ceph osd pool application enable {pool_name} rbd

[root@ceph-node-1 ~]# ceph osd pool application enable ceph-pool-1 rbd
enabled application 'rbd' on pool 'ceph-pool-1'

2.3.查看资源池设置的应用模式

[root@ceph-node-1 ~]# ceph osd pool application get ceph-rbd-data
{
    "rbd": {}
}

2.4.查看OSD所有的资源池

[root@ceph-node-1 ~]# ceph osd lspools
1 ceph-pool-1

2.5.查看资源池的PG数量和PGP数量

查看Pool资源池属性的命令格式;ceph osd pool get {poll_name} [parameter]

查看pg的数量
[root@ceph-node-1 ~]# ceph osd pool get ceph-pool-1 pg_num
pg_num: 64
查看pgp的数量
[root@ceph-node-1 ~]# ceph osd pool get ceph-pool-1 pgp_num
pgp_num: 64

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

副本数量默认为3个。

[root@ceph-node-1 ~]# ceph osd pool get ceph-pool-1 size
size: 3

2.7.查看资源池的类型

默认类型为replicated_rule(复制类型)。

[root@ceph-node-1 ~]# ceph osd pool get ceph-pool-2 crush_rule
crush_rule: replicated_rule

2.8.设置资源池的PG数量以及PGP数量

修改Pool资源池属性的命令格式;ceph osd pool set {poll_name} [parameter]

[root@ceph-node-1 ~]# ceph osd pool set ceph-pool-1 pg_num 128
set pool 1 pg_num to 128

[root@ceph-node-1 ~]# ceph osd pool set ceph-pool-1 pgp_num 128
set pool 1 pgp_num to 128

2.9.设置资源池的副本数量

[root@ceph-node-1 ~]# ceph osd pool set ceph-pool-1 size 2
set pool 1 size to 2

2.10.设置资源池的最大object对象数量

命令格式:ceph osd pool set-quota {pool_name} [max_objects {obj-count}] [max_bytes {bytes}]

[root@ceph-node-1 ~]# ceph osd pool set-quota ceph-pool-1 max_objects 10000
set-quota max_objects = 10000 for pool ceph-pool-1

2.11.重命名资源池

命令格式:ceph osd pool rename {current-pool-name} {new-pool-name}

[root@ceph-node-1 ~]# ceph osd pool rename ceph-pool-1 ceph-pool-2
pool 'ceph-pool-1' renamed to 'ceph-pool-2'

2.12.查看资源池的统计信息

[root@ceph-node-1 ~]# ceph df
RAW STORAGE:
    CLASS     SIZE       AVAIL      USED       RAW USED     %RAW USED 
    hdd       30 GiB     27 GiB     10 MiB      3.0 GiB         10.04 
    TOTAL     30 GiB     27 GiB     10 MiB      3.0 GiB         10.04 
 
POOLS:
    POOL            ID     PGS     STORED     OBJECTS     USED     %USED     MAX AVAIL 
    ceph-pool-2      1     128        0 B           0      0 B         0        13 GiB 

2.13.查看资源池的利用率

[root@ceph-node-1 ~]# rados df
POOL_NAME   USED OBJECTS CLONES COPIES MISSING_ON_PRIMARY UNFOUND DEGRADED RD_OPS  RD WR_OPS  WR USED COMPR UNDER COMPR 
ceph-pool-2  0 B       0      0      0                  0       0        0      0 0 B      0 0 B        0 B         0 B 

total_objects    0
total_used       3.0 GiB
total_avail      27 GiB
total_space      30 GiB

2.14.删除资源池

[root@ceph-node-1 ~]# ceph osd pool delete ceph-pool-2 --yes-i-really-really-mean-it

到此这篇关于Ceph分布式存储集群Pool资源池的概念以及使用的文章就介绍到这了,更多相关Ceph分布式存储集群内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 编码史记

    编码史记

    昨天听了一个同事的编码讲座,很精彩。想起了要写这个文章分享一下各种编码是如何产生的
    2012-04-04
  • Vscode的SSH插件远程连接Linux的实现步骤

    Vscode的SSH插件远程连接Linux的实现步骤

    本文主要介绍了Vscode的SSH插件远程连接Linux的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-04-04
  • 使用Spark进行实时流计算的方法

    使用Spark进行实时流计算的方法

    这篇文章主要介绍了用Spark进行实时流计算的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-08-08
  • Emscripten在Windows10下的安装和配置

    Emscripten在Windows10下的安装和配置

    这篇文章主要介绍了Emscripten在Windows10下的安装和配置,Emscripten 是一个完整的 WebAssembly开源编译器工具链,使用Emscripten可以参考平台说明,感兴趣的朋友一起看看吧
    2022-05-05
  • Atlassian系列产品及插件激活方法[JIRA8.19.0+]

    Atlassian系列产品及插件激活方法[JIRA8.19.0+]

    Atlassian家有很多产品,都真的非常好用。比如公司使用JIRA做项目管理,使用Confluence做文档、知识管理等(我个人用它来做笔记)。本文给大家分享Atlassian系列产品及插件激活方法[JIRA8.19.0+],感兴趣的朋友参考下吧
    2021-12-12
  • Hadoop文件的存储格式实例详解

    Hadoop文件的存储格式实例详解

    这篇文章主要介绍了Hadoop文件的存储格式,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-06-06
  • Keras搭建Efficientdet目标检测平台的实现思路

    Keras搭建Efficientdet目标检测平台的实现思路

    EfficientNet模型具有很独特的特点,这个特点是参考其它优秀神经网络设计出来的,本文以Efficientnet-B0和Efficientdet-D0为例,进行Efficientdet的解析,感兴趣的朋友一起看看吧
    2021-06-06
  • 详细讲解HDFS的高可用机制

    详细讲解HDFS的高可用机制

    本文详细讲解了HDFS的高可用机制。如果namenode出现问题,整个HDFS集群将不能使用,HDFS高可用(HA)方案就是为了解决这个问题而产生的,让我们一起来了解了解吧
    2021-08-08
  • 阿里巴巴开源 Dragonwell JDK 最新版本 8.1.1-GA 发布

    阿里巴巴开源 Dragonwell JDK 最新版本 8.1.1-GA 发布

    距离 Dragonwell JDK 第一个正式版本 8.0.0-GA 发布已经过去 3 个月了,项目在 Github 上的 stars 继续攀升达到了 1900。今天我们带来了最新版本 8.1.1-GA 的发布,包含了全新的特性和更新,需要的朋友可以参考下
    2019-10-10
  • 关于最新IDEA2020.2.1,2.2,3以上破解,激活失效,重新激活的问题

    关于最新IDEA2020.2.1,2.2,3以上破解,激活失效,重新激活的问题

    今天很多朋友找小编说idea2020.2.3版本激活失效了,下面通过本文给大家分享了最新IDEA2020.2.1,2.2,2.3,idea.3以上破解,激活失效,重新激活的解决方法,需要的朋友参考下吧
    2020-10-10

最新评论