這個(gè)EMC列出的VFCache適用場合中,橫坐標(biāo)為存儲工作負(fù)載的讀/寫比率;縱坐標(biāo)為數(shù)據(jù)訪問的隨機(jī)程度,即以隨機(jī)IOPS為主還是要求帶寬的數(shù)據(jù)(下方與100% of the data并列的應(yīng)該為0% of the IOPS,我們覺得可能是筆誤)。
EMC表示VFCache適用于以IOPS訪問為主,數(shù)據(jù)集相對不大的讀取密集型工作負(fù)載。就像他們在新聞稿中所說的:“將PCIe閃存技術(shù)的優(yōu)勢從社交媒體邊緣應(yīng)用和互聯(lián)網(wǎng)拓展到主流關(guān)鍵應(yīng)用如微軟、甲骨文和SAP。現(xiàn)在的數(shù)據(jù)庫(CRP,ERM), 聯(lián)機(jī)事務(wù)處理系統(tǒng)(OLTP),郵件,網(wǎng)站和報(bào)表系統(tǒng),以及任何擁有緩存工作集的讀密集型工作負(fù)荷…”
可是我們覺得,從性能和成本的角度,任何使用閃存作為介質(zhì)的企業(yè)級存儲產(chǎn)品都適合上述應(yīng)用——高IOPS性能(讀比寫更快)、寫次數(shù)限制、單位容量相對傳統(tǒng)硬盤成本昂貴這些特點(diǎn)。甚至有用戶將一些不太關(guān)鍵的應(yīng)用跑在消費(fèi)類(MLC)閃存存儲上,不是嗎?
當(dāng)然我們不能只考慮這些因素,還有共享訪問能力和數(shù)據(jù)保護(hù)。
Forrester研究公司分析師Andrew Reichman表示,通過在混合架構(gòu)中使用閃存作為緩存,EMC可以使該技術(shù)更好地運(yùn)用于一般企業(yè),F(xiàn)usion-io的薄弱點(diǎn)是數(shù)據(jù)保護(hù)和管理,在其最新季度報(bào)告中,F(xiàn)usion-io表示其57%的收入來自于Facebook和Apple公司。
“如果你是Facebook,你有自己的開發(fā)人員團(tuán)隊(duì),你知道如何保護(hù)數(shù)據(jù)和編寫自己的代碼,知道數(shù)據(jù)的位置,但是對于一般企業(yè)而言,事情并不是這樣,”Reichman表示。
記得筆者在去年8月曾經(jīng)寫過這樣一段話:“Fusion-io的ioMemory系列產(chǎn)品在操作系統(tǒng)中仍然表現(xiàn)為傳統(tǒng)驅(qū)動器的形式,無論是OLTP應(yīng)用中當(dāng)作物理內(nèi)存的補(bǔ)充/替代昂貴的外部存儲,還是CDN(內(nèi)容分發(fā)網(wǎng)絡(luò))的緩存,其應(yīng)用仍有局限,或者說效率依賴于用戶軟件的優(yōu)化程度。”
可以說Fusion-io在最近兩年的“火爆”使越來越多的人開始關(guān)注PCIe閃存卡,該公司是這個(gè)領(lǐng)域的先行者。當(dāng)我們看到其ioDrive產(chǎn)品在性能和延時(shí)方面的優(yōu)秀表現(xiàn)時(shí),同時(shí)也意識到它與傳統(tǒng)網(wǎng)絡(luò)存儲系統(tǒng)的差異之處。
回到大約十年前,筆者最初接觸外部控制器RAID磁盤陣列的時(shí)候,一個(gè)重要的應(yīng)用就是服務(wù)器高可用(HA)。當(dāng)時(shí)Linux的流行程度還不如今天,但無論是Windows Server環(huán)境下的MSCS集群、IBM AIX還是HP-UX等服務(wù)器系統(tǒng)的高可用,都需要后端的共享存儲系統(tǒng)。它們可以通過SCSI、光纖通道或者后來的以太網(wǎng)(iSCSI等)連接到主機(jī),在集群中一臺服務(wù)器故障時(shí)由另外的一臺或幾臺服務(wù)器接管后端存儲上的應(yīng)用數(shù)據(jù),使業(yè)務(wù)中斷的影響減到最小。
顯然,單獨(dú)依靠Fusion-io的ioDrive閃存卡是無法實(shí)現(xiàn)多臺主機(jī)共享訪問的。盡管Fusion-io支持一半的閃存空間作為鏡像的數(shù)據(jù) 保護(hù)模式(存儲容量減半),但FPGA閃存控制芯片以及所在服務(wù)器的一些組件還是有可能成為“單點(diǎn)故障”。因此當(dāng)我們將重要的數(shù)據(jù)放在上面時(shí),必須考慮使 用復(fù)制等容災(zāi)手段。
而中高端外部存儲系統(tǒng)的可用性普遍達(dá)到了99.999%,除了類似于服務(wù)器上的電源和風(fēng)扇設(shè)計(jì)之外,驅(qū)動器、RAID控制器也都具備冗余能力。而且對于關(guān)鍵業(yè)務(wù)數(shù)據(jù)的保護(hù),企業(yè)級磁盤陣列普遍能夠提供快照、本地/遠(yuǎn)程復(fù)制和鏡像等軟件功能。
因此,在Fusion-io這樣的PCIe閃存卡大規(guī)模應(yīng)用之前,EMC等傳統(tǒng)存儲廠商已經(jīng)開始將驅(qū)動器形式的SSD應(yīng)用于他們的存儲系統(tǒng)中,提供 給用戶比傳統(tǒng)機(jī)械硬盤更好的IOPS性能。為了進(jìn)一步提高閃存的使用效率,自動分層存儲和陣列上的緩存這兩種技術(shù)開始配合SSD工作,比如EMC的 FAST和FAST Cache(現(xiàn)在統(tǒng)一歸屬為FAST VP)。而NetApp很早就將固態(tài)存儲器用于自家的FAS統(tǒng)一存儲產(chǎn)品中,第二代PAM II PCIe卡將DRAM換成了閃存——被稱為Flash Cache的讀緩存加速器。
NetApp Flash Cache在硬件上接近于Fusion-io,但由于它位于陣列控制器內(nèi)部,因此不會影響共享訪問。如今EMC推出的VFCache也是一塊PCIe閃存 卡,用于后端陣列的讀緩存不會影響到數(shù)據(jù)保護(hù),安裝在服務(wù)器上不用經(jīng)過存儲網(wǎng)絡(luò)使它具備相對更好的性能,但目前還不具備不同物理主機(jī)間的共享能力。
接下來的一頁,我們將討論EMC VFCache目前的功能限制,有哪些計(jì)劃中尚未加入支持的特性?Fusion-io在服務(wù)器閃存緩存領(lǐng)域的競爭策略及優(yōu)勢等。
EMC VFCache當(dāng)前局限,F(xiàn)usion-io的優(yōu)勢
EMC VFCache硬件——來自美光(Micron)的300GB PCIe SLC NAND閃存卡
我們之前看到EMC宣傳閃電計(jì)劃時(shí)出示的是一塊全高PCIe閃存卡,應(yīng)該屬于內(nèi)部的早期評估樣品,如今正式發(fā)布的半高PCIe使它能夠兼容于絕大多數(shù)1U和2U機(jī)架式服務(wù)器。
使用VFCache的寫操作范例
與后端存儲系統(tǒng)結(jié)合的服務(wù)器閃存緩存方案,是EMC VFCache相對于DAS(直連存儲)最大的優(yōu)勢。根據(jù)上圖的原理,VFCache驅(qū)動軟件除了攔截不超過64KB大小的I/O請求(通常為隨機(jī)操作)并將其緩存到PCIe閃存卡用于加速訪問之外,在應(yīng)用程序進(jìn)行寫操作時(shí)不做改變,仍然是直接通過FC HBA卡寫入后端SAN存儲并等待其反饋成功信息(上圖中的虛線),因此VFCache硬件故障不會導(dǎo)致數(shù)據(jù)丟失。
FAST集成、分布式緩存一致性暫未提供
去年6月,筆者應(yīng)該是第一個(gè)于國內(nèi)媒體中發(fā)表關(guān)于EMC“閃電計(jì)劃”的原創(chuàng)評論分析。上圖為當(dāng)時(shí)引用自基辛格在EMC World演講中的ppt。對于“擴(kuò)展FAST套件到服務(wù)器”的說法,我們認(rèn)為現(xiàn)在還沒有實(shí)現(xiàn),因?yàn)閂FCache的fiter driver相當(dāng)于一個(gè)對上層應(yīng)用透明的卷管理器;而EMC存儲陣列目前還不具備對VFCache的可見性,也就是說存儲系統(tǒng)的管理軟件還不能管理它,有待于未來進(jìn)一步的集成。
至于分布式緩存一致性,它也是EMC VPLEX上的一個(gè)重要基礎(chǔ)技術(shù)。如果VFCache提供對它的支持,能夠?qū)⒅按鎯μ摂M化設(shè)備基于內(nèi)存的分布式緩存擴(kuò)展到服務(wù)器本地閃存,而不需要斷電保護(hù)。當(dāng)一臺服務(wù)器上的數(shù)據(jù)訪問,能夠在另一臺主機(jī)的VFCache命中時(shí),也不用去訪問后端陣列了。而EMC VFCache目前還不支持分布式緩存一致性,我們覺得可能是因?yàn)槠鋸?fù)雜性,首先需要在每臺主機(jī)上保持元數(shù)據(jù)的同步一致,另外不同服務(wù)器上的VFCache閃存卡之間移動數(shù)據(jù)都需要經(jīng)過網(wǎng)絡(luò),容易會帶來可靠性和性能上的不確定因素。
因此,VFCache暫時(shí)還無法支持共享磁盤環(huán)境和active/active集群,包括不能使用像VMware集群的vCenter DRS(Distributed Resource Scheduler,分布式資源調(diào)度)和用于復(fù)制的vCenter SRM(Site Recovery Manager,站點(diǎn)恢復(fù)管理器)這樣的功能,同樣在執(zhí)行vMotion虛擬機(jī)遷移之前,也需要先停止并移出源虛擬機(jī)上的VFCache。
上表為EMC VFCache的軟硬件支持規(guī)格,其中Windows系統(tǒng)兼容64位Server 2008(包括R2)而沒有較早的Server 2003,Linux當(dāng)前也只有RHEL(Red Hat企業(yè)版Linux)5.6和5.7,沒有最新的RHEL 6.0和另一個(gè)主流的Linux發(fā)行版——Suse Linux Enterprise Server。我們能夠理解EMC的驅(qū)動軟件還處于測試當(dāng)中,不過傳統(tǒng)存儲陣列連接主機(jī)的的FC HBA卡和Fusion-io的ioDrive可沒有這些限制。
關(guān)于PCIe閃存卡的NAND制造工藝、容量和性能,筆者不想在本文中過多討論。需要說明的是美光的閃存卡使用了自家的ASIC控制芯片,理論上消 耗的CPU和內(nèi)存資源比Fusion-io要少。不過Fusion-io盡管采用了通用的FPGA,但他們在PCIe閃存卡制造和固件算法上的經(jīng)驗(yàn)也是一 種優(yōu)勢。
Fusion-io首席執(zhí)行官David Flynn曾表示:“他們(EMC)正在使用SLC,以每GB計(jì)算的話其成本要高出3倍。他們會說這是個(gè)不錯(cuò)的東西,但是SLC不如MLC——即使是在企業(yè)級領(lǐng)域。”
Flynn打趣說,EMC使用SLC是因?yàn)樗麄円蕾嚸拦夂推渌M件廠商,而這些廠商并不具備Fusion-io那樣可靠的MLC NAND閃存的能力。“如果他們通過美光采購組件的話,他們必須為此付出代價(jià),支持是我們4到6倍的成本。”
此外,EMC VFCache方案目前每臺服務(wù)器只支持一塊閃存卡,服務(wù)器和存儲陣列之間只支持4Gb/s和8Gb/s光纖通道連接協(xié)議,當(dāng)然重要的一點(diǎn)是只支持EMC 的存儲系統(tǒng)。如今對性能要求較高的應(yīng)用通常還會選擇FC存儲接口,而EMC當(dāng)然也不希望VFCache促進(jìn)其他廠商的陣列銷售。
EMC VFCache具備一種特有的“split-card(切分卡)”功能,允許用戶使用服務(wù)器閃存卡的一部分作為緩存,而另外一部分作為DAS存儲資源來使用。
挑戰(zhàn):如何支持雙活集群和vMotion等功能?
寫到這里,我們再來談?wù)凢usion-io的舉動。美光、STEC等廠商進(jìn)軍PCIe企業(yè)級閃存市場使該公司很難長期保持硬件上的優(yōu)勢,因此他們也在積極研發(fā)和收購相關(guān)的軟件解決方案。
Fusion-io首先發(fā)布了directCache緩存軟件來配合ioDrive閃存卡,能夠支持ACTIVE-PASSIVE FAILOVER CLUSTER(活動-被動故障切換集群,指服務(wù)器雙機(jī)高可用),而不支持像Oracle RAC那樣需要同時(shí)訪問共享塊存儲設(shè)備的HA集群模式。directCache可以說與EMC的VFCache非常類似,當(dāng)然它不會像EMC那樣限定后端的存儲類型和磁盤陣列型號。隨后收購的ioTurbine(以及由它組成的ioCache方案)則是VMware服務(wù)器虛擬機(jī)專用的緩存軟件,其部署方式如下圖:
Fusion-io ioTurbine部署原理圖
EMC VFCache其實(shí)在原理上和Fusion-io ioTurbine也有不少相似之處。拿VFCache為例來說,需要在ESX/ESXi Hypervisor層安裝一個(gè)VFCache Vender Driver,將閃存卡資源分享給上層虛擬機(jī);還有位于虛擬機(jī)上的VFCache Driver(包括VFCache software),用于實(shí)現(xiàn)像在物理服務(wù)器操作系統(tǒng)上那樣將VFCache作為后端陣列讀緩存的功能。
VFCache支持RDM(塊級裸設(shè)備)和VMFS加速,也就是說無論將外部存儲系統(tǒng)創(chuàng)建為虛擬機(jī)共享文件系統(tǒng)datastore,還是透過物理機(jī)上的HBA卡(前提是支持VT-d)直通訪問都可以支持。
既然原理類似,也都是只加速讀的Write-through(策略),為什么ioTurbine能夠支持vMotion而VFCache不支持呢?
我們覺得,這是因?yàn)関Motion、vCenter DRS、SRM這些功能都建立在vCenter對Hypervisor管理的層面上,在將數(shù)據(jù)訪問權(quán)從一臺物理機(jī)切換到另外一臺時(shí),需要先在源端解除 SCSI鎖定。而無論VFCache還是ioTurbine都是在虛擬機(jī)上安裝了第三方驅(qū)動軟件,這時(shí)就需要它的數(shù)據(jù)卷(包括后端存儲和閃存緩存)控制權(quán) 釋放機(jī)制與VMware的軟件功能相配合。即使是EMC與VMware這樣的關(guān)系,VFCache現(xiàn)在還不能支持vMotion等,而ioTurbine 卻能夠做到,正是具備這樣的“功力”促使Fusion-io去收購他們。
筆者還注意到,在ioTurbine公開的資料中,只支持VMware ESX 4.0, ESX 4.1, ESXi 4.1而沒有最新的vSphere 5.0,另外客戶機(jī)VM也只支持Windows Server 2008和2008 R2 (x64-bit only),沒有Linux可見其實(shí)現(xiàn)的難度。應(yīng)該說未來還有很多需要做的工作。
簡單說,閃存緩存軟件幾乎每家都能做,但能否支持雙活訪問和虛擬化集群環(huán)境中的高級功能,就不是那么容易了。據(jù)了解NetApp開發(fā)了有一段時(shí)間的 “水星計(jì)劃(Mercury)”,將會支持VMware的高可用特性、vMotion和DRS,并將支持任何服務(wù)器PCIe閃存卡,以及多卡聯(lián)合功能。
最后一頁,我們再來關(guān)注下EMC后續(xù)將要發(fā)布的Project Thunder(雷電計(jì)劃)。
雷電計(jì)劃(Project Thunder):有哪些創(chuàng)新?
最后,筆者也來談?wù)剬MC下一步“Project Thunder(雷電計(jì)劃,或稱雷霆計(jì)劃)”的觀點(diǎn)。
首先,Project Thunder被稱為“Server Networked Flash(服務(wù)器聯(lián)網(wǎng)閃存)”,較VFCache而言增加了可擴(kuò)展性和共享能力。雷電計(jì)劃在2U/4U服務(wù)器機(jī)箱中使用了一個(gè)輕量級的軟件堆棧,內(nèi)置最多15個(gè)類似于VFCache硬件的PCIe閃存卡,采用了優(yōu)化的高速Infiniband和以太網(wǎng)(估計(jì)是考慮支持已經(jīng)產(chǎn)品化的40GbE,因而放棄了現(xiàn)在剛達(dá)到16Gb/s的FC)RDMA主機(jī)數(shù)據(jù)路徑。能夠提供數(shù)十GB/s帶寬和真實(shí)應(yīng)用環(huán)境中百萬級別的IOPS。
EMC將Thunder定位于VFCache的擴(kuò)展,針對讀和寫延遲/IOPS密集型應(yīng)用來優(yōu)化。既然包括寫數(shù)據(jù),雷電計(jì)劃將可能不只支持作為緩存來使用,而且應(yīng)該具備高可用特性。筆者覺得它更接近一個(gè)EMC全新打造的(相對其現(xiàn)有存儲系統(tǒng)而言)全閃存陣列。就像Texas Memory Systems(TMS)、Violin Memory等廠商的產(chǎn)品那樣。
注:在《SPC-1:閃存 vs.磁盤新舊勢力的戰(zhàn)場》一文中,我們提到TMS RamSan-630全閃存陣列去年曾以400,503 IOPS創(chuàng)造過SPC-1測試的紀(jì)錄,并且具備$1.05/SPC-1 IOPS的優(yōu)異性價(jià)比。
TMS RamSan-720的IOPS和帶寬性能沒有EMC Project Thunder宣傳的那樣高,當(dāng)然它只有1U機(jī)箱的空間占用,堆疊使用也可以將容量和性能翻番。關(guān)鍵的一點(diǎn)是,TMS宣稱RamSan-720是第一款沒有單點(diǎn)故障的全閃存陣列,這使它能夠真正勝任企業(yè)關(guān)鍵應(yīng)用中的高可用存儲。
RamSan-720的高可用建立在雙RAID控制器的基礎(chǔ)上,底層有被稱為“2D Flash RAID”的閃存模塊內(nèi)部(即芯片之間)和跨越閃存模塊的RAID 5,外部主機(jī)接口同樣支持40Gb/s QDR InfiniBand,還有當(dāng)前主流的8Gb/s Fibre Channel。
可以想象,無論服務(wù)器閃存緩存還是全閃存陣列領(lǐng)域的競爭都會越來越激烈,讓我們期待EMC雷電計(jì)劃、NetApp Mercury和其它存儲廠商給我們更多的驚喜,“讓暴風(fēng)雨來得更猛烈些吧!”