簡介:阿里雲 ESSD 為雲伺服器 ECS 提供低時延、永續性和高可靠的塊儲存服務,成為雲廠商全閃塊儲存的業界標杆。儲存團隊推出了 ESSD Auto PL 新的雲盤規格,把效能與容量解耦,提供 IO 效能按需供給兩大關鍵特性。AutoPL 具備的靈活性和彈效能力降低了 IT 規模規劃難度和因規劃不當帶來的風險,本文詳細介紹了Auto PL 新產品特性、揭祕背後的技術原理。
前言
作為 IaaS 最重要的核心元件之一,阿里雲 ESSD 為雲伺服器 ECS 提供低時延、永續性和高可靠的塊儲存服務,成為雲廠商全閃塊儲存的業界標杆。隨著越來越多的企業上雲和核心應用上雲,以及容器和 Serverless 架構的蓬勃發展,對塊儲存 IO 效能的彈效能力提出了新的挑戰和需求。阿里雲端儲存團隊在這種背景下推出了 ESSD Auto PL 新的雲盤規格,把效能與容量解耦,提供 IO 效能按需供給兩大關鍵特性。本文結合塊儲存典型業務場景,介紹 Auto PL 新產品特性、揭祕背後的技術原理。
雲端儲存的IO彈性需求和業務痛點
隨著雲原生技術的發展,越來越多的企業基於雲端計算的虛擬化、彈性擴充套件及蓬勃發展的雲原生技術的分散式框架,容器技術、編排系統、持續交付及快速迭代,構建起大規模、彈性擴充套件強、豐富的雲上分散式業務場景;新的計算形態逐步往短週期、輕量化等方向發展,對塊儲存 IO 效能彈性提出了更多需求(效能通常用 IOPS :Input/Output Operations per Second 和吞吐 BPS :Bytes per Second 來描述),以下是比較常見的業務痛點:
- VM/容器批量啟動:計算例項啟動時,系統盤短時間內消耗大量 IOPS 和吞吐 BPS
- 業務高峰:客戶業務面臨不可預期的突發場景,需要雲盤以及 VM 具備短時的突發效能需求的彈性擴充套件能力
- 週期性任務處理:OLAP/批處理在可預見的時間內週期性的提交海量任務,需要雲盤具備突發的彈性擴充套件能力
傳統的塊儲存產品採用效能/容量耦合的產品設計,使用者通過購買雲盤容量獲取相應的 IOPS/BPS 效能上限,通過雲盤擴容同時獲得磁碟容量和 IO 效能。ESSD 支援 PL0/1/2/3 多種效能的檔位(PL:performance level),不同 PL 等級有不同 IO 效能上限,客戶可通過雲盤變配功能提升 PL 等級,從而得到更高的 IOPS/BPS 效能上限。雲原生業務充分利用雲的彈效能力,業務需求上量有個較長的時間週期,通常會預留部分儲存效能餘量。此外,相當部分雲上業務流量存在明顯的波峰波谷行為,大部分時間處於業務低負載期,且業務高峰期和峰值難以準確預估。典型的 IO 流量突發型業務可能在一定時間內出現一個或多個突發 IO 流量,突發時間短、突發效能峰值高,常見於網際網路秒殺等突發業務場景,對效能規劃提出了新的挑戰:如果效能配置預留過高,會造成日常資源的大量閒置浪費;而如果效能預留不足,業務突發洪峰會造成業務受損。總而言之,通過雲盤擴容/變配進行較為精準的效能規劃變得非常困難。
ESSD Auto PL
針對以上業務痛點,阿里雲推出了 ESSD Auto PL 產品規格,支援效能按需配置和按需突發兩個模式,支援 1000 IOPS/GB 的超高單位容量效能上限。效能按需配置主要面向可預期的週期性 IO 流量場景,使用者在新建 ESSD Auto PL 時除了選擇儲存容量,還可單獨配置額外的 IO 效能上限,實現了 IO 效能與容量解耦。針對可預期的 IO 洪峰,使用者可根據業務需求靈活調整 IO 效能,提供可預期的應對能力。
對於難以預期的突發業務洪峰,Auto PL 支援效能按需突發模式,提供最大單盤 100W IOPS,4GB/s 的極限 IO 效能,雲盤根據實際效能需求自動調整,無需進行 IO 效能預測和規劃,充分利用了 ESSD 分散式儲存的彈效能力,徹底解決了突發流量下的效能規劃問題。該功能採用後付費模式,使用者只需按實際發生超出預先配置效能的讀寫次數付費, 保障業務穩定執行的同時,最大化節省使用者的資源配置開銷。以某大型網際網路電商某突發流量場景為例,該業務原來使用 ESSD PL1,效能上限為 50000 IOPS,350MB/s,在業務突發流量場景,有 2.3% 的雲盤打滿 PL1 效能上限影響業務,且業務峰值時間較短,流量峰值無法準確預估。傳統的需要採用 ESSD PL2 來滿足業務突發流量,採用 ESSD Auto PL 並開啟按需突發模式,業務儲存 TCO 下降 49%。
Auto PL 仍然相容了 ESSD PL1 的基準效能,標準的 Auto PL 雲盤效能表現與 ESSD PL1 完全一致,實現存量客戶 & 業務場景無縫切換。另外 ESSD Auto PL 在業界首次同時支援效能按需配置和效能按需突發兩種功能,並且可疊加使用,使用者可根據實際 IO 流量模型靈活配置。
Auto PL技術解析
作為第一個支援效能容量解耦同時支援效能按負載彈性伸縮的雲盤, ESSD Auto PL 需要解決很多技術上的挑戰:比如如何快速感知業務的負載變化,如何動態按需申請釋放資源支援效能伸縮,如何快速平衡負載排程等等。經過反覆打磨,ESSD Auto PL 雲盤設計了細粒度的雲盤切分機制,能夠讓它均衡使用整個後端儲存叢集的資源並快速動態調整;通過叢集容量/效能水位實時監測和排程、多級 QoS 隔離等保障 IO 效能突發引入的流量衝擊和多租戶 IO 干擾等問題。
雲盤細粒度切分
ESSD Auto PL 支援最大 1000 IOPS/GB,遠超 Nand SSD 單位容量的 IOPS 效能。每一塊 ESSD 雲盤的 LBA 地址空間會被劃分為多個條帶組,條帶組的 IO 被分散式演算法打散,分別被不同的儲存節點處理,以充分利用 RDMA 網路和高效能儲存能力。ESSD Auto PL 設計了細粒度的地址空間管理機制,讓小容量雲盤也可以充分打散到多個儲存節點,實現更大範圍的 IO 排程能力,同時大範圍的 IO 排程能力也可以降低儲存叢集單機熱點和部分 IO 長尾延遲。
多租戶隔離和IO優先順序管理
EBS 作為典型的多租戶服務,突發高吞吐/高 IOPS 流量潛在會影響低負載租戶的 IO 延遲,100W IOPS IO Burst 極致效能對隔離能力提出了更高的要求。ESSD 支援例項和雲盤兩層 QoS,例項 QoS 提供多虛擬機器之間的 IO 隔離能力,上限與使用者購買例項的 vCPU 核數強相關,部分小規格例項支援儲存 credit burst 能力,可累積閒時 IO quota 提供最大 30 分鐘的效能突發能力;雲盤 QoS 提供例項內各雲盤的效能上限,與雲盤規格相關。從 VM 發出的 IO 從鏈路上依次通過雲盤、例項兩級 QoS,並進行 Burst IO 流量打標,確保在流量擁塞場景下全鏈路能準確識別 Burst 流量,保證非 Burst 流量得到優先處理。針對 Burst IO 流量引起的系統區域性熱點和 IO 阻塞,實現了IO 流量 10 毫秒級別的業務負載感知和預測,再秒級別完成動態佇列排程和併發度調整,結合硬體解除安裝的佇列動態分發機制、避免在多租戶場景下因為彈性提升帶來多租戶間的效能干擾。
多叢集效能水位負載均衡
極致的 IO 效能彈性對效能 SLA 引入了新的挑戰,特別是 IO 突發效能極限 100W IOPS 引入了更大的流量擁塞風險,為此 ESSD 設計了新的多叢集效能水位負載均衡機制。新的智慧均衡排程機制由叢集/儲存節點/IO 執行緒多級排程組成,根據雲盤效能配置,實時監控元件 IO 負載,實現叢集內秒級 IO 負載均衡、分鐘級別叢集間流量排程,當叢集/儲存節點間流量出現顯著效能水位差異時,實時觸發雲盤熱遷移,解決使用者大批量雲盤負載同時升高的效能爭搶問題。
總結
ESSD AutoPL 作為未來 ESSD 的主售產品,覆蓋面積為當前所有彈性計算面對的行業和客戶。AutoPL 具備的靈活性和彈效能力降低了 IT 規模規劃難度和因規劃不當帶來的風險,將會受運維人員或IT資源採購人員青睞。無論是阿里雲新增客戶,還是存量客戶,ESSD AutoPL 都可以作為 ESSD PL1 的替代產品進行購買。AutoPL 為客戶的業務突發增長提供了既經濟實惠、又簡單便利的使用體驗,期待大家廣泛使用 AutoPL 產品,並且給我們提寶貴的反饋,幫助我們做得更好。我們將繼續通過技術創新來提高 ESSD 的效能和服務質量保障能力,提高使用者使用體驗,為客戶提供永不停機的計算服務。
原創作品:阿里雲端儲存 郗鑑
版權宣告:本文內容由阿里雲實名註冊使用者自發貢獻,版權歸原作者所有,阿里雲開發者社群不擁有其著作權,亦不承擔相應法律責任。具體規則請檢視《阿里雲開發者社群使用者服務協議》和《阿里雲開發者社群智慧財產權保護指引》。如果您發現本社群中有涉嫌抄襲的內容,填寫侵權投訴表單進行舉報,一經查實,本社群將立刻刪除涉嫌侵權內容。