作者 | Eric Li (壯懷) 阿裡巴巴雲原生存儲負責人
引言
随着雲原生應用對可遷移性、擴充性和動态特性的需求,對雲原生存儲也帶來了相應的密度、速度、混合度的要求,是以對雲存儲基本能力之上又提出了在效率、彈性、自治、穩定、應用低耦合、GuestOS 優化和安全等方面的訴求。參考
《雲原生存儲和雲存儲有什麼差別?》新的企業負載/智能工作負載容器化、遷雲、存儲方面遇到的性能、彈性、高可用、加密、隔離、可觀測性及生命周期等方面的問題,不但需要存儲産品層次的改進,還需要在雲原生的控制/資料平面的改進,推進雲原生存儲和雲存儲的演進。下文将分别介紹一下問題場景及問題,探讨可行的解決方案,最終可以得出雲原生存儲、雲存儲目前可以做什麼和未來還需要做什麼。
存儲性能
長時延增加
場景
高性能計算場景中,集中處理批量資料,通過容器叢集,同時啟動數千 Pod,彈出數百 ECS 對共享性檔案系統讀寫。
問題
重負載終負載下時延增加,高延遲毛刺增多,讀寫穩定性不足。
解決方案
- 分散負載到多檔案系統,通過容器編排分散 IO 到多檔案系統
- 存儲産品的盤古 2.0 改造
集中式高吞吐寫對共享存儲池沖擊
高性能計算場景中,集中處理批量資料,10Gbps 讀寫請求進入同一存儲叢集。
同一存儲叢集中的帶寬擠占,造成通路品質下降。
- 分散負載到多檔案系統和多個存儲叢集/多個可用區,通過容器編排分散 IO 到多檔案系統;
- 使用獨占高性能并行檔案系統。
峰值吞吐不足
大規模生物資料處理, 檔案數目少,峰值吞吐高 10Gbps-30Gbps,請求密集 1W/s。
接近獨占叢集的極限帶寬。
- 讀寫分流,分流讀請求到 OSS,寫請求負載分流到獨占檔案系統和本地/遠端塊存儲,通過容器編排分散 IO 到多檔案系統;
- 使用應用層分布式緩存降低網絡讀 IO;
- 存儲産品的盤古 2.0 改造。
時延增加導緻 GPU 等待
多機多卡 GPU 訓練,直接讀取 OSS 資料,讀密集型。
時延增加導緻 IOwait 和 GPU 等待。
- 應用層透明 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 隔離 、可伸縮性/雲盤再次分割提升密度/分布式存儲緩存。
需要在雲原生應用層、存儲雲産品層、底層存儲适配和存儲核心層都需要做相應的改進和提升才有可能提供更加穩定,安全,自治和高效的面向應用的雲原生存儲。
總結
- 雲原生存儲是雲存儲 UI 和效率等能力的集合;
- 分層存儲,不重新發明輪子;
- 新的工作負載推進雲原生存儲和雲存儲的演進,雲原生控制平面實作效率,自治方面能力,從資料面提升存儲穩定和減小安全隐患,雲存儲繼續夯實性能,容量,彈性,密度等基礎能力,共建雲原生環境下的存儲生态。
在雲原生存儲 v2 的演進過程中,仍然需要容器團隊和存儲團隊,通力合作,共同提升的雲原生時代的存儲能力。
“ 阿裡巴巴雲原生 關注微服務、Serverless、容器、Service Mesh 等技術領域、聚焦雲原生流行技術趨勢、雲原生大規模的落地實踐,做最懂雲原生開發者的公衆号。”