什么是超融合?超融合基礎架構的本質(zhì)是什么?
近年來各個行業(yè)對超融合(Hyperconverged Infrastructure, 簡稱 HCI)的關注度越來越高,但各家廠商的超融合架構實現(xiàn)方法各有不同。我們在這里不評判對錯,也不去探究這些是不是真正的超融合,而是重新追本溯源,思考為什么超融合現(xiàn)在被關注,什么樣的 IT 架構更 “合適” 于當今的商業(yè)。
首先,關于什么是超融合,我們可以參考維基百科中的如下定義:
超融合基礎架構(hyper-converged
infrastructure)是一個軟件定義的 IT 基礎架構,它可虛擬化常見“硬件定義”系統(tǒng)的所有元素。HCI
包含的最小集合是:虛擬化計算(hypervisor),虛擬存儲(SDS)和虛擬網(wǎng)絡。HCI 通常運行在標準商用服務器之上。
SmartX 選擇超融合架構的原因,是傳統(tǒng)存儲解決不了現(xiàn)在企業(yè)數(shù)據(jù)中心的問題。據(jù)麥肯錫研究顯示,全球的 IT 數(shù)據(jù)每年在以 40% 的速度增加中。數(shù)據(jù)正在逐步影響商業(yè),企業(yè)通過數(shù)據(jù)的分析來做決策與管理。完成快速的分析決策和管理,就需要借助強大的數(shù)據(jù)中心。下圖為傳統(tǒng) SAN 存儲:

但是,光靠越來越快、核數(shù)越來越多的 CPU 是不夠的,瓶頸在于傳統(tǒng)存儲的硬盤太慢了,CPU 大部分計算能力都空閑或者說在等待存儲數(shù)據(jù)傳輸過來。傳統(tǒng)存儲容量和性能不具備和計算能力匹配的可擴展性,不能滿足企業(yè)進行數(shù)據(jù)訪問的需求。

這個問題并不是現(xiàn)在才有。Google 很早遇到這個問題。那么 Google 是如何做的呢?
作為一個給全世界互聯(lián)網(wǎng)網(wǎng)民提供數(shù)據(jù)檢索的企業(yè),Google 考慮過 EMC、IBM,還有當年的 SUN 存儲產(chǎn)品,但是都解決不了它的問題。無論是容量還是性能,這些公司的產(chǎn)品都無法滿足 Google 的規(guī)模需求。于是 Google 只能自己建立一個適合自己的數(shù)據(jù)搜索的存儲結構了。
Google 優(yōu)秀的計算機科學家們,打破了傳統(tǒng)的存儲思維,利用服務器的本地硬盤和軟件構建了一個容量和性能不斷可擴展的分布式文件系統(tǒng),并在其上構建了其搜索和分析的計算引擎。
不用把數(shù)據(jù)從存儲端取出來,然后通過網(wǎng)絡傳輸?shù)接嬎愣,而是將計算直接分發(fā)到存儲上運行,將 “計算” 作為傳輸單元進行傳輸,這樣大量的存儲數(shù)據(jù)都是本地訪問,不需要再跨網(wǎng)絡上傳輸了,自然訪問很快。于是乎,自然而然地,“計算” 和 “存儲” 運行(“融合”)在了一個服務器上,這里也看到超融合架構的一個優(yōu)勢就是,本地訪問數(shù)據(jù),不必跨網(wǎng)絡。

現(xiàn)代企業(yè)的數(shù)據(jù)量越來越大,應用越來越多,他們開始面臨當年 Google 遇到的問題,CIO 要考慮怎么更高效的構建自己的計算和存儲的基礎架構,來滿足應用的數(shù)據(jù)訪問需求。
虛擬化為更容易的管理應用而生,它解決了 CPU、內(nèi)存資源閑置的問題。但隨著虛擬化的大規(guī)模應用,虛擬機越來越多,虛擬機在傳統(tǒng)存儲上運行卻越來越慢了!奥 造成 “體驗差”,“體驗差” 成為了限制虛擬化應用的最大的瓶頸。這里面的最重要原因自然是,存儲的 I/O 性能不夠,大量的虛擬機和容器同時運行,I/O 的混合,使得隨機讀寫急劇增加,傳統(tǒng)存儲的結構無法承受大量的隨機 I/O。
超融合恰恰是為了解決這個問題,才被帶到了虛擬化和容器領域。同時,業(yè)內(nèi)也存在不同的解決 I/O 問題的方法,我們先嘗試分析下其他的解決方法。
- 解決方法一:在存儲設備采用 SSD 做 Cache,加速 I/O。這在一定的規(guī)模下可能有效,但是存儲設備的 SSD Cache 通常比例較小,不足 5% 的容量比的情況下,自然滿足不了用戶的熱數(shù)據(jù)的緩存需求。另外,仍然無法隨需擴展,所有的數(shù)據(jù)仍然要從集中的存儲控制器流出,這個集中的 “收費站” 勢必堵塞 “高速公路”。
- 解決方法二:使用服務器側 SSD 做 Cache,加速 I/O。這種類似的解決方案,通常缺乏高可靠性軟件的支撐,服務器端的 Cache 如果用做寫 Cache,存在單點失效的問題,需要在多個服務器的 Cache 設備上,做副本來提供可靠性,可以說這是一個閹割版的超融合架構,將 Cache 放到服務器端,仍然使用傳統(tǒng)存儲,當 Cache 滿,需要被寫回傳統(tǒng)存儲的時候,仍然被傳統(tǒng)存儲的 “控制器” 限制整體性能。
我們看到,上面的兩種方案都是受限于傳統(tǒng)存儲的結構。超融合存儲則不一樣,通過完全去掉傳統(tǒng)存儲,利用分布式文件系統(tǒng)來提供 “不可限量” 的性能和容量,在這個基礎上,再通過 Cache 進行加速,甚至全部使用閃存(全閃存產(chǎn)品)來構建都是自然而然,不被限制了。
因此,超融合架構不是為了讓單臺服務器的存儲飛快,而是為了讓每增加一臺服務器,存儲的性能就有線性的提升,這樣的存儲結構才不限制企業(yè)業(yè)務的運行,并保證業(yè)務的可靠性。

正因為這種擴展性很好的共享存儲,使得整個 Google 的業(yè)務得以順暢地運轉。SmartX 在做的就是這樣的更好的、更穩(wěn)定的基礎服務。
另外,超融合近幾年得以快速發(fā)展的原因,這要歸功于硬件設備。CPU 核數(shù)越來越多,服務器的內(nèi)存容量越來越大,SSD 設備和網(wǎng)絡互聯(lián)網(wǎng)設備越來越快,這意味著:
- 服務器的資源除了運行業(yè)務以外,仍然可以預留出來足夠的 CPU,內(nèi)存資源來運行存儲軟件。將存儲軟件和業(yè)務運行到一塊,既減少了設備量,減少了電力使用,本地讀取也提高了 I/O 的存取效率。這在幾年前是做不到的,因為 CPU 和內(nèi)存太有限了。
- 網(wǎng)絡互聯(lián)越來越快,無論是萬兆,40Gb 以太網(wǎng),還是 Infiniband(無限寬帶技術),使得我們的軟件能夠?qū)ⅹ毩⒌拇鎯υO備進行互連,通過分布式文件系統(tǒng)形成共享的存儲池,供上層應用使用。
- 如果說 SSD 等硬件廠商讓單個存儲設備跑的更快,我們的軟件的意義在于,讓超大量的這些存儲設備,一起工作,提供無止境的整體性能和容量。
上面我們闡述了傳統(tǒng)存儲對現(xiàn)代企業(yè)大量數(shù)據(jù)和隨機 I/O 處理的表現(xiàn)乏力、超融合架構因何滿足企業(yè)需求以及超融合架構得以快速發(fā)展的原因。
下面將進一步解釋在超融合架構中,層次存儲為什么是提升數(shù)據(jù)的 I/O 性能的最好選擇。
首先,讓我們追溯到現(xiàn)代計算機體系結構中,解決系統(tǒng)性能瓶頸的關鍵策略:Cache。
現(xiàn)代計算機體系結構是基于馮·諾依曼體系結構構建的,馮 · 諾依曼體系結構將程序指令當做數(shù)據(jù)對待,程序和數(shù)據(jù)存儲在相同的存儲介質(zhì)(內(nèi)存)中,CPU 通過系統(tǒng)總線從內(nèi)存中加載程序指令和相應的數(shù)據(jù),進行程序的執(zhí)行。
馮 · 諾依曼體系結構解決了計算機的可編程性問題,但是帶來了一個缺點,因為程序指令和數(shù)據(jù)都需要從內(nèi)存中載入,盡管 CPU 的速度很快,卻被系統(tǒng)總線和內(nèi)存速度的限制,不能快速的執(zhí)行。為解決這個問題,Cache 的理念被提出,通過在 CPU 和內(nèi)存之間加入更快速的訪問介質(zhì)(CPU Cache),將 CPU 經(jīng)常訪問的指令和數(shù)據(jù),放置到 CPU Cache 中,系統(tǒng)的整體執(zhí)行速度大幅度提升。
I/O 性能瓶頸問題轉移到了存儲
如果內(nèi)存的訪問速度相對 CPU 太慢,那么磁盤的 I/O 訪問速度相對 CPU 來說就是 “不能忍” 了。下表是不同存儲介質(zhì)的訪問延時,在虛擬化環(huán)境下或云環(huán)境下,由于 I/O 基本都是隨機 I/O,每次訪問都需要近 10ms 的尋道延時,使得 CPU 基本處于 “等待數(shù)據(jù)” 的狀態(tài),這使得核心業(yè)務系統(tǒng)運轉效率和核心應用的用戶體驗都變得很差,直觀的感受就是業(yè)務系統(tǒng)和桌面應用 “很卡”。

基于 SSD 構建平衡系統(tǒng)
和前人解決內(nèi)存訪問延時問題的思路類似,現(xiàn)在的主流方法是使用內(nèi)存和 SSD 作為 Cache 來解決 I/O 性能瓶頸。存儲系統(tǒng)能夠分析出數(shù)據(jù)塊的冷熱程度,將經(jīng)常訪問的數(shù)據(jù)塊緩存到內(nèi)存和 SSD 中,從而加速訪問。
不論是全閃存存儲,還是混合介質(zhì)存儲,從某種意義上講都是層次存儲,只不過混合陣列多了一層磁盤介質(zhì)。
學過計算機體系結構的人都聽說過著名的 Amdahl 定律,這里我們要介紹一個 Amdahl 提出的 “不那么著名” 的經(jīng)驗法則:
在一個平衡的并行計算環(huán)境中,每 1GHz 的計算能力需要 1Gbps 的 I/O 速度與之匹配。
假設一臺服務器有 2 顆 E5-4669 v3 的 CPU,每顆 CPU 有 18 個核,36 個超線程,主頻是 2.1GHz,那么我們可以計算一下,這樣的一臺服務器需要 151Gbps (即~19GBps)的帶寬。在大規(guī)模的云計算(虛擬機算)環(huán)境中,極端情況下,大量的 I/O 并發(fā)使得存儲收到的 I/O 都變成隨機 I/O,在這么一個并發(fā)環(huán)境中,假設我們的訪問大部分都是 8KB 的讀寫,根據(jù)上面的計算,我們需要為一臺服務器配備近 250 萬的 IOPS 讀取速度。
在不考慮系統(tǒng)總線的情況下,如果我們用 SAS/SATA 硬盤來提供這個 IOPS,即使每個 SAS/SATA 盤可以提供近 250 的 IOPS(實際數(shù)值更小),僅為構建一臺平衡的服務器計算存儲環(huán)境,就需要大概 1 萬個 SAS/SATA 硬盤。在稍大規(guī)模的虛擬化環(huán)境,想要搭出一個平衡的系統(tǒng),用傳統(tǒng)的 SAS/SATA 硬盤幾乎不可能完成任務。但是如果采用能夠提 10 萬 “寫 IOPS” 的 SSD 設備,25 塊 SSD 就夠了。
層次存儲的優(yōu)勢
“層次存儲” 是相對 “全閃存” 而言,是指將容量大但是速度較慢的 HDD 和速度快的 SSD 同時構建在系統(tǒng)中,通過數(shù)據(jù)的訪問特性,將經(jīng)常訪問的熱數(shù)據(jù)放置在 SSD 中,而冷數(shù)據(jù)放置在 HDD 中。
首先,為構建一個平衡的虛擬化環(huán)境,需要大量的 SSD 設備來提供足夠的 IOPS。但是 SSD 也不是完美的。目前的 SSD 擦寫次數(shù)有限、價格高。層次存儲將熱數(shù)據(jù)放置在 SSD 層中,而大量的冷數(shù)據(jù)仍然放置在 SATA 硬盤上,熱數(shù)據(jù)周期性的同步到 HDD 硬盤,既為用戶熱數(shù)據(jù)提供了高 IOPS 的保障,也通過 SATA 硬盤提供了更大的容量和可靠性。
下圖是對 11 個開發(fā)人員桌面負載的 I/O 統(tǒng)計,包含了對 5.1TB 大小的存儲上的 76 億次 IO 訪問和 28TB 的數(shù)據(jù)傳輸。首先值得注意的是,有 3.1TB (62%) 的數(shù)據(jù),在一年內(nèi)從來沒有被訪問過,這意味著這些數(shù)據(jù)無論是放置在 SSD 上,還是 SATA 上,甚至放到 U 盤上拔走,對系統(tǒng)都沒有影響。
數(shù)據(jù)是有冷熱的,這也是為什么 SmartX 超融合可以為用戶提供高性價比的層次存儲方案,卻能夠讓用戶得到類似全閃存存儲體驗的原因。
文章來源:@SmartX 超融合,如涉及到版權問題,請聯(lián)系網(wǎng)站管理員刪除!
- 上一篇:深入理解虛擬化 2023/1/1
- 下一篇:網(wǎng)絡安全100個小知識 2023/1/1