天天看點

BoostKit鲲鵬全局緩存技術助力Ceph性能提升10倍,真香

您好,我是碼農飛哥,感謝您閱讀本文,歡迎一鍵三連哦。​​​​

今天開始學習BoostKit鲲鵬全局緩存技術,該技術是鲲鵬實驗室最新開源的技術。

本文将從如下幾個方面展開闡述。

  1. 存儲行業特點及挑戰
  2. 全局緩存創新與價值
  3. 全局緩存功能介紹
  4. 全局緩存使用介紹

文章目錄

  • ​​1. 存儲行業特點及挑戰​​
  • ​​1.1.Ceph開源存儲方案面臨的性能挑戰​​
  • ​​2. 全局緩存創新與價值​​
  • ​​2.1. 緩存前背景分離,縮短IO路徑​​
  • ​​2.2. IO聚合,實作磁盤帶寬性能​​
  • ​​2.3. 智能預取,提高讀緩存命中率​​
  • ​​3. 全局緩存功能介紹​​
  • ​​3.1. 全局緩存技術的整體架構​​
  • ​​3.2. 全局緩存功能規格一覽​​
  • ​​4. 全局緩存使用介紹​​
  • ​​總結​​

1. 存儲行業特點及挑戰

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

BoostKit鲲鵬全局緩存技術助力Ceph性能提升10倍,真香

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

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

對于資料庫等中高負載業務使用的存儲類型是超高IO雲硬碟(全閃存、均衡型SAS),這種方式的主要痛點是對成本效益降低延遲時間。

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

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

BoostKit鲲鵬全局緩存技術助力Ceph性能提升10倍,真香

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

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

IO的寫入流程是:

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

我們可以看到一個完整的IO寫入流程包括了5大流程,流程真的很長。

那麼BoostKit鲲鵬全局緩存技術又是如何應對這些挑戰的呢?

2. 全局緩存創新與價值

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

BoostKit鲲鵬全局緩存技術助力Ceph性能提升10倍,真香
  1. 緩存前背景分離,縮短IO路徑
  2. IO聚合,實作磁盤帶寬性能
  3. 智能預取,提高讀緩存命中率。

    下面我分别就這三大創新技術進行一個簡要的說明。

2.1. 緩存前背景分離,縮短IO路徑

  1. 在計算側(前台)重定向到全局緩存,讀寫IO請求直接在緩存中命中并實時回報給上層應用。
  2. 全局緩存的IO資料異步下刷到後端存儲側(背景)或提前預取資料到全局緩存

    其實作流程如下圖所示:

  3. BoostKit鲲鵬全局緩存技術助力Ceph性能提升10倍,真香
  4. 從圖中可以看出讀IO和寫IO都是在全局緩存中實作的。

    寫IO首先将資料寫入緩存中,然後異步下刷到磁盤中。

    異步IO批量預取提前命中,異步資料預取,讀IO直接從緩存中取資料。

    這樣做的好處就是 提高了異步刷盤速率,保證寫緩存100%命中,降低寫時延。

    提高預取準确率,加大緩存容量,保證讀緩存80%命中,降低讀時延。

    如下圖所示:展示了緩存前背景的具體實作。

  5. BoostKit鲲鵬全局緩存技術助力Ceph性能提升10倍,真香
  6. 流程解耦:寫緩存刷盤,讀緩存淘汰無需互斥,可靈活控制各自水位。
  7. 資源解耦:讀寫緩存并發,Quota資源等解耦,避免互相影響。
  8. 媒體類型解耦:讀寫緩存可分為管理異構緩存媒體(RAM,NVMeSSD),實作媒體分離。
  9. 備援政策優化:讀cache使用單副本,提高cache空間使用率,寫cache使用三副本,保證資料可靠性。

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

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

    具體實作如下圖所示:

  4. BoostKit鲲鵬全局緩存技術助力Ceph性能提升10倍,真香

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

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

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

BoostKit鲲鵬全局緩存技術助力Ceph性能提升10倍,真香

這裡主要有兩個技術

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

3. 全局緩存功能介紹

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

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

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

BoostKit鲲鵬全局緩存技術助力Ceph性能提升10倍,真香

可以用三橫+兩縱來總結全局緩存技術架構。

三橫:用戶端叢集、緩存叢集、存儲叢集

兩縱:讀寫路徑分離雙驅加速的邏輯布局。

  1. 寫緩存:資料寫入、删除功能、保證Cache前背景寫低延遲時間、
  2. 讀緩存:資料讀取功能,資料預取和淘汰、保證高Cache命中。
  3. 中繼資料管理:高性能中繼資料管理引擎、小IO聚合、垃圾回收
  4. 叢集管理:叢集管理、運作狀态管理,故障處理架構。
  5. 持久化:資料持久化存儲,三副本資源池,媒體管理。
  6. 适配層:對接開源Ceph存儲,終結Ceph語義。
  7. 基礎設施:系統啟動、記憶體管理、日志、指令行、系統排程。

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

1. 高性能

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

2. 叢集相容性

  • 提供無侵入式接口API支援主流ceph叢集接入
  • 支援塊存儲服務,對象存儲服務
  • 支援快照及克隆功能
  • 支援鲲鵬平台硬體,openEuler,RedHat系統

    4. 可靠性

  • 資料持久化存儲防掉電丢失。
  • 資料三副本以節點域存儲,防止單點故障。
  • 支援叢集故障自動檢測,自動故障切換和恢複。

    5. 安全性

  • 資料通道和管理通道預設支援TLS1.3 安全傳輸

    7. 擴充性

  • 支援按需增加緩存節點擴充緩存規模
  • 支援線上更新
  • 資料持久化存儲防掉電丢失
  • 資料三副本以節點域存儲,防止單點故障
  • 支援叢集故障自動檢測,自動故障切換和恢複。

4. 全局緩存使用介紹

說完了那麼多BoostKit鲲鵬全局緩存技術的功能和好處,那麼如何使用BoostKit鲲鵬全局緩存呢?

首先找到使用者指南,指南位址是:​​https://support.huawei.com/enterprise/zh/doc/EDOC1100228002?idPath=23710424%7C251364417%7C9856629%7C253662285​​

BoostKit鲲鵬全局緩存技術助力Ceph性能提升10倍,真香

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

總結

繼續閱讀