寫(xiě)在前面
- 準(zhǔn)備考試,整理 Ceph 相關(guān)筆記
- 博文內(nèi)容涉及, Ceph 中的 兩種 pool 介紹,創(chuàng)建操作管理池
- 理解不足小伙伴幫忙指正
對(duì)每個(gè)人而言,真正的職責(zé)只有一個(gè):找到自我。然后在心中堅(jiān)守其一生,全心全意,永不停息。所有其它的路都是不完整的,是人的逃避方式,是對(duì)大眾理想的懦弱回歸,是隨波逐流,是對(duì)內(nèi)心的恐懼 ——赫爾曼·黑塞《德米安》
創(chuàng)建和配置池
了解池的含義
池是存儲(chǔ)對(duì)象的邏輯分區(qū)
。相當(dāng)于硬盤分區(qū),Ceph客戶端將 對(duì)象寫(xiě)入池
的一般步驟:
-
連接集群
: Ceph客戶機(jī)需要集群名稱
(默認(rèn)情況下是Ceph)和一個(gè)監(jiān)視器地址
來(lái)連接到集群,Ceph客戶端通常從Ceph配置文件
中獲取這些信息,或者通過(guò)指定為命令行參數(shù)來(lái)獲取 -
檢索池
:Ceph客戶端使用集群映射
檢索到的池列表
來(lái)確定存儲(chǔ)新對(duì)象
的位置 -
映射PG
:Ceph客戶端創(chuàng)建一個(gè)輸入/輸出
上下文到一個(gè)特定的池,Ceph 集群使用CRUSH算法
將這些池
映射到放置組PG
,然后放置組映射到特定的osd
池為集群提供了一層 彈性
,因?yàn)槌囟x了可以在不丟失數(shù)據(jù)
的情況下發(fā)生故障
的osd的數(shù)量
池類型
可用的池類型有復(fù)制池和糾刪代碼池
,工作負(fù)載的用例和類型可以幫助確定要?jiǎng)?chuàng)建復(fù)制池還是糾刪代碼池
-
復(fù)制池
是默認(rèn)
的池類型,通過(guò)將各個(gè)對(duì)象復(fù)制到多個(gè)OSD
來(lái)發(fā)揮作用,它們需要更多的存儲(chǔ)空間, 因?yàn)闀?huì)創(chuàng)建多個(gè)對(duì)象副本,但讀取操作不受副本丟失的影響,對(duì)于經(jīng)常訪問(wèn)并且需要快速讀取
性能的數(shù)據(jù),復(fù)制池通常都是更好的選擇。 -
糾刪代碼池
需要的存儲(chǔ)空間和網(wǎng)絡(luò)帶寬較小,但因?yàn)槠媾夹r?yàn)計(jì)算,計(jì)算開(kāi)銷會(huì)更高一些,對(duì)于不需要頻繁訪問(wèn)且不需要低延遲
的數(shù)據(jù),糾刪代碼池通常是更好的選擇。
每一種池的恢復(fù)時(shí)間取決于特定的部署和故障情景
,創(chuàng)建池后,不能修改池的類型
池屬性
在創(chuàng)建池時(shí),您必須指定特定的屬性:
-
pool name
,必須在集群中唯一 -
pool type
,決定了池用于確保數(shù)據(jù)持久性的保護(hù)機(jī)制
-
replicated
類型,將每個(gè)對(duì)象的多個(gè)副本
分發(fā)到集群中 -
erasure coded
類型,將每個(gè)對(duì)象分割為多個(gè)區(qū)塊
,并將它們與額外的糾刪代碼區(qū)塊一起分發(fā),以使用自動(dòng)糾錯(cuò)機(jī)制來(lái)保護(hù)對(duì)象
-
- 池中的
placement groups (PG)
數(shù)量,這將其對(duì)象存儲(chǔ)到由CRUSH
算法決定的一組OSD
中 - 可選的
CRUSH rule set
,Ceph 使用它來(lái)標(biāo)識(shí)要用于存儲(chǔ)池對(duì)象的放置組
更改 osd_pool_default_pg_num
和 osd_pool_default_pgp_num
配置設(shè)置,以設(shè)置池的默認(rèn) PG
數(shù)
osd_pool_default_pg_num
: 該參數(shù)用于指定數(shù)據(jù)池的默認(rèn) PG 數(shù)量。PG(Placement Group)是 Ceph 中的一個(gè)概念,用于將對(duì)象分組存儲(chǔ)在 OSD 上以實(shí)現(xiàn)負(fù)載均衡和故障恢復(fù)。每個(gè)數(shù)據(jù)池都由一組 PG 組成。指定適當(dāng)?shù)?PG 數(shù)量可以提高性能和可靠性。
osd_pool_default_pgp_num
: 該參數(shù)用于指定對(duì)象池的默認(rèn) PGP(Placement Group Placement)數(shù)量,也可以理解為可用的PG 數(shù)量。PGP 是 PG 的子集,它們被映射到不同的 OSD 上以實(shí)現(xiàn)故障隔離。
PGP 的數(shù)量應(yīng)該等于或大于 OSD 的數(shù)量
,以確保數(shù)據(jù)可以在所有 OSD 上進(jìn)行平衡。
在 Ceph 中,PG 和 PGP 是兩個(gè)相關(guān)但不同的概念:
PG(Placement Group)
:PG 是一組對(duì)象的邏輯分組。在 Ceph 中,每個(gè)對(duì)象都分配到一個(gè) PG 中,并由一組 OSD 負(fù)責(zé)存儲(chǔ)和管理該 PG 中的所有對(duì)象。通過(guò)將對(duì)象分組成 PG,Ceph 可以實(shí)現(xiàn)負(fù)載均衡、故障恢復(fù)和數(shù)據(jù)可靠性等功能。
PGP(Placement Group Placement)
:PGP 是 PG 的子集,它們被映射到不同的 OSD 上以實(shí)現(xiàn)故障隔離。具體來(lái)說(shuō),當(dāng) Ceph 創(chuàng)建新的 PG 時(shí),它會(huì)使用 CRUSH 算法將 PG 映射到特定的 OSD。如果某個(gè) OSD 失效,那么該 OSD 上所有 PG 都需要重新映射到其他 OSD。PGP 使用類似于 RAID 恢復(fù)的技術(shù),可以將數(shù)據(jù)從故障 OSD 上復(fù)制到其他 OSD 上,以實(shí)現(xiàn)自我修復(fù)和容錯(cuò)性。
總之,PG 和 PGP 都是在 Ceph 中用于實(shí)現(xiàn)負(fù)載均衡和故障恢復(fù)功能的概念,但它們有不同的作用。PG 表示一組對(duì)象的邏輯分組,而 PGP 則表示 PG 映射到不同 OSD 上以實(shí)現(xiàn)故障隔離和自我修復(fù)。
創(chuàng)建池
創(chuàng)建復(fù)制池
Ceph
通過(guò)為每個(gè)對(duì)象創(chuàng)建多個(gè)副本
來(lái)保護(hù)復(fù)制池
中的數(shù)據(jù)
Ceph 使用 CRUSH 故障域算法來(lái)確定要將數(shù)據(jù)存儲(chǔ)在哪些 OSD 上。CRUSH 可以根據(jù)故障域(例如主機(jī)、機(jī)柜、機(jī)架等)將 OSD 分組,并根據(jù)一組規(guī)則將數(shù)據(jù)均勻地分布在它們之間,以實(shí)現(xiàn)負(fù)載均衡和故障恢復(fù)。使用 CRUSH 算法,Ceph 能夠快速重新生成數(shù)據(jù)并進(jìn)行自我修復(fù)。
當(dāng)客戶端向 Ceph 寫(xiě)入數(shù)據(jù)時(shí),主 OSD 確定要將數(shù)據(jù)寫(xiě)入的 OSD 副本數(shù)量,并計(jì)算應(yīng)該將數(shù)據(jù)寫(xiě)入哪些輔助 OSD 中。一旦完成寫(xiě)操作,主 OSD 將確認(rèn)寫(xiě)成功,并將結(jié)果發(fā)送給客戶端。
使用以下命令創(chuàng)建一個(gè)復(fù)制池
[ceph: root@node /]# ceph osd pool create pool-name pg-num pgp-num replicated crush-rule-name
其中:
-
pool_name
是新池的名稱 -
pg_num
是為這個(gè)池配置的放置組 (PG) 總數(shù) -
pgp_num
是這個(gè)池的有效放置組數(shù)量,將它設(shè)置為與 pg_num 相等 -
replicated
指定這是復(fù)制池,如果命令中未包含此參數(shù),這是默認(rèn)值 -
crush-rule-name
是想要?于這個(gè)池的 CRUSH 規(guī)則集的名稱,osd_pool_default_crush_replicated_ruleset
配置參數(shù)設(shè)置其默認(rèn)值
在初始配置池之后,可以調(diào)整池中放置組的數(shù)量,如果 pg_num 和 pgp_num 被設(shè)置為相同的數(shù)字,那么以后任何對(duì)pg_num 的調(diào)整都會(huì)自動(dòng)進(jìn)行調(diào)整 pgp_num 的值。
如果需要,對(duì) pgp_num 的調(diào)整會(huì)觸發(fā)跨 osd 的 pg 移動(dòng),以實(shí)現(xiàn)更改,使用以下命令在池中定義新的pg數(shù)量
[ceph: root@node /]# ceph osd pool set my_pool pg_num 32
使用 ceph osd pool create
命令創(chuàng)建池時(shí),不指定副本個(gè)數(shù)(size),osd_pool _default size
配置參數(shù)定義了副本的數(shù)量,默認(rèn)值為3
[ceph: root@node /]# ceph config get mon osd_pool_default_size
3
使用 ceph osd pool set pooI-name size number-of-replica
命令修改池大小,或者,更新osd_pool_default_size
配置設(shè)置的默認(rèn)設(shè)置
osd_pool_default_min_size
參數(shù)設(shè)置一個(gè)對(duì)象的拷貝數(shù),必須可以接受I/O的請(qǐng)求,缺省值為2
配置創(chuàng)建Erasure編碼池
Erasure
編碼池使用擦除編碼
代替復(fù)制來(lái)保護(hù)對(duì)象數(shù)據(jù)
存儲(chǔ)在 Erasure 編碼池中的對(duì)象被劃分為多個(gè)數(shù)據(jù)塊
,這些數(shù)據(jù)塊存儲(chǔ)在單獨(dú)的osd中,編碼塊的數(shù)量是根據(jù)數(shù)據(jù)塊計(jì)算出來(lái)的,并存儲(chǔ)在不同的osd中,當(dāng)OSD出現(xiàn)故障
時(shí),編碼塊用于重建對(duì)象的數(shù)據(jù),主OSD接收到寫(xiě)操作后,將寫(xiě)載荷編碼成K+M
塊,通過(guò)Erasure編碼池
發(fā)送給備OSD
Erasure 編碼池使用這種方法來(lái)保護(hù)它們的對(duì)象,并且與 復(fù)制池
不同,它不依賴于存儲(chǔ)每個(gè)對(duì)象的多個(gè)副本
總結(jié)Erasure編碼池的工作原理:
- 每個(gè)對(duì)象的數(shù)據(jù)被劃分為
k
個(gè)數(shù)據(jù)塊 - 計(jì)算
M
個(gè)編碼塊 - 編碼塊大小與數(shù)據(jù)塊大小相同
- 該對(duì)象總共存儲(chǔ)在
k + m
個(gè)osd上
Erasure編碼比復(fù)制更有效地利用存儲(chǔ)容量,復(fù)制池維護(hù)一個(gè)對(duì)象的n個(gè)副本,而糾刪編碼只維護(hù)
k + m
塊,例如,3
副本的復(fù)制池使用3
倍的存儲(chǔ)空間,k=4和m=2的Erasure編碼池只使用1.5倍的存儲(chǔ)空間
Red Hat 支持以下k+m
值,從而產(chǎn)生相應(yīng)的可用到原始比率:
-
4 + 2
(1:1.5比率) -
8 + 3
(1:1.375比率) -
8 + 4
(1:1.5比率)
erasure code 開(kāi)銷的計(jì)算公式為 nOSD * k / (k+m) * OSD 大小
,例如,
如果您有64個(gè)4TB的osd(總共256 TB), k=8, m=4,那么公式是 64 * 8 /(8+4)* 4 = 170.67
,然后將原始存儲(chǔ)容量除以開(kāi)銷,得到這個(gè)比率。256TB /170.67 TB = 1.5
與復(fù)制池相比,Erasure編碼池需要更少的存儲(chǔ)空間
才能獲得類似級(jí)別的數(shù)據(jù)保護(hù),從而降低存儲(chǔ)集群的成本
和規(guī)模。但是,計(jì)算編碼塊會(huì)增加Erasure編碼池的CPU處理和內(nèi)存
開(kāi)銷,從而降低整體性能
使用以下命令創(chuàng)建Erasure編碼池
[ceph: root@node /]# ceph \
osd pool create pool-name \
pg-num pgp-num \
erasure erasure-code-profile crush-rule-name
其中:
-
pool-name
是新池的名稱 -
pg-num
是這個(gè)池的放置組 (PG) 總數(shù) -
pgp-num
是這個(gè)池的有效放置組數(shù)量,通常而言,這應(yīng)當(dāng)與 PG 總數(shù)相等 -
erasure
指定這是糾刪代碼池 -
erasure-code-profile
要使?的配置文件的名稱,可以使用ceph osd erasure-code-profile set
命令創(chuàng)建新的配置?件,配置文件定義 k 和 m 值,以及要使用的糾刪代碼池插件。默認(rèn)情況下,Ceph 使用default 配置文件 -
crush-rule-name
是要用于這個(gè)池的 CRUSH 規(guī)則集的名稱。如果不設(shè)置,Ceph 將使用糾刪代碼池配置文件中定義的規(guī)則集
可以在池上配置放置組自動(dòng)伸縮,自動(dòng)縮放允許集群計(jì)算放置組的數(shù)量,并自動(dòng)選擇適當(dāng)?shù)膒g_num值,自動(dòng)縮放在 Ceph O版中是默認(rèn)啟用
的
[root@clienta ~]# ceph osd pool get replpool1 pg_autoscale_mode
pg_autoscale_mode: on
集群中的每個(gè)池都有一個(gè)pg_autoscale_mode
選項(xiàng),其值為on、off或warn
-
on
:啟用自動(dòng)調(diào)整池的PG
計(jì)數(shù) -
off
:禁用池的PG自動(dòng)伸縮 -
warn
:當(dāng)PG計(jì)數(shù)需要調(diào)整時(shí),引發(fā)健康警報(bào)并將集群健康狀態(tài)更改為HEALTH_WARN
[root@clienta ~]# ceph config get mon osd_pool_default_pg_autoscale_mode
on
[root@clienta ~]#
在 Ceph MGR
節(jié)點(diǎn)上啟用 pg_autoscaler
模塊,并將池的自動(dòng)縮放模式設(shè)置為 on
:
[ceph: root@node /]# ceph mgr module enable pg_autoscaler
module 'pg_autoscaler' is already enabled (always-on)
[ceph: root@node /]# ceph \
osd pool set pool-name pg_autoscale_mode on
set pool 7 pg_autoscale_mode to on
糾刪代碼池不能使用對(duì)象映射特性
,對(duì)象映射是一個(gè)對(duì)象索引,跟蹤rbd對(duì)象塊的分配位置,擁有池的對(duì)象映射可以提高調(diào)整大小、導(dǎo)出、扁平化和其他操作的性能。
Erasure Code配置文件
Erasure Code 配置文件配置你的 Erasure Code
池用來(lái)存儲(chǔ)對(duì)象的數(shù)據(jù)塊和編碼塊的數(shù)量,以及使用哪些 Erasure Code 插件和算法
創(chuàng)建配置文件來(lái)定義不同的糾刪編碼參數(shù)集,Ceph在安裝過(guò)程中自動(dòng)創(chuàng)建默認(rèn)概要文件,這個(gè)配置文件被配置為將對(duì)象分為兩個(gè)數(shù)據(jù)塊和一個(gè)編碼塊
使用以下命令創(chuàng)建一個(gè)新的概要文件
[ceph: root@node /]# ceph \
osd erasure-code-profile set profile-name arguments
以下是可用的參數(shù):
- k:跨osd分割的數(shù)據(jù)塊的數(shù)量,缺省值為2
- m:數(shù)據(jù)不可用前可能發(fā)生故障的osd數(shù)量,缺省值為1
- directory:這個(gè)可選參數(shù)是插件庫(kù)的位置,默認(rèn)值為/usr/lib64/ceph/erasure-code
- plugin:此可選參數(shù)定義要使用的糾刪編碼算法
-
crush-failure-domain:這個(gè)可選參數(shù)定義了CRUSH故障域,它控制塊的放置,默認(rèn)情況下,它被設(shè)置為
host
,這確保一個(gè)對(duì)象的塊被放置在不同主機(jī)的osd上,如果設(shè)置為osd
,那么一個(gè)對(duì)象的chunk可以放置在同一主機(jī)上的osd上,將故障域設(shè)置為osd,會(huì)導(dǎo)致主機(jī)上所有的osd故障,彈性較差,主機(jī)失敗,可以定義并使用故障域,以確保塊放置在不同數(shù)據(jù)中心機(jī)架或其他指定的主機(jī)上的osd上 - crush-device-class: 此可選參數(shù)僅為池選擇由該類設(shè)備支持的osd,典型的類可能包括hdd、ssd或nvme
- crush-root:該可選參數(shù)設(shè)置CRUSH規(guī)則集的根節(jié)點(diǎn)
- key=value:插件可能具有該插件特有的鍵值參數(shù)
- technique:每個(gè)插件提供一組不同的技術(shù),用于實(shí)現(xiàn)不同的算法
不能修改已存在存儲(chǔ)池的 erasure code 配置文件
- 使用
ceph osd erasure-code-profile ls
命令列出已存在的配置文件 - 使用
ceph osd erasure-code-profile get
命令查看已創(chuàng)建配置文件的詳細(xì)信息 - 使用
ceph osd erasure-code-profile rm
刪除已存在的配置文件
[root@serverc ~]# ceph osd erasure-code-profile ls
default
[root@serverc ~]# ceph osd erasure-code-profile get default
k=2
m=2
plugin=jerasure
technique=reed_sol_van
管理和操作池
查看、修改已創(chuàng)建的存儲(chǔ)池
可以查看、修改已創(chuàng)建的存儲(chǔ)池,并修改存儲(chǔ)池的配置信息
-
ceph osd pool rename
命令重命名池,這不會(huì)影響存儲(chǔ)在池中的數(shù)據(jù),如果重命名池,并且為經(jīng)過(guò)身份驗(yàn)證的用戶提供了每個(gè)池的功能,則必須使用新的池名稱更新用戶的功能 -
ceph osd pool delete
命令刪除 osd 池 -
ceph osd pool set pool_name nodelete true
: 命令可以防止指定池被刪除,使用實(shí)例將nodedelete設(shè)置為false以允許刪除池 -
ceph osd pool set
和ceph osd pool get
:命令查看和修改池配置 -
ceph osd lspoolls
和ceph osd pool ls detail
:命令列出池和池配置設(shè)置
[root@serverc ~]# ceph osd pool ls detail
pool 1 'device_health_metrics' replicated size 3 min_size 2 crush_rule 0 object_hash rjenkins pg_num 1 pgp_num 1 autoscale_mode on last_change 89 flags hashpspool stripe_width 0 pg_num_min 1 application mgr_devicehealth
-
pool 1
: 池 ID 號(hào)。 -
'device_health_metrics'
: 池名稱。 -
replicated size 3 min_size 2
: 池類型和副本數(shù)相關(guān)配置,此池為 replicated 類型,副本數(shù)為 3,最小副本數(shù)為 2。 -
crush_rule 0
: 使用的 CRUSH 規(guī)則 ID 號(hào)。 -
object_hash rjenkins
: 對(duì)象哈希算法。 -
pg_num 1 pgp_num 1
: PG 數(shù)量和 PGP 數(shù)量。 -
autoscale_mode on
: 自動(dòng)擴(kuò)縮容模式開(kāi)啟。 -
last_change 89
: 上次修改池的時(shí)間戳。 -
flags hashpspool stripe_width 0 pg_num_min 1
: 池其他標(biāo)志和屬性。 -
application mgr_devicehealth
: 應(yīng)用程序類型為 mgr_devicehealth。
ceph df
和ceph osd pool stats
:命令列出池的使用情況和性能統(tǒng)計(jì)信息
[root@serverc ~]# ceph df
--- RAW STORAGE ---
CLASS SIZE AVAIL USED RAW USED %RAW USED
hdd 90 GiB 90 GiB 60 MiB 60 MiB 0.07
TOTAL 90 GiB 90 GiB 60 MiB 60 MiB 0.07
--- POOLS ---
POOL ID PGS STORED OBJECTS USED %USED MAX AVAIL
device_health_metrics 1 1 0 B 0 0 B 0 28 GiB
[root@serverc ~]#
-
CLASS
: 存儲(chǔ)池的類型或存儲(chǔ)介質(zhì)。 -
SIZE
: 存儲(chǔ)池或設(shè)備的總?cè)萘俊?/li> -
AVAIL
: 存儲(chǔ)池或設(shè)備的可用容量。 -
USED
: 存儲(chǔ)池或設(shè)備已使用的容量。 -
RAW USED 和 %RAW USED
: 原始存儲(chǔ)設(shè)備上由 Ceph 使用的存儲(chǔ)空間,以及其占用原始存儲(chǔ)設(shè)備容量的百分比
啟用池中的Ceph應(yīng)用
ceph osd pool application enable
命令啟用池中的Ceph應(yīng)用,應(yīng)用類型為:
-
Ceph File System
的cepfs
-
Ceph Block Device
的rbd
-
RADOS Gateway
的rgw
[root@serverc ~]# ceph osd pool application enable
#enable use of an application <app> [cephfs,rbd,rgw] on pool <poolname>
設(shè)置池配額
ceph osd pool set-quota
命令設(shè)置池配額,限制池中最大字節(jié)數(shù)或最大對(duì)象數(shù)
[root@serverc ~]# ceph osd pool set-quota
Invalid command: missing required parameter pool(<poolname>)
osd pool set-quota <pool> max_objects|max_bytes <val> : set object or byte limit on pool
Error EINVAL: invalid command
當(dāng)存儲(chǔ)池達(dá)到設(shè)置的配額時(shí),將阻止操作,可以通過(guò)將配額值設(shè)置為0來(lái)刪除配額
配置這些設(shè)置值的示例,以啟用對(duì)池重新配置
的保護(hù):
osd_ pool _default flag_nodelete
設(shè)置池上的nodedelete標(biāo)志的默認(rèn)值,設(shè)置該值為true,以防止刪除池
osd_pool_default_flag_nopgchange
設(shè)置池上的nopgchange標(biāo)志的默認(rèn)值,設(shè)置為true可以防止pg_ num和pgp_num的變化
osd_pool_default_flag_nosizechange
設(shè)置池的nosizechange標(biāo)志的默認(rèn)值。設(shè)置該值為true,以防止池的大小變化
池名稱空間
命名空間
是池中對(duì)象的邏輯組
,可以限制對(duì)池的訪問(wèn),以便用戶只能在特定的名稱空間中存儲(chǔ)或檢索對(duì)象,它們?cè)试S對(duì)池進(jìn)行邏輯分區(qū),并將應(yīng)用程序限制到池中的特定名稱空間。
可以為每個(gè)應(yīng)用程序?qū)S靡粋€(gè)完整的池,但是擁有更多的池意味著每個(gè)OSD擁有更多的pg
,而pg在計(jì)算上是非常昂貴的,隨著負(fù)載的增加,這可能會(huì)降低OSD
的性能,使用名稱空間,可以保持池的數(shù)量相同
,而不必為每個(gè)應(yīng)用程序?qū)S谜麄€(gè)池
要在名稱空間中存儲(chǔ)對(duì)象,客戶機(jī)應(yīng)用程序必須提供池和名稱空間名稱
。默認(rèn)情況下,每個(gè)池包含一個(gè)名稱為空的名稱空間,稱為默認(rèn)名稱空間
。
使用rados
命令從池中存儲(chǔ)和檢索
對(duì)象。使用-n name
和--namespace=name
選項(xiàng)指定要使用的池和命名空間
下面以將/etc/services
文件作為srv
對(duì)象存儲(chǔ)在系統(tǒng)命名空間下的mytestpool
池中為例
[ceph: root@node /]# rados \
-p mytestpool -N system put srv /etc/services
[ceph: root@node /]# rados \
-p mytestpool -N system ls
使用--all
選項(xiàng)列出池中所有名稱空間中的所有對(duì)象,要獲得JSON格式的輸出,請(qǐng)?zhí)砑?code>--format=j son-pretty選項(xiàng)
下面的例子列出了mytestpool池中的對(duì)象。mytest對(duì)象有一個(gè)空的名稱空間。其他對(duì)象屬于system或flowers名稱空間
[ceph: root@node /]# rados \
-p mytestpool --all ls
[ceph: root@node /]# rados \
-p mytestpool --all ls --format=json-pretty
...
Demo
創(chuàng)建池,查看池信息
# 創(chuàng)建一個(gè)名為 replpool1 的副本池,PG,pgp 數(shù)量為 64
ceph osd pool create replpool1 64 64
# 獲取 replpool1 的 pg_autoscale_mode 設(shè)置
ceph osd pool get replpool1 pg_autoscale_mode
# 獲取全局默認(rèn)的 pg_autoscale_mode 設(shè)置
ceph config get mon osd_pool_default_pg_autoscale_mode
# 列出所有池的信息
ceph osd lspools
# 查看池狀態(tài)、PG 和 OSD 數(shù)量等信息
ceph osd pool autoscale-status
配置池
# 將 replpool1 的 size 設(shè)置為 4,表示使用 4 個(gè) OSD 來(lái)存儲(chǔ)每個(gè)對(duì)象
ceph osd pool set replpool1 size 4
# 將 replpool1 的 min_size 設(shè)置為 2,表示最少需要 2 個(gè) OSD 才能進(jìn)行數(shù)據(jù)讀取操作
ceph osd pool set replpool1 min_size 2
# 啟用 rbd 應(yīng)用程序在 replpool1 上進(jìn)行操作
ceph osd pool application enable replpool1 rbd
# 查詢 replpool1 相關(guān)信息
ceph osd pool ls detail | grep replpool1
ceph osd pool get replpool1 size
重命名刪除池
# 將 replpool1 重命名為 newpool
ceph osd pool rename replpool1 newpool
# 刪除 newpool 池及其數(shù)據(jù)
ceph osd pool delete newpool newpool --yes-i-really-really-mean-it || echo ERROR
# 配置 mon 允許刪除池
ceph tell mon.* config set mon_allow_pool_delete true
# 確認(rèn)刪除 newpool 池及其數(shù)據(jù)
ceph osd pool delete newpool newpool --yes-i-really-really-mean-it
創(chuàng)建糾刪碼池
# 列出所有可用的 erasure-code-profile
ceph osd erasure-code-profile ls
# 查看默認(rèn)的 erasure-code-profile 配置
ceph osd erasure-code-profile get default
# 創(chuàng)建一個(gè)名為 ecpool1 的 EC 池,PG 數(shù)量為 64,使用 k=4, m=2 的編碼策略
ceph osd pool create ecpool1 64 64 erasure ecprofile-k4-m2
# 啟用 rgw 應(yīng)用程序在 ecpool1 上進(jìn)行操作
ceph osd pool application enable ecpool1 rgw
# 查詢 ecpool1 相關(guān)信息
ceph osd pool ls detail | grep ecpool1
# 允許覆蓋已有對(duì)象的編碼策略
ceph osd pool set ecpool1 allow_ec_overwrites true
# 刪除 ecpool1 池及其數(shù)據(jù)
ceph osd pool delete ecpool1 ecpool1 --yes-i-really-really-mean-it
博文部分內(nèi)容參考
? 文中涉及參考鏈接內(nèi)容版權(quán)歸原作者所有,如有侵權(quán)請(qǐng)告知,這是一個(gè)開(kāi)源項(xiàng)目,如果你認(rèn)可它,不要吝嗇星星哦 ??
https://docs.ceph.com/en/pacific/architecture/
https://docs.ceph.com
RHCA CL260 授課筆記文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-493428.html
? 2018-2023 liruilonger@gmail.com, All rights reserved. 保持署名-非商用-相同方式共享(CC BY-NC-SA 4.0)文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-493428.html
到了這里,關(guān)于Ceph:關(guān)于Ceph 集群中池管理的一些筆記的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!