【ESSD技术解读】ESSD Auto PL规格,引领IO性能弹性新方向
前言
作為 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 的性能和服務質量保障能力,提高用戶使用體驗,為客戶提供永不停機的計算服務。
原創作品:阿里云存儲 郗鑒
原文鏈接:https://developer.aliyun.com/article/796062?
版權聲明:本文內容由阿里云實名注冊用戶自發貢獻,版權歸原作者所有,阿里云開發者社區不擁有其著作權,亦不承擔相應法律責任。具體規則請查看《阿里云開發者社區用戶服務協議》和《阿里云開發者社區知識產權保護指引》。如果您發現本社區中有涉嫌抄襲的內容,填寫侵權投訴表單進行舉報,一經查實,本社區將立刻刪除涉嫌侵權內容。總結
以上是生活随笔為你收集整理的【ESSD技术解读】ESSD Auto PL规格,引领IO性能弹性新方向的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux系统TCP内核参数优化总结
- 下一篇: 阿里云IoT何云飞:智物Cloud AI