當前位置:
首頁 > 最新 > 杉岩獨有的智能緩存技術AgileCache在Ceph亞太峰會首次亮相

杉岩獨有的智能緩存技術AgileCache在Ceph亞太峰會首次亮相

2018年3月22日-23日,由Ceph中國社區主辦的首屆Ceph亞太峰會 —— Cephalocon APAC 2018 在北京JW萬豪酒店盛大開幕,此次活動受到各界廣泛關注,大會首日吸引近千名現場及在線觀眾。

近年來,軟體定義存儲技術快速發展和應用,Ceph迎來了新的發展機遇,從社區走向商用,一次次的實踐在證明:Ceph已完全適用於大規模的企業應用和政務應用。此次大會上,杉岩數據統一存儲產品總監花瑞應邀出席並帶來了主題分享《基於Ceph BlueStore的杉岩智能緩存技術 AgileCache》,接下來將由花瑞先生為大家詳細揭秘SandStone AgileCache。

杉岩數據統一存儲產品總監 花瑞

為什麼要推出SandStone AgileCache

傳統高性能SSD Cache方案大多基於內核態實現,著名的方案有bcache、dm-cache、flashcache等,這些緩存技術通常對工作在用戶態的應用程序暴露出的是通用塊設備,應用程序只能通過標準的file operation訪問混合盤塊設備,緩存策略方面也只能從數據的冷熱程度這一個維度去實現。

在Ceph中如何更加高效合理地利用SSD緩存資源是一個很值得探討的問題,大部分場景下,在OSD層給ObjectStore做加速是業界普遍採用的方案,即將OSD直接創建在經過內核Cache軟體虛擬化出來的塊設備混合盤上。用戶態與內核態的天然屏障使得工作於內核態的Cache模塊無法感知工作在用戶態的OSD各種IO,比如:副本數據寫IO、集群恢複流量的寫IO、不同RBD卷的IO,也就無法做比較細粒度的緩存資源管理與控制。

技術創新的背後我們經歷了什麼

針對上面提到的問題,我們的研發團隊一開始評估過在最新的BlueStore中開發一個用戶態的SSD Cache來解決,但是通過分析發現,這個工作量並不小,而且在已經比較複雜的BlueStore的IO路徑上增加一個支持WriteBack模式的Cache功能,嚴重增加了BlueStore的複雜度,在代碼可維護性及功能穩定性方面都是一個比較大的挑戰,更重要的是,這樣開發出來的帶有Cache功能的ObjectStore與Ceph社區的方向是背道而馳的,社區之所以在設計BlueStore之初不考慮加入SSD Cache功能,其中一個原因就是混合存儲畢竟只是一個過渡,全快閃記憶體會成為未來的主流。

那麼怎樣以經濟高效的方式實現一個能夠感知Ceph集群內部各種數據類型的SSD Cache呢?杉岩的AgileCache給出了完美的答案。

SandStone AgileCache是一個Cache框架,兼容主流的內核態Cache,在Cache模塊之上,引入了杉岩自研的內核態direct-io模塊,負責將用戶態的數據類型標記下傳到內核Cache層,這種從用戶態往內核態Cache傳遞IO標記的方法我們稱之為「cadvise」。

SandStone AgileCache技術實現架構圖

有了「cadvise」標記,我們就打通了Cache的「任督二脈」,使得Cache可根據標記完全區分OSD的各種數據類型,比如BlueFS下來的數據,我們統一標記成BlueStore的METADATA,優先緩存;集群內部的恢複流量,我們可標記成DONTNEED,提示Cache模塊不緩存直接寫到後端HDD盤,預留出寶貴的SSD資源。

SandStone AgileCache的企業用戶價值

SandStoneAgileCache技術打破了用戶態與內核態的之間的天然屏障,不僅擁有傳統SSD Cache的所有優點,還可以感知分散式存儲集群內部各種數據類型,並針對不同的數據類型採用不同的臟數據刷盤策略,以及不同的緩存數據回收策略,從而實現對緩存資源更細粒度的利用,降低企業用戶TCO。

此外,杉岩還開發了基於AgileCache智能緩存的卷優先順序管理功能,針對不同的卷可以設置高、中、低三個優先順序,高優先順序的卷全部緩存在SSD中,中優先順序的卷只有部分熱點數據緩存在SSD,較冷的數據保存在HDD中,低優先順序的巻則不緩存,數據全部保存在HDD。企業用戶只需搭建一套混合集群,就能擁有全閃、混合、全HDD三種性能模式的卷,自動切換,保障業務的服務質量。

目前,SandStoneAgileCache已經應用於杉岩數據軟體定義存儲全線產品,服務於各種規模的存儲集群。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 SandStone杉岩數據 的精彩文章:

TAG:SandStone杉岩數據 |