Ceph 裏的 Tier和 RBD Cache的區別 (通俗易懂)

緩存的位置不同,tier是rados層在osd端進行數據緩存,也就是說不論是塊存儲、對象存儲還是文件存儲都可以使用tier來提高讀寫速度;rbd cache是rbd層在客戶端的緩存,也就是隻支持塊存儲。

Rbd cache是客戶端的緩存,當多個客戶端使用同個塊設備時(例如ocfs2),存在客戶端數據不一致的問題。舉個例子,用戶A向塊設備寫入數據後,數據停留在客戶自己的緩存中,沒有立即刷新到磁盤,所以其它用戶讀取不到A寫入的數據。但是tier不存在這個問題,因爲所有用戶的數據都直接寫入到ssd,用戶讀取數據也是在ssd中讀取的,所以不存在客戶端數據不一致問題。

一般地,Tier使用ssd做緩存,而Rbd cache只能使用內存做緩存SSD內存有兩個方面的差別,一個是讀寫速度、另一個是掉電保護。掉電後內存中的數據就丟失了,而ssd中的數據不會丟失。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章