實際場景中,雲原生存儲面臨的 7 個挑戰

作者 | Eric Li (壯懷) 阿里巴巴雲原生存儲負責人

引言

隨著雲原生應用對可遷移性、擴展性和動態特性的需求,對雲原生存儲也帶來了相應的密度、速度、混合度的要求,所以對雲存儲基本能力之上又提出了在效率、彈性、自治、穩定、應用低耦合、GuestOS 優化和安全等方面的訴求。參考《 》

新的企業負載/智能工作負載容器化、遷雲、存儲方面遇到的性能、彈性、高可用、加密、隔離、可觀測性及生命週期等方面的問題,不但需要存儲產品層次的改進,還需要在雲原生的控制/數據平面的改進,推進雲原生存儲和雲存儲的演進。下文將分別介紹一下問題場景及問題,探討可行的解決方案,最終可以得出雲原生存儲、雲存儲目前可以做什麼和未來還需要做什麼。

存儲性能

長時延增加

場景

高性能計算場景中,集中處理批量數據,通過容器集群,同時啟動數千 Pod,彈出數百 ECS 對共享性文件系統讀寫。

問題

重負載終負載下時延增加,高延遲毛刺增多,讀寫穩定性不足。

實際場景中,雲原生存儲面臨的 7 個挑戰

解決方案

  • 分散負載到多文件系統,通過容器編排分散 IO 到多文件系統
  • 存儲產品的盤古 2.0 改造

集中式高吞吐寫對共享存儲池衝擊

場景

高性能計算場景中,集中處理批量數據,10Gbps 讀寫請求進入同一存儲集群。

問題

同一存儲集群中的帶寬擠佔,造成訪問質量下降。

實際場景中,雲原生存儲面臨的 7 個挑戰

解決方案

  • 分散負載到多文件系統和多個存儲集群/多個可用區,通過容器編排分散 IO 到多文件系統;
  • 使用獨佔高性能並行文件系統。

峰值吞吐不足

場景

大規模生物數據處理, 文件數目少,峰值吞吐高 10Gbps-30Gbps,請求密集 1W/s。

問題

接近獨佔集群的極限帶寬。

實際場景中,雲原生存儲面臨的 7 個挑戰

解決方案

  • 讀寫分流,分流讀請求到 OSS,寫請求負載分流到獨佔文件系統和本地/遠程塊存儲,通過容器編排分散 IO 到多文件系統;
  • 使用應用層分佈式緩存降低網絡讀 IO;
  • 存儲產品的盤古 2.0 改造。

時延增加導致 GPU 等待

場景

多機多卡 GPU 訓練,直接讀取 OSS 數據,讀密集型。

問題

時延增加導致 IOwait 和 GPU 等待。

實際場景中,雲原生存儲面臨的 7 個挑戰

解決方案

  • 應用層透明 POSIX 讀訪問 OSS;
  • 使用應用層分佈式緩存降低網絡讀 IO。

存儲彈性

場景

  • 數據庫擴容, MySQL and etc;
  • 元數據管理應用在線擴容 Zookeeper/etcd;
  • 本地盤存儲容量無法擴容。

解決方案

  • 雲盤在線擴容,應用控制面文件系統/邏輯卷離線,在線擴容能力;
  • 單機雲盤掛載密度;
  • 存儲產品 ESSD 的替換使用。

存儲高可用

場景

  • 應用運維,系統運維;
  • 塊存儲隨容器遷移的穩定性和可發現性。

解決方案

  • 控制平面聲明式存儲快照,備份,定時快照備份,本地快照加速備份和恢復;
  • 控制平面雲盤 SerialNum 的可發現性改造。

存儲的加密

場景

  • 用戶應用的全鏈路數據加密需求;
  • 操作系統盤加密。

解決方案

  • 產品存儲的 CMK,BYOK 支持
  • 控制平面的加密聲明支持
  • RAM 權限的最小化控制

存儲的隔離性

場景

  • 單盤多應用共享,單機日誌盤塊存儲切分
  • 單塊本地盤/雲盤吞吐能力不足
  • 文件系統多租戶環境的容量配額
  • 集群級文件系統共享訪問的權限控制

解決方案

  • 控制面 LVM 切分,控制面塊存儲 blkio buffer IO 應用級限速
  • 控制面 LVM 多盤聚合和條帶
  • 存儲產品共享文件系統的目錄級 Quota
  • 控制面文件系統的目錄級 ACL

存儲的可觀測性

場景

多租戶 Zookeeper/etcd,租戶/應用級的 IO 指標監控和預警。

解決方案

  • 控制面應用級 IO Metrics 採集能力
  • 控制面設備級 IO Metrics 採集能力
  • 控制面掛載點級 IO Metrics 採集能力

存儲的生命週期

場景

共享文件系統/緩存系統的聲明式創建和刪除。

解決方案

  • Operator: 雲盤/本地盤 (TiDB)
  • Operator: 文件系統,CPFS
  • Operator: 對象存儲

雲原生存儲 v2

針對以上在新的計算模式下,存儲方面遇到的性能,彈性,高可用,加密,隔離,可觀測性,生命週期等方面的問題,不但是需要存儲產品層次的改進,更需要在雲原生的控制/數據平面的改進,在不久的將來實現穩定,安全,自治,和效率並舉的雲原生存儲 v2。

  • 穩定:阿里雲存儲的全品類支持可觀測性, Flexvolume and CSI plugins/IO metrics (CSI for 1.14);
  • 安全:全連路數據存儲的可靠/可信存儲支持,CSI 快照加密,系統盤加密;
  • 自治:雲盤快照 /本地快照 ,離線在線的存儲擴容能力, 元數據自動發現;
  • 效率:I/O 隔離 、可伸縮性/雲盤再次分割提升密度/分佈式存儲緩存。
實際場景中,雲原生存儲面臨的 7 個挑戰

需要在雲原生應用層、存儲雲產品層、底層存儲適配和存儲核心層都需要做相應的改進和提升才有可能提供更加穩定,安全,自治和高效的面向應用的雲原生存儲。

實際場景中,雲原生存儲面臨的 7 個挑戰

總結

  • 雲原生存儲是雲存儲 UI 和效率等能力的集合;
  • 分層存儲,不重新發明輪子;
  • 新的工作負載推進雲原生存儲和雲存儲的演進,雲原生控制平面實現效率,自治方面能力,從數據面提升存儲穩定和減小安全隱患,雲存儲繼續夯實性能,容量,彈性,密度等基礎能力,共建雲原生環境下的存儲生態。

在雲原生存儲 v2 的演進過程中,仍然需要容器團隊和存儲團隊,通力合作,共同提升的雲原生時代的存儲能力。

實際場景中,雲原生存儲面臨的 7 個挑戰

“阿里巴巴雲原生關注微服務、Serverless、容器、Service Mesh 等技術領域、聚焦雲原生流行技術趨勢、雲原生大規模的落地實踐,做最懂雲原生開發者的公眾號。”


分享到:


相關文章: