- Ceph企業(yè)級(jí)分布式存儲(chǔ):原理與工程實(shí)踐
- 景顯強(qiáng) 龔向宇 黃軍寶
- 720字
- 2021-11-05 10:18:53
3.4.3 PG和PGP的區(qū)別
在創(chuàng)建存儲(chǔ)池的時(shí)候通過命令行要輸入兩個(gè)參數(shù):pg_num和pgp_num。通常,這兩個(gè)參數(shù)的值是一樣的。那么,這兩個(gè)參數(shù)到底有什么區(qū)別呢?
參數(shù)pg_num表示前面講到的放置組的數(shù)量。該值會(huì)影響每個(gè)放置組內(nèi)存放的對(duì)象數(shù)。比如,有10000個(gè)對(duì)象要關(guān)聯(lián)到存儲(chǔ)池,此存儲(chǔ)池一共定義了100個(gè)放置組,那么每個(gè)放置組內(nèi)平均有100個(gè)對(duì)象(通常不是平均分配的,這里只是舉個(gè)例子)。如果把放置組數(shù)調(diào)整到200,那么平均每個(gè)放置組內(nèi)的對(duì)象數(shù)量就降到50。因此,pg_num可決定放置組數(shù),影響放置組內(nèi)存放對(duì)象的數(shù)量。
PGP(Placement Group for Placement Purpose)決定了對(duì)象分布在哪些OSD上。參數(shù)pgp_num表示PGP的可操作值。如果增大PGP值,放置組內(nèi)的對(duì)象會(huì)重新計(jì)算,集群中的數(shù)據(jù)將開始做重新分布。
首先創(chuàng)建一個(gè)存儲(chǔ)池并設(shè)置pg_num=1。pgp_num=1即只有一個(gè)放置組和一個(gè)PGP,PG內(nèi)有100個(gè)對(duì)象。假設(shè)做了3副本的數(shù)據(jù)冗余,數(shù)據(jù)會(huì)分布在3個(gè)OSD上,設(shè)這三個(gè)OSD編號(hào)為1、3、8。那么,這些數(shù)據(jù)的位置在創(chuàng)建存儲(chǔ)池的時(shí)候都會(huì)被固定。隨后調(diào)整pg_num=2,pgp_num=1不變,這時(shí)候會(huì)發(fā)現(xiàn)新增了一個(gè)放置組,而且這個(gè)放置組內(nèi)分割了原有放置組內(nèi)的一部分對(duì)象,也就是說(shuō)兩個(gè)放置組共同存儲(chǔ)了100個(gè)對(duì)象。然而觀察放置組的分布,發(fā)現(xiàn)這兩個(gè)放置組對(duì)象的OSD編號(hào)仍然是1、3、8,也就是說(shuō)增加放置組的數(shù)量不改變?cè)械腛SD映射關(guān)系。而調(diào)整pgp_num=2(即增加一個(gè)PGP),放置組內(nèi)的對(duì)象并沒有發(fā)生變化,只是其中一個(gè)放置組中對(duì)象的OSD編號(hào)發(fā)生了變化,變成了2、4、9。這時(shí),集群中的數(shù)據(jù)開始從OSD 1、3、8向OSD 2、4、9遷移。
總結(jié)如下:
·pg_num是存儲(chǔ)池中存儲(chǔ)對(duì)象的目錄數(shù),pgp_num是存儲(chǔ)池中放置組內(nèi)的OSD分布組合個(gè)數(shù)。
·pg_num的增加會(huì)引起放置組內(nèi)的對(duì)象的分裂,即分裂到相同的OSD上新生成的放置組中。
·pgp_num的增加會(huì)引起部分放置組在OSD上的分布變化,但是不會(huì)引起放置組內(nèi)對(duì)象的變動(dòng)。
- 阿里云數(shù)字新基建系列:云原生操作系統(tǒng)Kubernetes
- Ubuntu Linux操作系統(tǒng)
- Windows Phone 8 Application Development Essentials
- 操作系統(tǒng)分析
- Hands-On GPU Programming with Python and CUDA
- 鴻蒙操作系統(tǒng)設(shè)計(jì)原理與架構(gòu)
- 統(tǒng)信UOS應(yīng)用開發(fā)進(jìn)階教程
- 計(jì)算機(jī)應(yīng)用基礎(chǔ)(Windows 7+Office 2010)
- 電腦辦公(Windows 7 + Office 2013)入門與提高
- 電腦辦公(Windows10+Office2016)從新手到高手
- UNIX傳奇:歷史與回憶
- 分布式實(shí)時(shí)處理系統(tǒng):原理、架構(gòu)與實(shí)現(xiàn)
- Raspberry Pi Networking Cookbook
- OpenWrt智能路由系統(tǒng)開發(fā)
- Instant Google Compute Engine