博客專欄

EEPW首頁 > 博客 > rbd常用的配置參數(shù)

rbd常用的配置參數(shù)

發(fā)布人:天翼云開發(fā)者 時間:2024-07-16 來源:工程師 發(fā)布文章

本文分享自天翼云開發(fā)者社區(qū)《rbd常用的配置參數(shù)》,作者:l****n

rbd的基本介紹

rbd的架構(gòu)如下圖所示:

 

image.png

 

rbd采用CRUSH算法實(shí)現(xiàn)數(shù)據(jù)的隨機(jī)分布。CRUSH算法,即Controlled Replication Under Scalable Hashing,是一種基于哈希的數(shù)據(jù)分布算法。CRUSH算法以數(shù)據(jù)唯一標(biāo)識符、當(dāng)前存儲集群的拓?fù)浣Y(jié)構(gòu)以及數(shù)據(jù)備份策略作為CRUSH的輸入,可以隨時隨地通過計算獲取數(shù)據(jù)所在的底層存儲設(shè)備并直接通信獲取或者寫入數(shù)據(jù),從而避免查表操作,實(shí)現(xiàn)去中心化和高度并發(fā),將數(shù)據(jù)均衡的存儲到各個存儲節(jié)點(diǎn),實(shí)現(xiàn)數(shù)據(jù)存儲的負(fù)載均衡;另外去中心化以及哈希的數(shù)據(jù)隨機(jī)分布,使得rbd存儲在理論上具備無限的可擴(kuò)展性。CRUSH算法支持?jǐn)?shù)據(jù)的多種備份策略,支持可配置副本數(shù),支持存儲節(jié)點(diǎn)故障域定義與劃分,從而使整個系統(tǒng)具備了高可靠性和高可用性。

 

rbd的主要參數(shù)

在實(shí)際使用中需要配置rbd的一些參數(shù),下面對rbd的一些常用參數(shù)進(jìn)行一下說明:

1.rbd_cache: 是否使能緩存,默認(rèn)情況下開啟。

2.rbd_cache_size:最大的緩存大小,默認(rèn)32MB。

3.rbd_cache_max_dirty:緩存中臟數(shù)據(jù)的最大值,用來控制回寫,不能超過rbd cache size,默認(rèn)24MB。

4.rbd_cache_target_dirty:開始執(zhí)行回寫的臟數(shù)據(jù)大小,不能超過rbd cache max dirty,默認(rèn)16MB。

5.rbd_cache_max_dirty_age: 緩存中單個臟數(shù)據(jù)的最大緩存時間,避免因?yàn)槲催_(dá)到回寫要求臟數(shù)據(jù)長時間存在緩存中,默認(rèn)1s。

6.rbd cache max dirty object:最大的Object對象數(shù),默認(rèn)為0,表示通過rbd cache size計算得到,librbd默認(rèn)以4MB為單位對磁盤Image進(jìn)行邏輯切分,每個chunk對象抽象為一個Object;librbd中以O(shè)bject為單位來管理緩存,增大該值可以提升性能。

7.rbd cache writethrough until flush:默認(rèn)為true,該選項(xiàng)是為了兼容linux-2.6.32之前的virtio驅(qū)動,避免因?yàn)椴话l(fā)送flush請求,數(shù)據(jù)不回寫;設(shè)置該參數(shù)后,librbd會以writethrough的方式執(zhí)行io,直到收到第一個flush請求,才切換為writeback方式。

8.rbd cache block writes upfront:是否開啟同步io,默認(rèn)false,開啟后librbd要收到Ceph OSD的應(yīng)答才返回。

9.rbd readahead trigger requests: 觸發(fā)預(yù)讀的連續(xù)請求數(shù),默認(rèn)為10。

10.rbd readahead max bytes: 一次預(yù)讀請求的最大io大小,默認(rèn)512KB,為0則表示關(guān)閉預(yù)讀。

11.rbd readahead disable after bytes: 預(yù)讀緩存的最大數(shù)據(jù)量,默認(rèn)為50MB,超過閥值后,librbd會關(guān)閉預(yù)讀功能,由Guest OS處理預(yù)讀(防止重復(fù)緩存);如果為0,則表示不限制緩存。

12.objecter inflight ops: 客戶端流控,允許的最大未發(fā)送io請求數(shù),超過閥值會堵塞應(yīng)用io,為0表示不受限。

13.objecter inflight op bytes:客戶端流控,允許的最大未發(fā)送臟數(shù)據(jù),超過閥值會堵塞應(yīng)用io,為0表示不受限。

14.rbd_enable_alloc_hint:是否開發(fā)底層對象的分配。

*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點(diǎn),如有侵權(quán)請聯(lián)系工作人員刪除。



關(guān)鍵詞: rbd 配置參數(shù) 后端

技術(shù)專區(qū)

關(guān)閉