自詡為一個見證了中國存儲發(fā)展的存儲界老混子,也不得不承認,存儲的發(fā)展真的是太快了,以至于還未大展宏圖,就發(fā)現(xiàn)眼前的這片森林已經(jīng)今非昔比。我想這也是當前很多存儲廠商、集成商所面臨的困惑之一。
有很多人曾經(jīng)和我討論過諸如"我們下一步到底該做什么"的話題。有些廠商的做法很簡單,一線品牌廠商做什么,就跟著做什么。這樣最保險,但沒有一定實力的廠商也玩不起。對于二三線廠商,事態(tài)尤為嚴重。換在幾年前,我想很多廠商的目標都比較明確。但隨著近幾年新技術和新概念爆發(fā)式的產(chǎn)生,而存儲領域的產(chǎn)品集成開發(fā)周期又相對較長,導致了目前眾多廠商的迷茫——擔心等產(chǎn)品出來了,卻發(fā)現(xiàn)走錯了路,或者窗口期已經(jīng)過去。
本文試圖對當前多個存儲子層里的多項技術做簡要分析來獲知它們對傳統(tǒng)體系的影響。
存儲介質(zhì)——閃存和SMR磁盤
機械磁盤作為在線主存儲介質(zhì)的地位,可以說幾十年來沒有動搖,是各種存儲技術里最穩(wěn)定的一個了。然而閃存的出現(xiàn),將要改變的不僅是存儲介質(zhì)本身,更將會顛覆整個的存儲生態(tài)鏈。
閃存作為新一代存儲介質(zhì),相比于機械磁盤的優(yōu)點不必多說。一個更加值得思考的問題是,由于閃存并不像機械盤一樣需要高精尖的技術,其入門門檻較低,尤其是閃存控制器的設計生產(chǎn),目前可以說是遍地開花,國內(nèi)已經(jīng)有多家自主產(chǎn)權的閃存控制器及外圍產(chǎn)品。
閃存對傳統(tǒng)的下游存儲廠商的影響也將會是巨大的。首先,基于機械磁盤介質(zhì)所積累成熟的傳統(tǒng)架構基礎面臨崩塌,包括硬件設計比如尺寸、散熱、承重和空間布局等;也包括軟件設計比如數(shù)據(jù)布局、IO性能優(yōu)化和故障預測及恢復等。這也是為何僅僅把傳統(tǒng)存儲系統(tǒng)中的機械盤替換為SSD根本無法發(fā)揮出SSD性能的原因。其次,傳統(tǒng)存儲高大上的形象也會被閃存徹底摧毀,原本松耦合的各種大部件搭配起來的"巨型機器人"將變得非常小巧。最極端的情況甚至可以直接用一塊PCIE Flash卡替代,連影子都消失在了服務器機箱外面。磁盤存儲將退居二線,成為真正的備份用二線存儲,使用步驟或許會是"開機——備份——關機".磁盤存儲將會成為下一代人眼里已徹底淘汰的產(chǎn)品,就像卡帶機一樣。再次,拖累傳統(tǒng)磁盤存儲的另一個包袱,就是那些華而不實的軟件功能,包括自動精簡配置、重刪、快照、分層/緩存和復制等。這些軟件功能除了其中幾個較為常用之外,其他可以說是雞肋,但為了市場競爭又不能沒有,因而陷入惡性循環(huán)。上述軟件功能中的每一項,毫不客氣地說,都是影響性能的。分層和緩存實際上是增加了相對性能,而降低了絕對性能。除了快照、分層和遠程復制之外,其他軟件功能多數(shù)時候都不為人所用。
用戶似乎越來越追求傻快的存儲。這一點在面對"軟件定義"概念時更有說服力了,硬的更硬,軟的更軟。這更進一步拉低了存儲系統(tǒng)的門檻,拋開這些包袱,利用閃存,越來越多的全閃存存儲廠商出現(xiàn)了,而這些全閃存存儲為何基本都沒有出自傳統(tǒng)一線存儲廠商,原因也顯而易見了。
磁存儲領域的一項新技術是SMR(疊瓦式磁記錄),這項技術提升了存儲密度,卻不能保證隨機寫的性能,這一點從原理上講更類似于固態(tài)介質(zhì)的Page 與Block之間的尷尬。希捷等磁存儲廠商也正在研究是否要在SMR磁盤內(nèi)實現(xiàn)類似Flash的管理方式。SMR磁盤面向一寫多讀場景,適用于大數(shù)據(jù)、備份等特定領域。下一步還有熱輔助磁記錄技術,但是遲遲未能商用。看來磁存儲在性能瓶頸之后,可商用的容量瓶頸也即將到達,因此磁存儲淡出舞臺是大勢所趨。
底層框架——芯片、底軟和通道
閃存的出現(xiàn),會影響生態(tài)鏈上所有事物,這其中也包括了最底層的芯片、底層軟件和數(shù)據(jù)通道。
芯片要有足夠強的處理能力來承載起閃存強悍的IOPS性能,包括Flash控制芯片、外圍協(xié)議控制芯片(SAS、 FC、以太網(wǎng)),以及主機CPU.芯片的提速手段有三種,第一是提高內(nèi)部數(shù)據(jù)帶寬,增加器件之間的通道數(shù)量和帶寬,第二是提升器件頻率,第三是將各個子器件進行拆分,增加并行度,在相同電路周期內(nèi)可并發(fā)執(zhí)行更多的指令。然而,沒有免費的午餐,上述任何一個動作,要么會增加芯片的功耗,要么會增加面積,這些都是弊端。目前一線廠商PMC的主流存儲控制芯片實際功耗都控制在15W上下,即便是最新的SAS 12Gb 主控芯片,由于制造工藝的提升,功耗反而比6Gb產(chǎn)品有所降低。到目前為止,主流存儲芯片都是基于MIPS核心+外圍加速電路,MIPS是被公認的 RISC通用處理器領域最經(jīng)典的代表,然而ARM的猛攻也滲透到了存儲芯片領域,在低端市場占據(jù)了席位,包括4端口SATA控制器、低端SoC等等,ARM和MIPS也會在存儲芯片領域持久對峙下去。Intel則由于功耗問題,頗有綁死x86平臺走到底的趨勢,移動終端失策,賣掉電視部門,靠 Atom在大型數(shù)據(jù)中心領域與ARM抗衡,不知道格局能維持多久。
底層軟件方面也是制約存儲性能提升的一大屏障。拿Linux為例,Block層、SCSI中間層這兩大制約IO性能發(fā)揮的重量級軟件層,在機械盤時代發(fā)揮了重要作用,然而在閃存時代,已變成了嚴重拖累性能的罪魁禍首。
繁冗的掃描機制、低效的互斥隊列和捉襟見肘的隊列數(shù)量、陳舊不堪的SCSI協(xié)議,這些對閃存來講都是頭疼的事情,目前閃存產(chǎn)品不得不選擇越過 SCSI層而直接注冊到Block層,然而卻丟失了SCSI層提供的兼容性優(yōu)勢,導致各家在Block下層的協(xié)議實現(xiàn)不統(tǒng)一,增加了開發(fā)成本和管理開銷。
協(xié)議接口方面,基于SCSI體系衍生而來的勢力有三股,一個是FC,另一個是SAS,還有一個是iSCSI純軟件方案。Linux開源社區(qū)最近也在研究如何優(yōu)化SCSI層的問題,看來SCSI是去是留已經(jīng)是個問題了。FC通道前端目前正在逐漸被萬兆以太網(wǎng)殘食,而后端則在幾年前就已經(jīng)被SAS全盤端掉。SAS之所以沒有端掉FC前端有兩個原因,其一是因為FC前端體系并非只存在于存儲設備內(nèi)部,還涉及到交換機,其存量市場并不是僅僅通過替代掉存儲設備的前端通道卡就可以占領的;其二,SAS在光傳輸方面略顯遲鈍,究其原因在于SAS光協(xié)議對于鏈路協(xié)商方面的一項技術實現(xiàn)爭議了良久,直到很晚才確定。 FC也必將淡出舞臺。然而,其接替者并非只有以太網(wǎng)或者SAS.還有另外一項更前瞻的通道技術,那就是PCIE.目前我們所熟知的以太網(wǎng)、FC、 SAS、Infiniband等通道協(xié)議,在主機層面無一不通過PCIE接入系統(tǒng)IO總線。之前的"遠距離"傳輸概念,正在變得模糊,多"遠"算是" 遠",如果PCIE能夠"遠"到一定距離,還要以太網(wǎng)作甚?這個問題問得好。然而,PCIE并不是萬能的,PCIE目前缺失很多交換網(wǎng)絡特性,畢竟之前一直是在系統(tǒng)總線領域,出了總線,就得長距離交換和路由,這方面就得靠以太網(wǎng)和TCP/IP了。然而,同樣的理論,在目前和將來的數(shù)據(jù)中心領域可不見得能套用。
目前的數(shù)據(jù)中心有苗頭正在朝著緊耦合方向發(fā)展,也就是之前一個機架內(nèi)的服務器之間是松耦合的,現(xiàn)在要變得以機架為單位,機架內(nèi)部緊耦合,機架外部松耦合,此時PCIE就有用武之地了,機架內(nèi)部完全基于PCIE矩陣。這個前沿方向目前Intel以及PMC-Sierra都有研究并且有了DEMO.當然,對SAS和SATA的兼容一定是要考慮的,SFF8639接口標準其實是一個三模式(Tri-mode)的接口,把SATA、SAS和PCIE打包到一起,后端則根據(jù)前端接入設備類型路由到SAS Expander/Controller或者PCIE Switch上去。目前看來這個接口已成定局。
數(shù)據(jù)結構——Raid2.0、ErasureCode、分布式及開源
硬件平臺之上的軟件,也在風起云涌的變化著。傳統(tǒng)存儲領域可炒作的概念已經(jīng)沒有了,然而創(chuàng)新又遲遲未見。Raid2.0被幾家廠商在炒作,但終歸也是RaidEE技術的升級翻版。另外, Raid2.0與現(xiàn)在多數(shù)技術一樣,只是提升了相對性能,而沒有提升絕對性能,也就是當磁盤達到一定數(shù)量的時候,這項技術才會顯示出優(yōu)勢,但是依然趕不上相等數(shù)量的磁盤在傳統(tǒng)模式下的絕對性能。Raid2.0對數(shù)據(jù)的處理,已經(jīng)不亞于一個文件系統(tǒng)了,過多的數(shù)據(jù)碎片影響了絕對性能,但是大量的磁盤堆砌又可以掩蓋這一事實。其所獲得的唯一一個絕對好處是重構時間的大幅降低,然而卻犧牲了平時的絕對性能。
Erasure Code技術也不是什么新鮮事。Raid6以及RaidDP技術很早就出現(xiàn)了,那時候人們已經(jīng)發(fā)明了可以容忍更多磁盤同時損壞的技術,只不過受限于隨機寫性能而沒有將其商用。但是時過境遷,大數(shù)據(jù)時代讀多寫少,再加上數(shù)據(jù)量大,RaidDP(DoubleParity)、 RaidTP(TripleParity)甚至允許更多磁盤同時損壞的算法,就又冒出頭來了。
Scale-Out是傳統(tǒng)存儲領域對"分布式"的一個包裝詞,然而傳統(tǒng)存儲理解的分布式和互聯(lián)網(wǎng)及開源領域所認識的分布式骨子里還是不同的。傳統(tǒng)存儲廠商的分布式不是廉價的分布式,它們的分布式完全是為了解決Scale-Up模式的天花板;而互聯(lián)網(wǎng)和開源的分布式骨子里為的就是廉價。表現(xiàn)形態(tài)也不同,前者雖然實質(zhì)上也是x86服務器+分布式軟件管理層,但是依然略顯高大上。
開源的風潮體現(xiàn)在最近的一個新概念里,那就是所謂"軟件定義"了。軟件定義讓二三線廠商師出有名,直接挑戰(zhàn)傳統(tǒng)一線大廠的權威地位,這一點從近期一些二三線廠商的直截了當?shù)穆豆茄葜v即可知道,矛頭直指一線壟斷大廠,似乎在當頭棒喝"憑什么你們就是高大上".
用戶體驗——接口、訪問方式及展現(xiàn)
在對存儲的訪問接口方面,新的訪問接口近幾年在互聯(lián)網(wǎng)的帶動下也爆發(fā)式增長。傳統(tǒng)領域一直在鼓吹所謂"統(tǒng)一存儲"鼓吹了近十多年,早就炒爛了。對象、key-value、文件、塊是目前來講主流的4種訪問形式,其中文件又包含多種子類型比如NFS、CIFS以及各種分布式文件系統(tǒng)訪問協(xié)議,塊又分為FC、SAS、iSCSI.不管訪問形式如何,它們本質(zhì)都是一樣的,都是對一串字節(jié)的請求和回復,只不過這串字節(jié)在不同應用場景下的歸類不同罷了。
在用戶體驗方面,傳統(tǒng)存儲做的較差。但是隨著互聯(lián)網(wǎng)風潮來襲,重視用戶體驗、應用感知、QoS等更加接近用戶層面的功能越來越受到重視。筆者之前所設計的存儲軟件套件SmartX Insight就是從用戶體驗方面來入手,增強存儲系統(tǒng)在整個系統(tǒng)內(nèi)的"存在感",改變傳統(tǒng)存儲一副道貌岸然的樣子。我想這樣更有利于黏住用戶,從而擴大及拓展存儲系統(tǒng)的生存空間和時間。
閃存與數(shù)據(jù)中心——SATA/PCIE及應用場景
目前來看,數(shù)據(jù)中心對Flash的渴求主要集中在幾個固定的應用場景,前端比如 CDN,ISP的帶寬是非常貴的,必須充分利用,所以硬盤必須不是瓶頸。后端則是各級緩存場景,包括各類分布式數(shù)據(jù)庫系統(tǒng)、分布式文件系統(tǒng)的前端基本上都是放了一級或者兩級甚至更多級的緩存,RAM畢竟還是很貴而且容量有限,主要用于第一級緩存直接應對前端的壓力,F(xiàn)lash則可趁機占領一部分后置緩存空間。
數(shù)據(jù)中心對SATA接口SSD的應用占據(jù)了總體形態(tài)的大概90%,剩下的10%主要是PCIE接口的Flash,前者基本上被Intel獨占,后者則是花開幾朵,其中也不乏國內(nèi)廠商。
PCIE Flash是大勢所趨,尤其是支持NVMe標準的設備。但是目前的形態(tài)卻不被看好,別看當下多家在此領域角逐。當下形態(tài)存在的問題是維護困難、版型太大,這些均不符合數(shù)據(jù)中心對硬件資源的要求——一個是維護方便,另一個就是資源性能和容量粒度要盡可能低以便于靈活拼搭。而基于SFF8639接口標準的設備相信馬上就會遍地開花。
綜上所述,各種新技術對存儲系統(tǒng)的方方面面產(chǎn)生了很大影響,如今IT界概念頻出,五色繽紛,眾多的存儲廠商們唯有分析歷史、分析當前,才能看清未來。