日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網(wǎng)站首頁 編程語言 正文

Ceph分布式存儲集群Pool資源池簡介及使用小結_其它綜合

作者:Jiangxl~ ? 更新時間: 2022-07-29 編程語言

1.Pool資源池的概念

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

Pool資源池是Ceph存儲數(shù)據(jù)的邏輯分區(qū),起到Namespace命名空間的作用,不同的客戶端可以去使用不同的Pool資源池存儲數(shù)據(jù),Pool除了可以隔離數(shù)據(jù)之外,還可以針對不同的Pool資源池設置不同的優(yōu)化策略,比如副本數(shù)、數(shù)據(jù)清洗次數(shù)、數(shù)據(jù)塊及對象大小等等。

在Pool資源池中會包含一定數(shù)量的PG,PG里的對象會被存儲在不同的OSD中,Pool資源上也是分布到整個集群的

一個文件將數(shù)據(jù)寫入到Pool資源池的過程:

首先客戶端會從Cluster Map中讀取到集群各節(jié)點的信息,要寫入存儲的文件會被拆分成多個Object對象,這些Object對象都會被寫入到Pool資源池中,PG是建立在Pool資源池中的,一個Pool資源池中會有多個PG載體,Object對象文件最終會被存放在Pool資源池的PG目錄中,最后再通過CRUSH Rule算法將數(shù)據(jù)文件寫入到不同的OSD中。

Pool資源池與PG載體的關系:

在前面說到過Object對象文件都是存儲在OSD中的PG目錄中,主要是為了故障遷移時,直接遷移目錄會非常方便。

在這里提到了Pool資源池的概念,客戶端想要將數(shù)據(jù)寫入到Ceph存儲中,首先Ceph需要準備一個Pool資源池,為不同的客戶端提供不同的資源池,不同的資源池也可以設置不同的策略。

Pool資源池是建立在OSD之上的邏輯分區(qū),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的副本數(shù)為2,PGP的數(shù)量為1,那么所有的PG存放在OSD組合就只有一種情況,例如[OSD-1,OSD-2],此時所有的PG主從副本都會分別存放在OSD-1和OSD-2中,如果PGP的數(shù)量為2,那么PG存放在OSD中的組合就會有兩種情況,例如[OSD-1,OSD-2]和[OSD-1,OSD-3]。

PG的數(shù)量要和PGP的數(shù)量保持一致。

2.Pool資源池的基本操作

2.1.創(chuàng)建一個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

在創(chuàng)建Pool資源池的時候一定要指定pg_num和pgp_num參數(shù),因為Ceph集群不能自動計算PG的數(shù)量。

官方建議的PG使用數(shù)量:

  • 集群中小于5個OSD,則設置PG的數(shù)量為128。
  • 集群有5-10個OSD時,設置PG的數(shù)量為512。
  • 集群中有10-50個OSD時,設置PG的數(shù)量為1024.

當集群中超過50個OSD時,需要權衡PG的數(shù)量,有一種公式:

? (osd_number * 100)

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

? pool size

例如集群有90個OSD,Pool設置的副本數(shù)為3:(90*100)÷3=3000

PGP的數(shù)量要和PG的數(shù)量保持一致。

注意這個PG數(shù)量是集群所能承擔的總PG數(shù)量,每個資源池分配多個PG,還需要通過總的PG數(shù)乘以資源池占整個集群數(shù)據(jù)比例,最終拿到一個資源池應該分配多少個PG的數(shù)量。

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數(shù)量和PGP數(shù)量

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

查看pg的數(shù)量
[root@ceph-node-1 ~]# ceph osd pool get ceph-pool-1 pg_num
pg_num: 64
查看pgp的數(shù)量
[root@ceph-node-1 ~]# ceph osd pool get ceph-pool-1 pgp_num
pgp_num: 64

2.6.查看資源池的副本數(shù)量

副本數(shù)量默認為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數(shù)量以及PGP數(shù)量

修改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.設置資源池的副本數(shù)量

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

2.10.設置資源池的最大object對象數(shù)量

命令格式: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.查看資源池的統(tǒng)計信息

[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

原文鏈接:https://blog.csdn.net/weixin_44953658/article/details/125058536

欄目分類
最近更新