存儲極客談“為什么說VSAN與Dell SC漸行漸近?”
最近業(yè)內(nèi)有本很火的書《軟件定義存儲:原理、實踐與生態(tài)》,其主要作者葉毓睿(Peter Ye)先生現(xiàn)任VMware存儲架構(gòu)師,曾任職于EMC、Compellent和戴爾公司,在書中撰寫了包括VSAN在內(nèi)的多個VMware相關(guān)章節(jié),以及“內(nèi)存虛擬化與SDS及Dell Fluid Cache”。
從這個技術(shù)背景來看,我覺得書中或許可以做些進一步的分析?比如VSAN與Dell SC(Compellent)之間有沒有共通之處?軟件定義存儲與傳統(tǒng)陣列之間有哪些互相借鑒等。而恰好我之前對這方面有過一點思考,在此整理下自己的心得,希望能拋磚引玉吧。
去年我們曾經(jīng)撰寫過《存儲極客:自動分層存儲 PK. SSD緩存》一文,算是個初步的討論。前不久又看到有同行朋友在評價孰優(yōu)孰劣,當然技術(shù)只是一方面,有時也會存在商業(yè)立場的因素。本文我想更多從設(shè)計取舍的角度來談,每種技術(shù)都有其不足或者說代價,只看對具體的用戶環(huán)境哪種更合適罷了。
首先以VSAN為例,在它的SSD+HDD混合存儲配置中,默認的讀/寫緩存比例為7:3。其中SSD寫緩存也被稱為日志,進入的數(shù)據(jù)除了被覆蓋寫入所合并的那些,最終都是要落到HDD層的。
自動分層存儲則會有個優(yōu)先寫入位置,比如像Dell SC為了保證寫性能,會一直寫入高性能Tire1分層的RAID 10區(qū)域,然后再生成Replay(快照)后臺定期將數(shù)據(jù)轉(zhuǎn)存為RAID 5/6或者移動到Tier2/3容量分層。
這里還是先討論SSD+HDD自動分層,Dell SC是個讀寫分離的設(shè)計,一旦數(shù)據(jù)“下沉”移動到Tier2/3,再有讀操作訪問就要依賴所在分層的磁盤性能。為了進一步實現(xiàn)冷熱數(shù)據(jù)自動調(diào)度的智能,它還包含一個數(shù)據(jù)回遷的策略,也就是會長期統(tǒng)計頁面(數(shù)據(jù)塊)的活躍度。
表面上看SSD緩存的機制相對簡單,但也有不足之處——比如閃存容量不計入用戶總存儲空間,并且通常不能配置太大。自動分層存儲在這些方面要好一些,而用戶在實踐中也有需要注意之處,特別是初次做配置應該聽從專業(yè)人員的建議,這里也體現(xiàn)出存儲顧問經(jīng)驗的重要性。
而到了全閃存時代,有人說不再需要分層存儲了,而我卻看到自動分層的設(shè)計也可以因為All-Flash而變得更加簡單高效。
也許有讀者朋友會問:一個是軟件定義的分布式存儲,一個仍屬于傳統(tǒng)雙控陣列,它們之間有可比性嗎?
從前我也不這樣認為,而在去年撰寫的《vForum隨筆:全閃存VSAN和Nimble CASL的創(chuàng)新》一文中,可以看出有些變化了。
VSAN的第一個版本隨同vSphere 5.5發(fā)布,從vSphere 6.0開始,新的VSAN正式支持全閃存配置。所有寫入數(shù)據(jù)一律進入寫性能/壽命相對較高的緩存層SSD,然后逐漸“下沉”至相對廉價的容量層SSD;由于兩種SSD的讀性能并沒有明顯的差距,因此不再需要專門設(shè)計讀緩存,容量層的數(shù)據(jù)直接讀就好了。
講到這里,如果是對Dell SC系列存儲比較熟悉的朋友,估計也會有和我一樣的感覺,是不是比較相似呢?
上面這張圖,冬瓜哥在《淺析固態(tài)介質(zhì)在存儲系統(tǒng)中的應用方式》一文中也曾引用,我在這里不做過多講述,有興趣的讀者可以點擊上述文章鏈接。
Compellent數(shù)據(jù)分級的精髓在于和Replay(快照)技術(shù)緊密集成。當然Dell SC不只支持2個分層,在寫密集型 + 讀密集型SSD基礎(chǔ)上還可以加入磁盤來存儲更“冷”的數(shù)據(jù)。
根據(jù)上圖中的5種配置文件,在同一臺SC陣列當中也可以混合使用不同的自動分層存儲策略。比如第三種是比較常用的全閃存SLC+MLC(資料有點老了,現(xiàn)在的寫密集型SSD不一定都用SLC);而像Oracle redo log這樣的寫密集型數(shù)據(jù)采用第二種配置(或者全硬盤RAID 10)不做數(shù)據(jù)調(diào)度顯然更合適一些。
至于VSAN呢,我覺得更多考慮的是簡單易用,支持虛擬化環(huán)境中的大多數(shù)應用即可,因此目前全閃存還只能分層。不過也有同行朋友看了我當初寫的這些之后,認為將來VSAN也可能支持“單一分層”的全閃存配置。
類似的情況還出現(xiàn)在Peter在《軟件定義存儲:原理、實踐與生態(tài)》一書185頁所寫:“全閃存配置中的持久化層是SSD,被頻繁寫的數(shù)據(jù)(也即熱數(shù)據(jù))仍然停留在緩存層,而那些較少訪問的數(shù)據(jù)才會被刷進持久化層(也即提供容量的SSD)。”
而就像我在《為什么說全閃存VMAX替代不了XtremIO?》一文中寫的,Dell SC全閃存分層的建議是每天業(yè)務不繁忙時段執(zhí)行一次數(shù)據(jù)遷移(時間和頻率可調(diào)),將寫密集型SSD分層中的數(shù)據(jù)盡量轉(zhuǎn)移到讀密集型SSD,從而保證第二天新的寫入獲得最好的性能。
這里我們可以看到全閃存陣列與大多數(shù)Server SAN/超融合存儲之間的設(shè)計理念有些不同。同樣是數(shù)據(jù)在不同存儲介質(zhì)之間的“刷盤”動作,VSAN等的執(zhí)行策略不算積極,這樣在長時間持續(xù)寫入壓力后容易出現(xiàn)與后臺調(diào)度任務的性能爭用;而Dell SC則會盡可能避免這種情況,可以說各有側(cè)重吧。
隨著時間的發(fā)展,在《全閃存專享:VSAN 6.2重復數(shù)據(jù)刪除、糾刪碼淺析》一文中,我介紹過VSAN 6.2的“近線”重刪和壓縮設(shè)置在disk group這一級別,只在全閃存配置VSAN從緩存分層“下沉”數(shù)據(jù)到容量分層時執(zhí)行,并在重復數(shù)據(jù)刪除之后進行壓縮。
這一點,又讓我想起了Dell SC存儲的數(shù)據(jù)壓縮和重刪功能。
作為一款“軟件定義”的雙控存儲陣列。戴爾在SCOS存儲軟件——Storage Center 6.7版本中引入數(shù)據(jù)壓縮:除了單層、RI(讀密集型)/ WI(寫密集型)SSD分層全閃存陣列之外,在全HDD陣列和混合陣列配置上也可以打開壓縮功能,如上圖。
而到了前幾個月推出的SCOS 7.0軟件版本,重復數(shù)據(jù)刪除也成為一個選項。即打開重刪時一定有壓縮,而壓縮則可以單獨開啟。
除了“智能重復數(shù)據(jù)刪除之外”,SCOS 7的增強特性中還包括Live Migrate – Federation(可以理解為建立在Live Volume雙活基礎(chǔ)上的存儲聯(lián)邦)、QoS和VVoLs;另外Dell Storage Manager統(tǒng)一管理平臺加入了SC(Compellent)和PS(EqualLogic)之間跨產(chǎn)品家族的雙向存儲復制,而不只是一次性遷移。
VSAN 6.2中的數(shù)據(jù)縮減特性,和戴爾SC陣列的增強型壓縮有些類似,都是通過與自動分層存儲(Tier)/緩存分層(Cache)機制相結(jié)合,其重刪/壓縮動作成為定期執(zhí)行的后臺任務,從而有效避免了數(shù)據(jù)寫入高性能分層時的性能影響。
VSAN 6.2為什么只在全閃存配置上支持重刪和壓縮?除了閃存更需要提高利用率之外,我覺得這個問題從技術(shù)原理上不難回答:因為傳統(tǒng)SSD+HDD的VSAN配置中閃存和硬盤的容量配比官方建議1:10,由于讀寫性能都比較依賴SSD,緩存中讀/寫緩存默認比例又是7:3,此時SSD寫緩存只有大約卷容量的3%。一旦占滿導致數(shù)據(jù)向后落硬盤時,如果加入重刪/壓縮很可能會影響到性能體驗。
相比之下,Dell SC存儲的配置靈活性要大許多,不同分層的盤數(shù)、容量比例可以按需設(shè)計,而且Tier1也是優(yōu)先保證寫入數(shù)據(jù)的。正如我以前表達過的,這些是產(chǎn)品定位和設(shè)計理念上的不同,沒有絕對的好壞之分。
總之,傳統(tǒng)集中式存儲也罷,分布式的軟件定義存儲也罷,為了應對需求而采用類似的技術(shù)是很正常的。站在這個角度來就會發(fā)現(xiàn)它們之間存在一些有意思的聯(lián)系。



























 
 
 


 
 
 
 