先說一下我的環境:
ceph cluster中包含6臺osd節點 (osd.0 - 5), 一共有10個pool (0 - 9), 這些pool共享了144個pg (這個數字是所有pool的pg_size相加, 並不是通過ceph osd pool create poolname pg_size指定的!), 檔案拷貝數量等於2 (osd_pool_default_size = 2)
檢視一下每個osd節點下的/var/local/osd/current目錄, 這裡面的資料夾就是用來存放物件的, 每個資料夾的格式類似2.3d這樣, 小數點的左邊表示pool的序號, 右邊表示pg的編號. 我統計了一下資料夾數量(注意: temp結尾和head結尾的資料夾有區別, temp不應該被統計在內, 原因不知)得到了如下結論:
1. ceph -s 中顯示的pg數等於ceph osd pool create poolname pg_size中所有pool的pg_size之和;
2. 假設對於pool 2來說, 所有osd節點的current目錄下的2.xx_head資料夾數量之和除以拷貝份數 (即osd_pool_default_size), 等於pg_size;
3. pg_size在一開始指定後就不會改變, 除非手動通過ceph osd pool set poolname size pg_size進行修改.
pool 0
pool 1
pool 2
pool 3
pool 4
pool 5
pool 6
pool 7
pool 8
pool 9
total b=288
osd 0150
3221
2243
34osd 1232
3324
3522
49osd 2195
2014
3423
43osd 3253
2644
4444
60osd 4216
2320
3333
46osd 5250
4253
5255
56total a=288
12816
1616
1616
2020
2020
備註此處的單個物件拷貝份數都是2, 所以128/2=64才是pool 0的pg_size
pool 0
pool 1
pool 2
pool 3
pool 4
pool 5
pool 6
(replicated=3)
pool 7
pool 8
pool 9
total d=298
osd 0150
3221
7243
39osd 1232
3324
4522
50osd 2195
2014
4423
44osd 3253
2644
3444
59osd 4216
2320
4333
47osd 5250
4253
8255
59total c=298
12816
1616
1616
3020
2020
備註此處pool 6的拷貝份數為3, 其餘均為2;
所以30/3=10才是pool 6的pg_size
附上根據自己的理解畫出的示意圖:
多執行緒中一些介面及類之間的關係
runnale 介面,裡面有乙個run方法,無返回值,代表乙個任務。callable 介面,裡面有乙個帶返回值的方法call,返回值為泛型t,也代表乙個任務。futher 介面,裡面有五個重要的方法,用來獲取任務及其狀態。cancle 是乙個boolean型別的值,為true代表可以取消正在執行的任...
js 關係的一些總結
以前每次遇到用 時的型別轉換總是摸不著頭腦,不知道怎麼進行判斷,所以做了個簡單總結,以後只需套用一些規則即可準確判斷。可喜可賀可喜可賀。這裡先簡單總結下if的型別轉換,if裡的型別轉換比較簡單,就是使用boolean函式進行轉換,一般憑直覺都可以得出結論 舉例 if if 複製 繼續看看簡單的 不涉...
師生關係的一些討論
師生關係的一些討論學生 1.希望老師能夠教給自己紮實的專業知識。2.希望老師能夠以身作則,用自己的的言行來告訴學生什麼對,什麼錯 3.老師很會變通,通情達理。4.老師能夠與學生多多交流,建立亦師亦友的關係。5.老師能給學生乙個課外的解疑答惑的機會,讓學生學得更多。老師 1.學生能夠多多進步。2.學生...