ceph-immmutable-object-cache
一、簡介
目前官方提供了ceph-immmutable-object-cache守護程式負責將內容快取到本地快取目錄上。為了獲得更好的效能,建議使用SSD作為底層儲存介質。
二、IO流程
- ceph-immmutable-object-cache守護程式啟動進行初始化,並且時監聽本地域套接字,並等待來自librbd客戶端的連線。
- 客戶端librbd透過域套接字來連線快取守護程式, 並且向快取守護程式進行註冊。
- 客戶端librbd讀取時請求到快取守護程式進行查詢。如果未查詢到,守護程式會直接讀取RADOS物件,然後寫入到本地快取目錄.否則,找到更新LRU移動到頭部。
- 如果返回告訴客戶端未快取, 則客戶端librbd直接從rados中獲取資訊。(下次librbd則直接從本地獲取)
三、策略
- MAP資訊維護filename和Entry資訊。
- LRU連結串列維護Entry資訊,保證容量達到閾值剔除快取。
- Entry資訊,維護最大容量、容量水位、最大ops。
四、 儲存格式
filename: pool_nspace + ":" + std::to_string(pool_id) + ":" + std::to_string(snap_id) + ":" + oid
cache_file_dir: ceph_crc32c(0, file_name, length) % 100
key: m_cache_root_dir + cache_file_dir + cache_file_name
val:object_name
作者:李航
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31559758/viewspace-2674452/,如需轉載,請註明出處,否則將追究法律責任。