
網(wǎng)店有轉(zhuǎn)讓的嗎--IDF 2014春季大會(huì)在深圳舉行,之前幾年北京辦的我都去了現(xiàn)場(chǎng),這次在家寫(xiě)點(diǎn)東西感覺(jué)更靜心一些。有趣的是,去年同期正好我去了趟深圳出差(也是我第一次去深圳),同樣趕上了那里的雨季天氣。
閑話(huà)少說(shuō),書(shū)歸正文。第一天我想寫(xiě)點(diǎn)SSD(固態(tài)硬盤(pán))相關(guān)的內(nèi)容,這篇就先從應(yīng)用談起吧。
VSAN也可以做全閃存?

作為軟件定義存儲(chǔ)的代表,VMware Virtual SAN是最近業(yè)內(nèi)的熱點(diǎn)。利用服務(wù)器本地SSD緩存+硬盤(pán)組成分布式DAS,帶有高可用的虛擬機(jī)DataStore存儲(chǔ)池,甚至被認(rèn)為給傳統(tǒng)SAN共享式存儲(chǔ)系統(tǒng)帶來(lái)了重大威脅。上面列出了它的一些基本特性,我就不一一重復(fù)了,相信現(xiàn)在找到VSAN的資料不難。

如上圖,Intel搞的這個(gè)對(duì)比測(cè)試有什么特別之處嗎?左邊是標(biāo)準(zhǔn)的VSAN設(shè)計(jì)——每臺(tái)物理服務(wù)器上的磁盤(pán)組,包含一個(gè)SSD讀/寫(xiě)緩存和若HDD硬盤(pán);而在右邊似乎用的全是SSD——我可從來(lái)沒(méi)聽(tīng)VMware說(shuō)過(guò)可以這樣搞?有什么意義嗎?

上面這張圖有點(diǎn)像Intel企業(yè)級(jí)SSD的廣告(笑),我把它也列出來(lái)的意思是:Intel認(rèn)為PCIe接口的SSD 910和SATA接口的DC S3700適合作為VSAN的緩存驅(qū)動(dòng)器,理由是HET MLC閃存的高寫(xiě)入壽命;而標(biāo)準(zhǔn)寫(xiě)入壽命的DC S3500(普通MLC閃存)可以作為VSAN數(shù)據(jù)驅(qū)動(dòng)器,即代替?zhèn)鹘y(tǒng)硬盤(pán)。
如果說(shuō)VSAN對(duì)應(yīng)的是閃存混合陣列的話(huà),那Intel上述玩法就要對(duì)應(yīng)全閃存陣列了,而且還是內(nèi)部帶有層級(jí)的。這個(gè)讓我想起了戴爾Compellent在SLC和MLC SSD之間做自動(dòng)分層存儲(chǔ)的做法。

看看性能測(cè)試的結(jié)果。在4KB數(shù)據(jù)塊大小,90%讀-10%寫(xiě)完全隨機(jī)訪(fǎng)問(wèn)的情況下,當(dāng)(在4臺(tái)物理機(jī)上的)虛擬機(jī)數(shù)量從4、8、16一直增加到32,全SSD VSAN的IOPS一直在上升,領(lǐng)先就不用說(shuō)了;而帶有緩存的HDD配置則在16個(gè)VM時(shí)就下降到低于4個(gè)VM的水平。
至于延時(shí)(Lantency),盡管全SSD VSAN和緩存HDD配置都隨虛擬機(jī)增加而上升,但前者明顯趨勢(shì)較為平緩。造成這種情況的原因,后面我們會(huì)有簡(jiǎn)單分析。

繼續(xù)來(lái)看70%讀-30%寫(xiě)(這個(gè)比例正好符合)完全隨機(jī)訪(fǎng)問(wèn)的情況,這時(shí)緩存HDD配置的表現(xiàn)相對(duì)好了些——VM數(shù)量從8到16,IOPS上升而延時(shí)下降;但到了32個(gè)VM時(shí)與全SSD VSAN的差距又拉大了。
當(dāng)測(cè)試工作負(fù)載的讀寫(xiě)比例,與VSAN SSD緩存的讀寫(xiě)比(默認(rèn)70-30)相同或者接近時(shí),緩存的效果理論上相對(duì)最好。
(注:具體測(cè)試配置參見(jiàn)Intel技術(shù)課程資料《使用固態(tài)盤(pán)打造響應(yīng)性能更高、成本更低的數(shù)據(jù)中心》最后一頁(yè))

這個(gè)是Intel的測(cè)試結(jié)論,其中包括幾點(diǎn):
1.基于固態(tài)盤(pán)的虛擬機(jī)擴(kuò)展能力比基于機(jī)械硬盤(pán)的要好。
2.70/30 讀寫(xiě)比分割了緩存驅(qū)動(dòng)器,從而限制了固態(tài)盤(pán)的性能——按容量分割的同時(shí),也會(huì)帶來(lái)I/O性能的爭(zhēng)用,畢竟標(biāo)準(zhǔn)VSAN設(shè)計(jì)是追求性?xún)r(jià)比的。
3.固態(tài)盤(pán)提供了高達(dá)2-3倍的性能提升和 2到3倍的時(shí)延降低。
最終Intel建議在全閃存配置中使用DC S3700作為VSAN的緩存盤(pán),而不是性能/價(jià)格更高的SSD 910。我覺(jué)得是因?yàn)椤昂蠖舜鎯?chǔ)”已經(jīng)從硬盤(pán)換成了SSD,所以緩存盤(pán)對(duì)性能的影響相對(duì)減少了。
讓我們等著看看,有哪些“高富帥”用戶(hù)會(huì)選擇這樣的全閃存VSAN吧。
SSD對(duì)Hadoop的意義在哪里?

SSD對(duì)于Hadoop這種分布式存儲(chǔ)究竟有沒(méi)有意義?我見(jiàn)到不止一次有人提出這樣的話(huà)題。如上圖:代表性的HDFS文件系統(tǒng)特點(diǎn)是“128MB-256MB順序IO操作;單次寫(xiě)入,多次讀取,偶爾產(chǎn)生讀寫(xiě)平衡;臨時(shí)/中間數(shù)據(jù)產(chǎn)生磁盤(pán)競(jìng)爭(zhēng)?!?/p>

這是SSD加速20節(jié)點(diǎn)Hadoop集群的概況介紹,測(cè)試負(fù)載是在“公司‘大數(shù)據(jù)’的子集中做特定的實(shí)時(shí)查詢(xún)(RTQ)”。

“Hadoop依賴(lài)于帶寬和數(shù)據(jù)吞吐量”——這個(gè)符合我們之前的了解。通過(guò)“將MapReduce臨時(shí)/中間數(shù)據(jù)寫(xiě)入SSD DC S3700(每節(jié)點(diǎn)一塊),來(lái)緩解機(jī)械硬盤(pán)的競(jìng)爭(zhēng)”,Intel給出的方案是使用他們收購(gòu)的“緩存加速軟件(Cache Acceleration Software)+ DC S3700或者910 SSD為數(shù)據(jù)硬盤(pán)實(shí)現(xiàn)讀/寫(xiě)緩存。加速Terasort任務(wù)的效果最高可達(dá)42%?!?/p>
這里我要解釋一點(diǎn):SSD“高達(dá)500MB/s的順序帶寬”理論上通過(guò)多塊硬盤(pán)并寫(xiě)讀寫(xiě)也是可以達(dá)到的,但關(guān)鍵在于實(shí)際應(yīng)用中并不總是理想的順序訪(fǎng)問(wèn),當(dāng)一個(gè)硬盤(pán)同時(shí)響應(yīng)多個(gè)請(qǐng)求時(shí),順序的負(fù)載一定程度上就變成了隨機(jī)(需要不斷尋道在不同任務(wù)中切換)。
我記得LSI的Nytro MegaRAID——基于RAID卡實(shí)現(xiàn)的SSD緩存方案,也做過(guò)類(lèi)似的Hadoop性能測(cè)試。
Storage Foundation 6.1 FSS軟件定義存儲(chǔ)

這張圖的左上角,大家也看到賽門(mén)鐵克的logo了。他們描述的“一級(jí)(Tier 1)存儲(chǔ)”以EMC VMAX為代表,通過(guò)捆綁大量硬盤(pán)來(lái)實(shí)現(xiàn)高IOPS,通常會(huì)帶來(lái)容量的浪費(fèi),以及高昂的每IOP成本。
即使換成現(xiàn)在的全閃存陣列,比如IBM FlashSystem(原TMS)和Violin Memory等,往往還是價(jià)格不菲。

如果要想將閃存存儲(chǔ)的硬件成本最小化,本地直連是最好的選擇,同時(shí)還有利于性能發(fā)揮特別是減少了存儲(chǔ)網(wǎng)絡(luò)帶來(lái)的延時(shí)。Symantec Storage Foundation存儲(chǔ)軟件 + Intel SSD,在單機(jī)上跑Oracle數(shù)據(jù)倉(cāng)庫(kù)可以達(dá)到380k 事物/每分鐘,性能達(dá)到傳統(tǒng)SAN磁盤(pán)陣列的4.5倍,而成本只有SAN的20%(按照VMAX 1/5可用容量進(jìn)行對(duì)比)。
不過(guò),上述配置沒(méi)有節(jié)點(diǎn)間的冗余高可用。即使我們用ASM來(lái)做磁盤(pán)鏡像,服務(wù)器上其它組件還是存在單點(diǎn)故障。

不要忘了賽門(mén)鐵克還有集群文件系統(tǒng),傳統(tǒng)的Storage Foundation應(yīng)該是做雙機(jī)雙柜(即兩臺(tái)陣列)配置多一些,因?yàn)橹鳈C(jī)和存儲(chǔ)之間具備完整的SAN網(wǎng)絡(luò)互連。而今的軟件定義存儲(chǔ)時(shí)代,用DAS方式連接的SSD,通過(guò)集群文件系統(tǒng)組成帶有鏡像保護(hù)的邏輯共享訪(fǎng)問(wèn)存儲(chǔ),性?xún)r(jià)比會(huì)更高一些。此時(shí)獲得了數(shù)據(jù)冗余、服務(wù)器集群(包括存儲(chǔ)單元)之間的故障轉(zhuǎn)移、災(zāi)難恢復(fù)能力,并且不需要管理高端存儲(chǔ)的專(zhuān)業(yè)運(yùn)維人員。
這種配置下,由于InfiniBand高速網(wǎng)絡(luò)的數(shù)據(jù)同步開(kāi)銷(xiāo),性能小幅下降到320k 事物/每分鐘 和 SAN的4.5倍,成本也沒(méi)有明顯上升。

上面是廠(chǎng)商給出的總結(jié),當(dāng)然SSD換成Intel以外別的家,效果也是類(lèi)似的。

這張照片是我前一段在發(fā)布會(huì)上拍攝的。剛才提到的方案應(yīng)該就是Storage Foundation 6.1新增的FSS,它的結(jié)構(gòu)有些類(lèi)似于VSAN。另外左邊還有一個(gè)SmartIO——用分布式SSD緩存來(lái)加速后端的SAN共享存儲(chǔ),它支持卷(塊設(shè)備)上的讀緩存和文件系統(tǒng)上的寫(xiě)緩存。
根據(jù)我之前的了解,目前這一版本還只支持Linux,沒(méi)有提到Windows和VMware等。另外,Storage Foundation的部署對(duì)數(shù)據(jù)是“破壞性”的,這也是所有基于文件系統(tǒng)的高可用方案的共同特點(diǎn)。
沃趣科技QData 雙RAC節(jié)點(diǎn)FREE-SAN
上面的Storage Foundation FSS,讓我想起了不久前國(guó)內(nèi)沃趣科技推出的QDataOracle數(shù)據(jù)庫(kù)一體機(jī)——雙RAC節(jié)點(diǎn)FREE-SAN,由幾位前阿里巴巴DBA大牛帶隊(duì),通過(guò)對(duì)數(shù)據(jù)庫(kù)架構(gòu)的精深理解進(jìn)行深度定制化的產(chǎn)品。

這個(gè)圖畫(huà)的略顯簡(jiǎn)陋,大致意思是使用兩臺(tái)服務(wù)器內(nèi)部的盤(pán)(PCIe閃存卡)通過(guò)雙IB鏈路Q(chēng)link,替代傳統(tǒng)Oracle RAC集群的共享存儲(chǔ),同時(shí)仲裁盤(pán)(voting disk)應(yīng)該也是雙冗余鏈路來(lái)實(shí)現(xiàn)節(jié)點(diǎn)間的鏡像同步。

我們看到,在Qlink 40Gb InfiniBand存儲(chǔ)層之上,RAC節(jié)點(diǎn)實(shí)例可以像對(duì)待2臺(tái)共享磁盤(pán)陣列那樣部署ASM/CLVM數(shù)據(jù)冗余。
沃趣的資料中這樣描述:“QLink 基于 40Gb infiniband + PCIe Flash 在兩個(gè)RAC節(jié)點(diǎn)之間互相輸出高性能的IO 能力;雙鏈路 Active/Active 確保IO性能和 IO的穩(wěn)定性”。
怎么樣,有點(diǎn)IB SAN對(duì)連的感覺(jué)吧?總之這個(gè)方案是可以替代Storage Foundation 6.1 FSS(for RAC)的,至于價(jià)格等更多詳情我就不清楚了。
總結(jié)
最后還是那句話(huà),閃存以及本文中討論的解決方案,就像全閃存陣列那樣,對(duì)傳統(tǒng)企業(yè)級(jí)存儲(chǔ)產(chǎn)品帶來(lái)的沖擊是不可避免的,只是早晚、程度不同而已。相關(guān)廠(chǎng)商如果不自己跟上創(chuàng)新、變革的潮流,就會(huì)被別人“革命”,而存儲(chǔ)只是IT技術(shù)發(fā)展的一個(gè)角落。