官术网_书友最值得收藏!

3.4.3 PG和PGP的區別

在創建存儲池的時候通過命令行要輸入兩個參數:pg_num和pgp_num。通常,這兩個參數的值是一樣的。那么,這兩個參數到底有什么區別呢?

參數pg_num表示前面講到的放置組的數量。該值會影響每個放置組內存放的對象數。比如,有10000個對象要關聯到存儲池,此存儲池一共定義了100個放置組,那么每個放置組內平均有100個對象(通常不是平均分配的,這里只是舉個例子)。如果把放置組數調整到200,那么平均每個放置組內的對象數量就降到50。因此,pg_num可決定放置組數,影響放置組內存放對象的數量。

PGP(Placement Group for Placement Purpose)決定了對象分布在哪些OSD上。參數pgp_num表示PGP的可操作值。如果增大PGP值,放置組內的對象會重新計算,集群中的數據將開始做重新分布。

首先創建一個存儲池并設置pg_num=1。pgp_num=1即只有一個放置組和一個PGP,PG內有100個對象。假設做了3副本的數據冗余,數據會分布在3個OSD上,設這三個OSD編號為1、3、8。那么,這些數據的位置在創建存儲池的時候都會被固定。隨后調整pg_num=2,pgp_num=1不變,這時候會發現新增了一個放置組,而且這個放置組內分割了原有放置組內的一部分對象,也就是說兩個放置組共同存儲了100個對象。然而觀察放置組的分布,發現這兩個放置組對象的OSD編號仍然是1、3、8,也就是說增加放置組的數量不改變原有的OSD映射關系。而調整pgp_num=2(即增加一個PGP),放置組內的對象并沒有發生變化,只是其中一個放置組中對象的OSD編號發生了變化,變成了2、4、9。這時,集群中的數據開始從OSD 1、3、8向OSD 2、4、9遷移。

總結如下:

·pg_num是存儲池中存儲對象的目錄數,pgp_num是存儲池中放置組內的OSD分布組合個數。

·pg_num的增加會引起放置組內的對象的分裂,即分裂到相同的OSD上新生成的放置組中。

·pgp_num的增加會引起部分放置組在OSD上的分布變化,但是不會引起放置組內對象的變動。

主站蜘蛛池模板: 阿克| 桓仁| 宁夏| 土默特右旗| 自贡市| 灵山县| 和顺县| 得荣县| 甘南县| 汉源县| 九台市| 都匀市| 沁源县| 连州市| 娱乐| 盐源县| 龙江县| 泰宁县| 遂川县| 昌邑市| 昂仁县| 吴桥县| 吉水县| 都昌县| 溆浦县| 西充县| 施甸县| 漳浦县| 安徽省| 从化市| 莒南县| 梅州市| 丹阳市| 静安区| 抚顺县| 大同县| 镇原县| 筠连县| 卢湾区| 平武县| 九江县|