浅析 vSAN 磁盘组架构和缓存盘的“消亡”
一、vSAN 中的 DiskGroup 架構的問題與應對思路回顧
如何將分散在多個服務器中的本地盤資源整合成集群范圍可用的“共享存儲資源池”,是超融合架構中的一項關鍵技術。在 vSAN 中,這項技術是通過“盤組(DiskGroup)”來實現(xiàn)的。
1.vSAN DiskGroup 架構簡介
盤組內部采用兩級存儲架構:一層用于數據的臨時緩存 / 緩沖,被稱為“緩存層(Cache Tier)”,每個盤組內的緩存必須有且僅有 1 個采用閃存的高速存儲設備,通常為固態(tài)硬盤 SSD;另一層用于最終存儲數據,被稱為“容量層(Capacity Tier)”,由 1~7 個固態(tài)硬盤或普通磁介質硬盤 HDD 組成。vSAN 允許每個主機使用 1~5 個這樣的磁盤組。如圖 1 所示的例子中,vSAN 超融合集群的每個主機節(jié)點內僅有 1 個盤組,該盤組由 1 塊 SSD 緩存盤和 3 塊 HDD 容量盤組成。
圖 1 vSAN 超融合集群及主機內的盤組結構
由兩級不同的存儲設備構成的盤組結構,最主要的目的是將經常使用的“熱數據”存放在高速 SSD 中,減少對低速 HDD 的直接訪問,從而提升整個盤組的平均讀 / 寫速度。在 10 年之前,SSD 價格還很高的時代,通過使用相對小容量的緩存盤作為”杠桿“,在設定的盤組范圍內達到存儲性能提升的效果,是一種很好的技術思路。這種思路也在被 VMware 以外的其他超融合廠商使用,如深信服。
2.vSAN 盤組技術在實現(xiàn)中的限制
vSAN 的兩級存儲架構在產品化過程中存在一些要求和限制:
① 高速緩存盤的容量至少為盤組中所有低速盤總容量的 10%。
- 如圖 1 所示,每個盤組的容量層總和為 12TB,那么理論上,緩存層至少為 1.2TB;
- 如果低于這個比例,可能達不到理想的緩存提速效果——通俗說,就是“緩存盤太小,帶不動容量盤”;
- 而 vSAN 還有一個技術限制:全閃配置下每個緩存盤上,只有 600GB 空間可以被真正用于對寫數據進行緩沖。
② 每個盤組中只能有 1 塊緩存盤,無法突破每盤組 600GB 可用緩沖空間的限制。
③ 盤組中唯一的緩存盤存在單點故障的可能,如果它損壞了:
- 該盤組將從集群資源池中退出。
- 該盤組內所有容量盤上的數據無法讀取。
- 損失的數據(數 TB ~ 數十 TB)有可能通過保存在其他節(jié)點上的數據進行恢復,但后臺的數據恢復過程中(幾小時 ~ 幾十小時),集群存儲性能不可避免地會出現(xiàn)一定程度的下降。
3.vSAN 部署方案中應對盤組技術限制的思路
以上技術實現(xiàn)中的限制在 vSAN 7 及以前的版本中一直存在。為了降低這些限制對 vSAN 集群部署的影響,VMware 的 vSAN 部署方案設計中給出的應對思路是:增加集群中每臺主機上的盤組數量(如圖 2 所示)。
圖 2 vSAN 集群實施方案設計
vSAN 集群的單臺主機上,最多可以允許設置 5 個盤組。因此,可以通過增加主機內部的盤組數量方法,一定程度上減輕單個緩存盤故障的影響范圍,也就是“把雞蛋放到多個籃子里”。VMware 經過測試,給出的最佳盤組設計方案是:每臺主機內設置 2~3 個盤組,每個盤組內設置 3~5 個容量盤。這種設計與 vSAN 存儲策略中的條帶化數量設置相結合,可以把原本由單塊存儲盤承擔的讀 / 寫工作,盡可能地分散到多個主機、多個盤組的多個 SSD 上來完成,實現(xiàn)了集群級別存儲性能的最優(yōu)化。
4.“最優(yōu)設計方案”面臨的困境
VMware 提供的最優(yōu)設計解決方案卻很難落實到實際項目中,主要因為這個設計思路會導致:
- 硬件成本提高:緩存層 SSD 和容量層 HDD 單盤容量減小,但數量都要增加,有可能還要增加 RAID 卡的數量——以圖 2 的配置舉例,由 1 塊 SSD + 3 塊 HDD,增加為 3 塊 SSD + 6 塊 HDD,1 塊 8 口 RAID 卡也不夠用了,需要再加 1 塊或換成 16 口的。
- 內存消耗增加:每增加 1 個盤組要增加 ~8GB 內存消耗,每增加 1 個容量盤要增加 240~300MB 內存消耗(具體算法參見文末參考文章 1 )。
- 維護復雜度增加:運維人員面對更復雜的結構,更多的 SSD + HDD 數量必然引入更多的故障點。
- 主機機箱內的硬盤槽位消耗增加:壓縮了今后擴容的空間。
- 更難保持 vSAN 集群的“一致性”:VMware 建議一個 vSAN 集群中所有主機上的盤組數量和盤組內部組成結構都應保持一致(盡管允許存在個別主機、個別盤組的配置不同,但差異越大,造成的整體性能下降幅度就越大),初始設計采用的盤組結構越復雜,今后在同一集群內部擴容時,就越難以保證結構的一致性。
由于存在以上困難,大多數用戶的部署中難以滿足理想的 vSAN 盤組設計要求,僅僅選擇以“單盤組”方式運行 vSAN。這也是為什么很多用戶抱怨他們使用的 vSAN 集群的性能達不到 VMware 官方發(fā)布的標準。
5.用戶對 vSAN 盤組結構的期望
對于以上技術限制,vSAN 用戶一直以來希望 VMware 能夠對盤組的實現(xiàn)方式進行改善,最主要的訴求包括但不限于:
這些改進訴求的最終目的,是降低 vSAN 集群硬件選配的復雜度以及硬件采購和維護上的成本。
二、vSAN 8 帶來了什么?
1.vSAN 8 ESA 簡介
2022 年 8 月底,VMware 正式發(fā)布了 vSAN 8 這個里程碑性質的版本。在 vSAN 8 中,引入了“快速存儲架構(Express Storage Architecture)”,這為 vSAN 用戶提供了一種可選替代架構,目標是以全新級別的效率、可擴展性和性能來處理和存儲數據。ESA 不再使用“DiskGroup 盤組”的概念,而是使用“Storage Pool 存儲池”,主機中所有符合要求的存儲設備不再被分為不同的“組”,不再被分為“緩存層”和“容量層”。
同時,vSAN 原有的基于盤組的架構仍然保留,作為可選的 vSAN 方案之一,它現(xiàn)在被稱為 OSA(Original Storage Architecture)。
為了簡化,本文以下部分,就用 ESA 和 OSA 來指代兩種技術架構。
2.ESA 實現(xiàn)了用戶對 OSA 改進的期望嗎?
先公布答案:沒有。
先來看看啟用 ESA 需要什么樣的條件:
數據來源:Comparing the Original Storage Architecture to the vSAN 8 Express Storage Architecture
- 啟用 ESA 的集群每臺主機上,必須使用至少 4 塊高性能、耐用的 TLC NVMe 存儲盤。VMware 表示,“之所以選擇它們,是因為它們能夠提供一致的性能、低延遲和減少存儲處理所需的 CPU”3。由于閃存技術進步了,對應的商用化產品降價了,VMware 認為,磁介質盤不再是性能提升的瓶頸,真正需要高性能的場景,一定會用基于閃存的存儲設備。因此通過高速緩存盤對低速磁盤進行加速,不是 ESA 需要解決的主要問題,ESA 不考慮對于混合盤配置的支持。
- 不是任何主機配備了 TLC NVMe 存儲盤都可以啟用 ESA,這個主機必須是 “vSAN 就緒節(jié)點”(vSAN ReadyNodesTM:經過 VMware 驗證的、符合 vSAN 部署要求的服務器整機產品,組件配置相對固定,用戶不可自行更改,提供多種服務器品牌和配置組合供選擇。)。
- “各節(jié)點配置一致”是“vSAN ReadyNodesTM”的強制要求,也就是說,沒有提供“組件異構”或“節(jié)點異構”的選項。
- 25Gbps 將是對主機網絡的最低要求。
- 需要 vSAN Advanced 或 vSAN Enterprise 許可,才能使用 ESA;vSAN Standard 許可只能使用 OSA。
在創(chuàng)建新的 vSAN ESA 集群時,預檢查流程將確保客戶使用經過批準的硬件,檢查內容包括:是否與 vLCM 配置兼容、最低物理網卡速度、主機的物理內存和磁盤類型。
也就是說,雖然 ESA 表面上符合了前文總結的用戶對 vSAN 的前兩條期望——精簡了主機內部的存儲設備層次、消除了原有緩存盤的單點故障——但需要更高的硬件配置和軟件許可才能實現(xiàn)。這意味著,ESA 并沒有滿足這些用戶期望背后對于“降低成本”的訴求。對于第三條期望,ESA 則完全是背道而馳,進一步嚴格了對主機、存儲和網絡組件的選型要求,提高了用戶使用 ESA 的門檻。
3.ESA 的主要提升體現(xiàn)在哪里?
看上去 ESA 給用戶帶來的收益并不美麗,那么 VMware 為什么要推出這個架構呢?我們可以從 VMware 已經發(fā)布的一系列關于 vSAN 8 的材料中,得到一些 ESA 技術思路的啟示。
(1)“全閃”取代“混閃”
首先,采用高速閃存的存儲設備越來越普及,能夠負擔全閃存儲價格的用戶也越來越多,在大量需要高速讀 / 寫的應用場景中,直接通過全閃配置就可以滿足性能的要求。因此,VMware 認為使用 SSD 作為 HDD 加速杠桿的做法可以不再保留。
(2)減少數據的存儲量
但是,基于 TLC NVMe 的存儲設備價格確實比機械硬盤高,從混閃配置到 TLC NVMe 設備,用戶需要花更多的錢。怎么能降低這部分成本?或者說,怎么讓用戶覺得可以省錢呢?ESA 給出的思路是:推廣并普及基于糾刪碼(Erasure Coding)的數據高可用方法和數據壓縮。這兩種技術可以減少原始數據在存儲設備上占用的空間,從而減少昂貴的閃存盤的數量。
注:由于篇幅所限,關于采用糾刪碼提供數據高可用(RAID-5/6)的原理,以及與鏡像副本(RAID-1)方式在存儲容量需求方面的對比,本文中就不再涉及了。
(3)進一步為 RAID-5/6 提速
用戶對 RAID-5/6 的普遍擔心是寫性能的下降。RAID-5/6 對寫性能的影響主要有兩點:一是使用糾刪碼計算校驗塊(Parity),需要消耗更多的 CPU 計算周期,二是寫入操作會引入額外的讀 / 寫操作(I/O 放大)。
對于第一點,VMware 認為現(xiàn)在 CPU 的計算能力大大提升了,不會成為瓶頸,可以放心使用。
vSAN 8 ESA 中,先接收來自客戶機的寫入數據,對這些數據以 4KB 塊為單位進行壓縮——“數據壓縮”現(xiàn)在也作為 ESA 中默認開啟的選項,新改進的壓縮算法的速度和壓縮效率更高——這減少了對存儲容量的需求,也減少了使用糾刪碼計算校驗塊所需的 CPU 周期。但數據壓縮過程對 CPU 的消耗呢?
ESA 對 RAID-5/6 寫性能方面的主要改進,是針對以上第二點。
注:為了避免陷入性能泥沼,VMware 要求只能在全閃配置的 vSAN 集群上才能啟用 RAID-5/6。這種配置下,讀操作可以不經過緩存盤,直接從容量盤讀取,除非被讀取的數據正好就是緩存盤上的寫緩沖內容。vSAN 7 及以前的版本中,就是以這種方式來避免校驗塊計算可能引入 I/O 的放大。
vSAN 8 ESA 中引入了新的日志結構化文件系統(tǒng)(LFS)和優(yōu)化的日志結構化對象管理器。LFS 將壓縮后的數據塊與元數據打包,并使用鏡像(Mirroring / RAID-1)方式將這些數據 / 副本和對應的日志寫入到不同主機的閃存盤上。臨時存儲這些數據的區(qū)域被稱為“性能分支(Performance Leg)”,它不獨占某個特定的閃存盤,而是分布在每個閃存盤上。這個過程,由于不需要計算校驗塊,寫入速度會很快,客戶機可以在最短時間內獲得寫確認,表現(xiàn)出整體寫性能的提升。
暫時存放在“性能分支”的數據,會被整合為更大的數據塊,計算校驗塊之后,再寫入“容量分支(Capacity Leg)”。這次寫入發(fā)生在后臺,發(fā)起寫入請求的客戶機(虛擬機)早已收到了寫確認,不會感受到其中的延遲。
圖 3 ESA 模式下 RAID-5 寫入流程簡圖
通過以上原理簡介,我們知道 ESA 所宣傳的“不需要專門的緩存盤”,不意味著不使用緩存機制,它只是把“緩存盤”改成了“性能分支”。寫緩沖數據不再獨占某個閃盤,而是將臨時數據作為“性能分支”分散到所有閃盤上的,因此也不再受到原有 600GB 可用緩沖空間的限制。問題是,每個集群上的“性能分支”總共需要占用多少空間?VMware 目前還沒有公布這方面的細節(jié),而是在博客中用了一種很模糊的說法:“它非常小 – 剛好足以將數據傳輸到持久存儲區(qū)域”4。
由于采用了“先鏡像、后糾刪碼”的兩級數據存儲方式,VMware 發(fā)布 vSAN 8 ESA 強調的最主要亮點是:“以 RAID-1 的性能,獲得 RAID-5/6 帶來的存儲空間節(jié)省”4。為了使用戶覺得,ESA 不需要那么多硬件設備,甚至將 OSA 中 RAID-5 采用的“3 數據塊 + 1 校驗塊”模式,“自適應”地降低為“2數據塊 + 1 校驗塊”,從而減少了所需的最低主機數量。以下對比了 OSA 與 ESA 中,RAID-5/6 對主機數量的最低要求。
數據來源:Adaptive RAID-5 Erasure Coding with the Express Storage Architecture in vSAN 8
4.對 vSAN 8 ESA 和 OSA 的小結
至此已經可以看出:vSAN 8 ESA 并不能從根本上解決盤組結構(OSA)中被用戶長期詬病的幾個關鍵問題,而是鼓勵用戶使用更貴的閃盤來獲取更高的性能。OSA 用戶也無法直接遷移到 ESA,因為幾乎所有有意向使用 ESA 的用戶都要重新購買 vSAN ReadyNodesTM 服務器。
為了平衡全閃盤集群給用戶帶來的成本焦慮,ESA 通過:
- 鼓勵用戶使用 RAID-5/6 代替 RAID-1,以減少所需的閃盤容量和數量。
- 通過默認啟用壓縮功能以及對壓縮算法的改進,減少了對存儲空間的要求。
- 改進的 RAID-5 機制小幅降低了對主機數量的要求。
注:這些措施可能對減少存儲空間需求有幫助,但毫無疑問地增加了對于 CPU 資源的消耗。
ESA 在獲得一定程度改善的同時,部分原本在 OSA 上支持的功能,還不能在 ESA 上啟用。關于新版本受到的功能限制和后續(xù)更新,請參見 VMware 官方消息。
在 OSA 方面:
① vSAN 8 保留了對 OSA 的支持,原有 vSAN 用戶可以升級到 vSAN 8 后繼續(xù)使用 OSA 模式,不必強制改用全閃盤結構的 ESA,同一個 vCenter 可以同時管理 OSA 集群和 ESA 集群。
② vSAN 8 的 OSA 模式下,緩存盤上的可用空間從 600GB 提高到 1.6TB,但要注意:
- 此空間僅可用于全閃盤組配置下的寫緩沖。
- 將在每臺主機上、為每個盤組增加 5GB 內存消耗。
無論如何,ESA 消除了“盤組”這一級結構,是一種自我突破。vSAN 發(fā)展過程中的技術亮點和缺陷都值得所有其他超融合存儲產品不斷學習和借鑒,才能提供最符合用戶需求的產品。
三、其他解題思路:“共享緩存”與“智能冷熱數據分層”技術相結合
除了 ESA,是否存在其他避免“盤組”結構復雜化的解決方案?
有的。如國內獨立超融合廠商 SmartX,以自主研發(fā)的分布式塊存儲技術為核心,將“共享緩存”與“智能冷熱數據分層”技術結合,對比“盤組結構”的限制和不足,具有以下優(yōu)點:
- 主機內沒有“盤組”這種結構:在集群內的每個主機上允許共享 2 個以上大容量緩存盤組成的緩存層(單臺主機最大支持 16TB 緩存盤和 80TB 容量盤),避免了緩存層設備的單點故障。
- 通過 2 級 LRU(Least Recently Used)算法對冷熱數據進行生命周期管理,提升數據緩存層利用率。
- 緩存盤上 System 和 Meta data 分區(qū)在節(jié)點內部作鏡像,Journal 和 Cache 分區(qū)支持跨節(jié)點鏡像,進一步提升緩存層的高可用特性。
- 不同規(guī)格型號的主機、緩存盤、容量盤可以組成異構集群,為用戶提供更靈活的擴容選擇。
- 對特定的存儲要求,也支持將全部盤資源用于存儲的“不分層”模式。
- 通過“本地優(yōu)先”的讀寫路徑,提升虛擬機對存儲的訪問性能。
SmartX 分布式存儲可以與 vSphere 進行超融合部署,為困擾于 OSA 盤組結構限制但又無法使用 ESA 的用戶,提供了一種選項。
更多 SmartX 超融合技術講解和測試對比,請參見:
VMware 替代合集 | 技術路線、廠商評估、技術分析與對比
VMware 替代專題 | VMware 超融合國產替代之性能對比篇
VMware 替代專題 | VMware 與 SmartX 分布式存儲緩存機制淺析與性能對比
VMware 替代專題 | VMware 與 SmartX 快照原理淺析與 I/O 性能對比
《不止彈性,更加靈活。一文了解 SmartX 超融合如何擴容》
參考文章:
1. Understanding vSAN memory consumption in ESXi 6.x and 7.x (2113954) | VMware KB https://kb.vmware.com/s/article/2113954
2. Adaptive RAID-5 Erasure Coding with the Express Storage Architecture in vSAN 8 | VMware https://core.vmware.com/blog/adaptive-raid-5-erasure-coding-express-storage-architecture-vsan-8
3.Comparing the Original Storage Architecture to the vSAN 8 Express Storage Architecture | VMware https://core.vmware.com/blog/comparing-original-storage-architecture-vsan-8-express-storage-architecture
4.RAID-5/6 with the Performance of RAID-1 using the vSAN Express Storage Architecture | VMware https://core.vmware.com/blog/raid-56-performance-raid-1-using-vsan-express-storage-architecture
5. An Introduction to the vSAN Express Storage Architecture | VMware https://core.vmware.com/blog/introduction-vsan-express-storage-architecture
6. Increased Write Buffer Capacity for the vSAN 8 Original Storage Architecture https://core.vmware.com/blog/increased-write-buffer-capacity-vsan-8-original-storage-architecture
7. vSAN Frequently Asked Questions (FAQ) | VMware https://core.vmware.com/resource/vsan-frequently-asked-questions-faq
總結
以上是生活随笔為你收集整理的浅析 vSAN 磁盘组架构和缓存盘的“消亡”的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: VSAN超融合笔记
- 下一篇: MIX滤镜大师安卓版