10倍!BoostKit鯤鵬全局緩存3大創新技術助力Ceph性能提升

摘要:本文從四個方面闡述了BoostKit鯤鵬全局緩存技術,該技術針對Ceph開源存儲方案存在的痛點,採用三大創新技術,有效的提高了Ceph的性能,最高可以將Ceph性能提升10倍。

本文分享自華爲雲社區《【雲駐共創】BoostKit鯤鵬全局緩存技術助力Ceph性能提升10倍,真香》,作者:碼農飛哥。

1. 存儲行業特點及挑戰

有統計數據顯示,企業應用每增加100ms存儲時延會造成1%的銷售損失。如下圖所示:

從21年到23年,關鍵業務的佔比從25%增加到60%,數據庫等中高負載業務從45%減少到15%,一般業務從 30%減少到25%。

對於關鍵業務一般使用的存儲類型是 增強型\極速SSD雲硬盤(全閃存),這種方式主要的痛點是 要求極致時延和IOPS SSD使用成本高。

對於數據庫等中高負載業務使用的存儲類型是超高IO雲硬盤(全閃存、均衡型SAS),這種方式的主要痛點是對性價比降低時延。

對於一般業務使用的是高IO雲硬盤(均衡型SATA)

1.1.Ceph開源存儲方案面臨的性能挑戰

Ceph開源存儲方案面臨的性能挑戰主要是: IOPS性能低,IO時延高。 而造成這種情況的原因主要有如下三個方面:

  1. IO請求流程多,線程切換開銷大
  2. IO處理流程長,隊列等待多,端到端時延高。
  3. IO隨機性大,磁盤帶寬利用率低。

IO的寫入流程是:

  1. Message 接受入隊
  2. 三副本數據處理
  3. 數據持久化
  4. 元數據持久化
  5. 資源釋放,響應完成。

我們可以看到一個完整的IO寫入流程包括了5大流程,流程真的很長。
那麼BoostKit鯤鵬全局緩存技術又是如何應對這些挑戰的呢?

2. 全局緩存創新與價值

BoostKit鯤鵬全局緩存技術主要有三大創新技術,通過三大創新技術可以實現存儲性能飛躍式提升。

  1. 緩存前後臺分離,縮短IO路徑
  2. IO聚合,實現磁盤帶寬性能
  3. 智能預取,提高讀緩存命中率。
    下面我分別就這三大創新技術進行一個簡要的說明。

2.1. 緩存前後臺分離,縮短IO路徑

  1. 在計算側(前臺)重定向到全局緩存,讀寫IO請求直接在緩存中命中並實時反饋給上層應用。
  2. 全局緩存的IO數據異步下刷到後端存儲側(後臺)或提前預取數據到全局緩存
    其實現流程如下圖所示:

從圖中可以看出讀IO和寫IO都是在全局緩存中實現的。
寫IO首先將數據寫入緩存中,然後異步下刷到磁盤中。
異步IO批量預取提前命中,異步數據預取,讀IO直接從緩存中取數據。
這樣做的好處就是 提高了異步刷盤速率,保證寫緩存100%命中,降低寫時延。
提高預取準確率,加大緩存容量,保證讀緩存80%命中,降低讀時延。
如下圖所示:展示了緩存前後臺的具體實現。

  1. 流程解耦:寫緩存刷盤,讀緩存淘汰無需互斥,可靈活控制各自水位。
  2. 資源解耦:讀寫緩存併發,Quota資源等解耦,避免相互影響。
  3. 介質類型解耦:讀寫緩存可分爲管理異構緩存介質(RAM,NVMeSSD),實現介質分離。
  4. 冗餘策略優化:讀cache使用單副本,提高cache空間利用率,寫cache使用三副本,保證數據可靠性。

2.2. IO聚合,實現磁盤帶寬性能

  1. IO聚合:通過聚合算法,回寫策略和垃圾回收等能力,實現隨機寫小IO聚合成順序寫大IO,實現磁盤帶寬的利用率,使性能得到大幅提升。
  2. 按需讀取:從元數據中獲取小IO映射關係,下盤讀取小IO數據,無讀放大。
  3. 通過高效的索引算法和數據排列,僅提高有效數據塊,並和新寫入的數據進行IO聚合,減少IO開銷和降低垃圾對業務的影響。

具體實現如下圖所示:

2.3. 智能預取,提高讀緩存命中率

基於創新的負載識別算法,識別不同應用訪問Pattern(如流式、關聯、熱點等),並通過歸一化特徵模型制定最優參數(預取門限,長度等),實現80%以上緩存命中率和2倍+讀性能提升。

如下圖所示:展示了智能預取分離技術架構:

這裏主要有兩個技術

  1. 雙引擎分離:創新性的Client端推薦引擎+Server端執行引擎分離的智能預取架構。
  2. 全局精準推薦:推薦引擎擁有全局數據訪問視圖,從而進行全局精準推薦。

3. 全局緩存功能介紹

3.1. 全局緩存技術的整體架構

說完了全局緩存的創新點之後,接下來讓我們來看看全局緩存的各個核心功能。

全局緩存技術的整體架構如下圖所示:


可以用三橫+兩縱來總結全局緩存技術框架。
三橫:客戶端集羣、緩存集羣、存儲集羣
兩縱:讀寫路徑分離雙驅加速的邏輯佈局。

  1. 寫緩存:數據寫入、刪除功能、保證Cache前後臺寫低時延、
  2. 讀緩存:數據讀取功能,數據預取和淘汰、保證高Cache命中。
  3. 元數據管理:高性能元數據管理引擎、小IO聚合、垃圾回收
  4. 集羣管理:集羣管理、運行狀態管理,故障處理框架。
  5. 持久化:數據持久化存儲,三副本資源池,介質管理。
  6. 適配層:對接開源Ceph存儲,終結Ceph語義。
  7. 基礎設施:系統啓動、內存管理、日誌、命令行、系統調度。

3.2. 全局緩存功能規格一覽

1. 高性能

支持單節點 14W IOPS,1ms時延。

2. 集羣兼容性

  • 提供無侵入式接口API支持主流ceph集羣接入
  • 支持塊存儲服務,對象存儲服務
  • 支持快照及克隆功能
  • 支持鯤鵬平臺硬件,openEuler,RedHat系統

3. 可靠性

  • 數據持久化存儲防掉電丟失。
  • 數據三副本以節點域存儲,防止單點故障。
  • 支持集羣故障自動檢測,自動故障切換和恢復。

4. 安全性

  • 數據通道和管理通道默認支持TLS1.3 安全傳輸

5. 擴展性

  • 支持按需增加緩存節點擴展緩存規模
  • 支持在線升級
  • 數據持久化存儲防掉電丟失
  • 數據三副本以節點域存儲,防止單點故障
  • 支持集羣故障自動檢測,自動故障切換和恢復。

4. 全局緩存使用介紹

說完了那麼多BoostKit鯤鵬全局緩存技術的功能和好處,那麼如何使用BoostKit鯤鵬全局緩存呢?
首先找到用戶指南,指南地址是:https://support.huawei.com/enterprise/zh/doc/EDOC1100228002?idPath=23710424%7C251364417%7C9856629%7C253662285

按照用戶指南一步步去操作使用吧!!!!

總結

本文從四個方面闡述了BoostKit鯤鵬全局緩存技術,該技術針對Ceph開源存儲方案存在的痛點,採用三大創新技術,有效的提高了Ceph的性能,最高可以將Ceph性能提升10倍。如下圖所示:

 

 

點擊關注,第一時間瞭解華爲雲新鮮技術~

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