ceph EC如何設定條帶大小

2021-07-29 22:34:21 字數 803 閱讀 8520

問題描述:

在ec中有條帶的概念,條帶是編碼的最小單位,在ceph中也有stripe_width這個變數表示條帶寬度,系統預設的條帶寬度是4096,如果我現在想修改為8192,該怎麼辦呢?

解決方法:

使用引數:osd_pool_erasure_code_stripe_width

有三種方法來修改條帶的寬度:

第一種方法:

這是一種永久性的方法,在config_opts.h檔案中修改引數的值,重新編譯後可以全域性生效,且是永久的,例如:

option(osd_pool_erasure_code_stripe_width, opt_u32, 8192) // in bytes

第二種方式:

這也是一種永久性的方法,在ceph.conf檔案中給引數賦值,這種永久性是基於本次配置檔案的。修改方式:

在ceph.conf檔案的「[global]」 項下加入:

osd pool erasure code stripe width = 8192

第三種方式:

這是一種臨時的方式,使用asok檔案來進行注入,再次啟動集群後就恢復原樣了。具體方式如下所示:

ceph tell osd.* injectargs 『– osd_pool_erasure_code_stripe_width 8192』

//這裡是對所有的osd都修改了 對於其它值 也可以針對某個osd進行修改

使用下面的命令查詢修改後的值:

ceph daemon osd.1 config get osd_pool_erasure_code_stripe_width

如何設定UISwitch的大小

很少用到switch控制項,即使用到也沒去改它的大小,今天用到了發現setframe 方法並不能更改它的大小。uiswitch sw uiswitch alloc initwithframe cgrectmake 200,15,50,15 sw seton yes animated yes sw.t...

如何合理設定執行緒池大小

要想合理的配置執行緒池的大小,首先得分析任務的特性,可以從以下幾個角度分析 任務的性質 cpu密集型任務 io密集型任務 混合型任務。任務的優先順序 高 中 低。任務的依賴性 是否依賴其他系統資源,如資料庫連線等。性質不同的任務可以交給不同規模的執行緒池執行。對於不同性質的任務來說,cpu密集型任務...

如何合理設定執行緒池大小

這個問題雖然看起來很小,卻並不那麼容易回答。大家如果有更好的方法歡迎賜教,先來乙個天真的估算方法 假設要求乙個系統的tps transaction per second或者task per second 至少為20,然後假設每個transaction由乙個執行緒完成,繼續假設平均每個執行緒處理乙個t...